# # $Id$ # # make/leaf.cfg # # Make(1) configuration file include'd by all leaf-node Makefiles # # # list of all known managers # This list is used, along with $(MANAGERS) (set by app makefile) # to build the list of *not wanted* drivers. # # ref: target compiler config file for usage # MANAGER_LIST=barrier dpmem event io msg mp part MANAGER_LIST+=region sem signal timer rtmon ext # Convert *real* spellings in $(MANAGERS) (set # in application makefile) to their "correct" name. # (I hate abbreviations :-) MANAGERS := $(patsubst message, msg, $(MANAGERS)) MANAGERS := $(patsubst multi_processor, mp, $(MANAGERS)) MANAGERS := $(patsubst partition, part, $(MANAGERS)) MANAGERS := $(patsubst rate_monotonic, rtmon, $(MANAGERS)) MANAGERS := $(patsubst semaphore, sem, $(MANAGERS)) MANAGERS := $(patsubst dual_ported_memory, dpmem, $(MANAGERS)) MANAGERS := $(patsubst extension, ext, $(MANAGERS)) # allow 'all' to mean all managers MANAGERS := $(patsubst all, $(MANAGER_LIST), $(MANAGERS)) # and finally rip out duplicates MANAGERS := $(sort $(MANAGERS)) # List (possibly empty) of required managers MANAGERS_REQUIRED= # Create a RTEMS executable based on MANAGERS which was set in # app's Makefile MANAGERS_NOT_WANTED=$(filter-out $(MANAGERS) \ $(MANAGERS_REQUIRED), $(MANAGER_LIST)) # 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).o endif # Allow user to override link commands (to build a prom image, perhaps) ifndef LINKCMDS LINKCMDS=$(PROJECT_RELEASE)/lib/linkcmds endif ## what to do about $(EXEEXT) --> $(EXEEXT) ## -o $(basename $@)$(EXEEXT) OR ## -o $(basename $@)$(EXEEXT) OR DOWNEXT=.ralf define bsp-link-c $(LINK.c) $(CPU_CFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) \ -o $(basename $@).exe $(LINK_OBJS) $(LINK_LIBS) endef define bsp-link-cxx $(LINK.cc) $(CPU_CFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) \ -o $(basename $@).exe $(LINK_OBJS) $(LINK_LIBS) endef define default-bsp-post-link $(NM) -g -n $@ > $(basename $@).num $(SIZE) $@ endef ifndef bsp-post-link define bsp-post-link $(default-bsp-post-link) cp $(basename $@).exe $(basename $@)$(DOWNEXT) endef endif define make-exe $(bsp-link-c) $(bsp-post-link) endef define make-cxx-exe $(bsp-link-cxx) $(bsp-post-link) endef