# # $Id$ # @SET_MAKE@ srcdir = @srcdir@ VPATH = @srcdir@:@srcdir@/../../../shared RTEMS_ROOT = @top_srcdir@ PROJECT_ROOT = @PROJECT_ROOT@ PGM=${ARCH}/startup.rel NO_CTOR_LIB=${ARCH}/libno-ctor.a # C source names, if any, go here -- minus the .c C_PIECES=bspclean bsplibc bspstart setvec $(C_MAIN) C_FILES=$(C_PIECES:%=%.c) C_O_FILES=$(C_PIECES:%=${ARCH}/%.o) CC_PIECES=$(CXX_MAIN) CC_FILES=$(CC_PIECES:%=%.cc) CC_O_FILES=$(CC_PIECES:%=${ARCH}/%.o) H_FILES= SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) no-ctor.c OBJS=$(C_O_FILES) # We install the RTEMS constructor as a separate .o # so it can be easily place correctly by the compiler config file. INSTALLED_O_FILES=$(ARCH)/rtems-ctor.o include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg include $(RTEMS_ROOT)/make/leaf.cfg ifeq ($(RTEMS_HAS_CPLUSPLUS),yes) NO_CTOR_LIB=${ARCH}/libno-ctor.a INSTALLED_O_FILES=$(ARCH)/rtems-ctor.o CXX_MAIN=rtems-ctor C_MAIN= else CXX_MAIN= C_MAIN=main endif # # (OPTIONAL) Add local stuff here using += # DEFINES += CPPFLAGS += CFLAGS += $(LIBC_DEFINES) LD_PATHS += LD_LIBS += LDFLAGS += # # Add your list of files to delete here. The config files # already know how to delete some stuff, so you may want # to just run 'make clean' first to see what gets missed. # 'make clobber' already includes 'make clean' # CLEAN_ADDITIONS += CLOBBER_ADDITIONS += ${PGM}: ${SRCS} ${OBJS} $(make-rel) ${NO_CTOR_LIB}: $(ARCH)/no-ctor.o $(RM) $@ $(AR) -cvr $@ $(ARCH)/no-ctor.o all: ${ARCH} $(SRCS) $(INSTALLED_O_FILES) $(PGM) ${NO_CTOR_LIB} $(INSTALL_VARIANT) $(INSTALLED_O_FILES) ${PROJECT_RELEASE}/lib $(INSTALL_VARIANT) $(NO_CTOR_LIB) ${PROJECT_RELEASE}/lib