# # $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=dpmem event io msg mp part 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 # We require: # region -- used by lib/libcsupport for malloc() # ext -- used by libc for libc reentrancy hooks MANAGERS_REQUIRED=region ext sem # 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