📄 gcc-target-default.cfg
字号:
## Shared compiler for all GNU tools configurations## $Id: gcc-target-default.cfg,v 1.39 2002/11/18 00:43:21 joel Exp $# ### CFLAGS_OPTIMIZE_V, CFLAGS_DEBUG_V, CFLAGS_PROFILE_V are the values we# would want the corresponding macros to be set to.## CFLAGS_OPTIMIZE, CFLAGS_DEBUG, CFLAGS_PROFILE are set in the leaf# Makefiles by the 'debug:' and 'profile:' targets to their _V values.## default flags# XCPPFLAGS, XCFLAGS, XCXXFLAGS, XASFLAGS # are used to add flags from the shell# cf. make.info ("Implicit rules/variables" for details)# NOTE: Should these go to CPPFLAGS ?CFLAGS_DEFAULT=-g -Wall# NOTE: CPU_CFLAGS should probably be renamed to CPU_CPPFLAGS# NOTE: CPU_DEFINES should probably be merged with CPU_CFLAGSCPPFLAGS += $(CPU_DEFINES) $(CPU_CFLAGS) $(DEFINES) $(XCPPFLAGS)CFLAGS = $(CFLAGS_DEFAULT) $(XCFLAGS)CXXFLAGS = $(CFLAGS_DEFAULT) $(XCXXFLAGS)ASFLAGS = $(CPU_ASFLAGS) $(XASFLAGS)# NOTE: GCCSPECS probably belongs to CPPFLAGSGCCSPECS_OPTIMIZE_V =GCCSPECS_DEBUG_V = -qrtems_debugGCCSPECS_PROFILE_V =GCCSPECS = -B$(PROJECT_RELEASE)/lib/ -specs bsp_specs -qrtems GCCSPECS += $(GCCSPECS_$(VARIANT_V)_V)CC += $(GCCSPECS)CXX += $(GCCSPECS)CPPFLAGS += # Define this to yes if C++ is included in the development environment.# This requires that at least the GNU C++ compiler and libg++ be installed.ifeq ($(HAS_CPLUSPLUS),yes)CPLUS_LD_LIBS += $(PROJECT_RELEASE)/lib/librtems++$(LIBSUFFIX_VA)endif# debug flag;CFLAGS_DEBUG_V+=-Wno-unusedCXXFLAGS_DEBUG_V+=CFLAGS_DEBUG_V+=-qrtems_debugCXXFLAGS_DEBUG_V+=-qrtems_debug# when debugging, optimize flag: typically empty# some compilers do allow optimization with their "-g"CFLAGS_OPTIMIZE_V+=-gCXXFLAGS_OPTIMIZE_V+=-g# profile flag; use gprof(1)CFLAGS_PROFILE_V+=-pgCXXFLAGS_PROFILE_V+=-pgifndef AUTOMAKECFLAGS_$(VARIANT) =$(CFLAGS_$(VARIANT)_V)CXXFLAGS_$(VARIANT)=$(CXXFLAGS_$(VARIANT)_V)endififndef AUTOMAKECFLAGS += $(CFLAGS_OPTIMIZE) $(CFLAGS_DEBUG) $(CFLAGS_PROFILE)CXXFLAGS += $(CXXFLAGS_OPTIMIZE) $(CXXFLAGS_DEBUG) $(CXXFLAGS_PROFILE)endif# List of library paths without -LLD_PATHS= $(PROJECT_RELEASE)/lib# libraries you want EVERYONE to link with#LD_LIBS=# ld flag to ensure pure-text#LDFLAGS_MUST_BE_PURE_V =# ld flag for [un]shared objects#LDFLAGS_STATIC_LIBRARIES_V =#LDFLAGS_SHARED_LIBRARIES_V =# ld flag for incomplete linkLDFLAGS_INCOMPLETE = -r# Special linker options when building lib.soLDFLAGS_DYNAMIC_V = ??# Some dynamic linking systems want the preferred name recorded in the binaryLDFLAGS_DYNAMIC_LIBNAME_V = -h $(DYNAMIC_VERSION_LIBNAME)# ld flags for profiling, debuggingLDFLAGS_PROFILE_V =LDFLAGS_DEBUG_V = -qrtems_debug# LDFLAGS=$(LDFLAGS_PROFILE) $(LDFLAGS_DEBUG) $(LD_PATHS:%=-L%)LDFLAGS=$(LDFLAGS_PROFILE) $(LDFLAGS_DEBUG)## Stuff to clean and clobber for the compiler and its tools#CLEAN_CC = a.out *.o *.BAKCLOBBER_CC =## Client compiler and support tools## CPP command to write file to standard outputCPP=$(CC) -E -w -Wp,-$$# egrep regexp to ignore symbol table entries in ar archives.# Only used to make sure we skip them when coalescing libraries.# skip __.SYMDEF and empty names (maybe bug in ranlib??).AR_SYMBOL_TABLE="HIGHLY-UNLIKELY-TO-CONFLICT"ARFLAGS=ruv## How to compile stuff into ${ARCH} subdirectory#${ARCH}/%.o: %.c ${COMPILE.c} $(AM_CPPFLAGS) $(AM_CFLAGS) -o $@ $<${ARCH}/%.o: %.cc ${COMPILE.cc} $(AM_CPPFLAGS) $(AM_CXXFLAGS) -o $@ $<${ARCH}/%.o: %.cpp ${COMPILE.cc} $(AM_CPPFLAGS) $(AM_CXXFLAGS) -o $@ $<${ARCH}/%.o: %.cxx ${COMPILE.cc} $(AM_CPPFLAGS) $(AM_CXXFLAGS) -o $@ $<${ARCH}/%.o: %.C ${COMPILE.cc} $(AM_CPPFLAGS) $(AM_CXXFLAGS) -o $@ $<${ARCH}/%.o: %.S ${COMPILE.S} $(AM_CPPFLAGS) -DASM -o $@ $<# Make foo.rel from foo.o${ARCH}/%.rel: ${ARCH}/%.o ${make-rel}# create $(ARCH)/pgm from pgm.sh${ARCH}/%: %.sh $(RM) $@ $(CP) $< $@ $(CHMOD) +x $@# Dependency files for use by gmake# NOTE: we don't put them into $(ARCH)# so that 'make clean' doesn't blow it awayDEPEND=Depends-${ARCH}CLEAN_DEPEND=$(DEPEND).tmpCLOBBER_DEPEND=$(DEPEND)# We deliberately don't have anything depend on the# $(DEPEND) file; otherwise it will get rebuilt even# on 'make clean'#depend-am: $(C_FILES) $(CC_FILES) $(S_FILES)ifneq ($(words $(C_FILES) $(CC_FILES) $(S_FILES)), 0)# Use gcc -M to generate dependencies# Replace foo.o with $(ARCH)/foo.o# Replace $(ARCH) value with string $(ARCH)# so that it will for debug and profile cases $(COMPILE.c) $(AM_CPPFLAGS) $(AM_CFLAGS) -M $^ | \ $(SED) -e 's?^\(.*\)\.o[ ]*:?$$(ARCH)/\1.o:?' \ -e 's?$(ARCH)/?$$(ARCH)/?' >$(DEPEND).tmp $(MV) $(DEPEND).tmp $(DEPEND)endifdepend: depend-am# spell out all the LINK_FILE's, rather than using -lbsp, so# that $(LINK_FILES) can be a dependency# Start file must be one of# $(PROJECT_RELEASE)/lib/start$(LIB_VARIANT).o# $(PROJECT_RELEASE)/lib/asmiface$(LIB_VARIANT).o# It defaults to start.o, but an app can override it.ifeq ($(START_BASE),) START_FILE=else START_FILE=$(PROJECT_RELEASE)/lib/$(START_BASE)$(LIB_VARIANT).oendif## NOTE: a rule to link an rtems' application should look similar to this# (cf. "make-exe" in make/custom/*.cfg): ## gcc28:# $(PGM): $(LINK_FILES)# $(CC) $(CFLAGS) -o $@ $(LINK_OBJS) $(LINK_LIBS)#LINK_OBJS =\ $(CONSTRUCTOR) \ $(OBJS) \ $(MANAGERS_NOT_WANTED:%=$(PROJECT_RELEASE)/lib/no-%$(LIB_VARIANT).rel)LINK_FILES =\ $(START_FILE) \ $(CONSTRUCTOR) \ $(OBJS) \ $(MANAGERS_NOT_WANTED:%=$(PROJECT_RELEASE)/lib/no-%$(LIB_VARIANT).rel) \ $(PROJECT_RELEASE)/lib/librtemsbsp$(LIBSUFFIX_VA) \ $(PROJECT_RELEASE)/lib/librtemscpu$(LIBSUFFIX_VA)LINK_LIBS += $(LD_LIBS) ## Allow user to override link commands (to build a prom image, perhaps)#ifndef LINKCMDSLINKCMDS=$(PROJECT_RELEASE)/lib/linkcmdsendifdefine make-rel $(LINK.c) $(CFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) \ -qnolinkcmds -nostdlib -Wl,-r $(XLDFLAGS) -o $@ $^endef
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -