Lines Matching +full:c +full:- +full:cpp

1 #-------------------------------------------------------------------------------
2 # Copyright (c) 2001-2019, Arm Limited. All rights reserved.
4 # SPDX-License-Identifier: BSD-3-Clause
6 #-------------------------------------------------------------------------------
15 # SOURCES_<target name> = The list of source files to create the binary target (currently assumes C)
36 CFLAGS += -c -D$(ARCH_ENDIAN)__ENDIAN -DHASLONGLONG
37 CFLAGS += $(foreach incdir,$(INCDIRS),-I$(incdir))
39 MM = -MM
40 ifeq ($(CROSS_COMPILE),arm-dsm-)
41 CFLAGS += -I/cadtools/arm/arm_realview/RVCT/Data/2.2/349/include/unix -D__ARM_DSM__
43 MM = --mm
44 CFLAGS += -D__ARM_DS5__ --diag_error=warning #--strict --strict_warnings
45 ARFLAGS = -rcs
47 CFLAGS += -D__ARM_DS__ --c99 --strict --strict_warnings
48 ARFLAGS = -rcs
49 MM = --mm
51 CFLAGS += -Wall
52 CFLAGS += -Wsign-compare
53 CFLAGS += -Wextra
54 CFLAGS += -Wpointer-arith
55 CFLAGS += -Wcast-align
56 CFLAGS += -Wstrict-prototypes
57 CFLAGS += -Wwrite-strings
58 CFLAGS += -Wswitch-default
59 CFLAGS += -Wunreachable-code
60 CFLAGS += -Winit-self
61 CFLAGS += -Wmissing-field-initializers
62 CFLAGS += -Werror=undef
63 CFLAGS += -Werror -Wfatal-errors
64 ARFLAGS = -rcs
66 CFLAGS += -Wall
67 CFLAGS += -Wsign-compare
68 CFLAGS += -Wextra
69 CFLAGS += -Wpointer-arith
70 CFLAGS += -Wcast-align
71 CFLAGS += -Wstrict-prototypes
72 CFLAGS += -Wwrite-strings
73 CFLAGS += -Wswitch-default
74 CFLAGS += -Wunreachable-code
75 CFLAGS += -Winit-self
76 CFLAGS += -Wjump-misses-init
77 CFLAGS += -Wlogical-op
78 CFLAGS += -Wmissing-field-initializers
79 CFLAGS += -Werror=undef
80 CFLAGS += -Werror -Wfatal-errors
81 #CFLAGS += -finstrument-functions
83 #CFLAGS += -D__STDC_VERSION__=19900L
86 LDFLAGS = $(foreach libdir,$(LIBDIRS),-L$(libdir))
88 LDFLAGS += -Wl,--start-group
89 LDFLAGS += $(foreach lib,$(DEPLIBS),-l$(lib))
90 LDFLAGS += -Wl,--end-group
92 ifeq ($(CROSS_COMPILE),arm-none-eabi-)
93 LDFLAGS += -lc -lm -lrdimon
96 LDFLAGS += -lpthread
100 ifneq ($(filter $(CROSS_COMPILE),arm-dsm- armcc),$(CROSS_COMPILE))
101 LDFLAGS += -Wl,-rpath=.
104 # C++ compilation
107 CFLAGS += -D__$(ARCH)__
114 # -fPIC not needed for x86win.
117 CFLAGS += -fPIC
123 DEPLIBS_FILES = $(foreach lib, $(strip $(DEPLIBS)), $(shell find $(LIBDIRS) -name $(LIBPRE)$(lib)$(…
127 CFLAGS += -O0 -DDEBUG
129 CFLAGS += -g
131 ifneq ($(CROSS_COMPILE),$(filter $(CROSS_COMPILE),arm-dsm- arm))
132 CFLAGS += -g3
136 CFLAGS += -O2
148 -$(RMDIR) $(BUILDDIR)
149 -$(RM) $(LOGFILE)
152 -$(if $(TARGET_EXES), $(RM) $(foreach exe, $(TARGET_EXES), $(RELEASE_EXEDIR)/$(exe)$(EXEEXT)))
153-$(if $(TARGET_LIBS),$(RM) $(foreach lib, $(TARGET_LIBS), $(RELEASE_LIBDIR)/$(LIBPRE)$(lib)$(LIBEX…
154-$(if $(PUBLIC_INCLUDES),$(RM) $(foreach inc, $(PUBLIC_INCLUDES), $(RELEASE_INCDIR)/$(notdir $(inc…
155-$(if $(subst freertos,,$(TEE_OS)),,$(if $(TEST_INCLUDES),$(RM) $(foreach inc, $(TEST_INCLUDES), $…
156-$(if $(PUBLIC_SCRIPTS),$(RM) $(foreach scr, $(PUBLIC_SCRIPTS), $(RELEASE_SCRDIR)/$(notdir $(scr))…
157 -$(if $(PUBLIC_DATA),$(RM) $(foreach scr, $(PUBLIC_DATA), $(RELEASE_DATDIR)/$(notdir $(scr))))
163 @if [ ! -d $@ ] ; then $(ECHO) [MKDIR] $@ ; fi
164 @if [ ! -d $@ ] ; then $(call exec_logged,$(MKDIR) $@ ) ; fi
170 ### Generate rules for releasing (non-built resources) files
173 @$(ECHO) [CP] $$< --\> $(RELEASE_$(2)DIR)
182 @$(ECHO) [CP] $$< --\> $(KERNEL_TEST_DIR)
206 C_SOURCES_$(1) = $$(filter %.c,$$(SOURCES_$(1)))
207 CPP_SOURCES_$(1) = $$(filter %.cpp,$$(SOURCES_$(1)))
208 OBJECTS_FROM_C_$(1) = $$(addprefix $(BUILDDIR)/,$$(patsubst %.c,%$(OBJEXT),$$(filter-out $(BUILDDIR…
209 OBJECTS_FROM_GENERATED_C_$(1) = $$(patsubst %.c,%$(OBJEXT),$$(filter $(BUILDDIR)/%,$$(C_SOURCES_$(1…
210 OBJECTS_FROM_CPP_$(1) = $$(addprefix $(BUILDDIR)/,$$(patsubst %.cpp,%$(OBJEXT),$$(CPP_SOURCES_$(1))…
225 $(foreach lib,$(TARGET_LIBS), $(eval -include $(OBJECTS_INTERNAL_$(lib):%.o=%.dep)))
230 TEST_ECHO_RULE = $(ECHO) [CP] $(RELEASE_LIBDIR)/$(1) $< --\> $(KERNEL_TEST_DIR)/$(1)
231 LIB_ECHO_RULE = $(ECHO) [CP] $(RELEASE_LIBDIR)/$(1) $< --\> $(KERNEL_LIB_DIR)/$(1)
236 @$(ECHO) [CP] $< --\> $(RELEASE_LIBDIR)
240 …)),, $(foreach lib, $(DEPLIBS), $(ECHO) [CP] $(RELEASE_LIBDIR)/lib$(lib).a --\> $(KERNEL_LIB_DIR)/…
247 @$(ECHO) [LD] $$^ --\> $$@ # Dynamic library linkage
248 @$(call exec_logged_evaled,$(CC) -shared -o $$@ $$^ )
255 @$(ECHO) [AR] $$^ --\> $$@ # Library archive linkage
266 $(foreach exe,$(TARGET_EXES), $(eval -include $(OBJECTS_INTERNAL_$(exe):%.o=%.dep)))
269 @$(ECHO) [CP] $< --\> $(RELEASE_EXEDIR)
275 @$(ECHO) [LD] $$^ --\> $$@ # Executable linkage
276 @$(call exec_logged_evaled,$(LD) $$(filter-out %$(LIBEXT),$$^) $(LDFLAGS) -o $$@ )
281 # Default implicit compile rule assuming C source code (+dependency generation)
282 $(OBJECTS_FROM_C): $(BUILDDIR)/%$(OBJEXT): %.c $(call DEPENDENCY_ON_EXISTENCE_OF,$(BUILDDIR)) $(add…
283 @$(ECHO) [CC] $< --\> $@ # Compilation
284 @$(call exec_logged,$(CC) $(CFLAGS) $< -o $@ )
285 @#$(ECHO) [MM] $(@:.o=.dep) \<-- $@ # Generate dependency of object when generated
288 … $(call exec_logged,$(SHELL) -ec '$(CC) -M $(CFLAGS) $< | sed '\''s/\($*\)\.o[ :]*/\1.o $@ : /g'\'…
292 # Default implicit compile rule assuming C++ source code (+dependency generation)
293 $(OBJECTS_FROM_CPP): $(BUILDDIR)/%$(OBJEXT): %.cpp $(call DEPENDENCY_ON_EXISTENCE_OF,$(BUILDDIR)) $…
294 @$(ECHO) [CPP] $< --\> $@ # Compilation
295 @$(call exec_logged,$(CPP) $(CPPFLAGS) $< -o $@ )
296 @#$(ECHO) [MM] $(@:.o=.dep) \<-- $@ # Generate dependency of object when generated
297 @$(call exec_logged,$(CP) -MM $(CPPFLAGS) $< | sed 's~.*\.o:~$(BUILDDIR)/&~' > $(BUILDDIR)/$*.dep )
301 # Default implicit compile rule assuming generated C stub source code (+dependency generation)
302 $(OBJECTS_FROM_GENERATED_C): $(BUILDDIR)/%$(OBJEXT): $(PWD)/$(BUILDDIR)/%.c $(addprefix $(RELEASE_I…
303 @$(ECHO) [CC4GEN] $< --\> $@ # Compilation
304 @$(call exec_logged,$(CC) $(CFLAGS) $< -o $@ )
305 @#$(ECHO) [MM] $(@:.o=.dep) \<-- $@ # Generate dependency of object when generated
306 @$(call exec_logged,$(CC) -MM $(CFLAGS) $< | sed 's~.*\.o:~$(BUILDDIR)/&~' > $(BUILDDIR)/$*.dep )