summaryrefslogblamecommitdiffstats
path: root/c/src/make/leaf.cfg
blob: fec03c34d127bf86c5869f6121f15ad8ea9873ae (plain) (tree)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16















                                                                   

                                                


















                                                              
                                            
                  






                                                              












                                                                       
     
#
#  $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