[c1c1f33] | 1 | # |
---|
| 2 | # $Id$ |
---|
| 3 | # |
---|
| 4 | # make/leaf.cfg |
---|
| 5 | # |
---|
| 6 | # Make(1) configuration file include'd by all leaf-node Makefiles |
---|
| 7 | # |
---|
| 8 | |
---|
| 9 | # |
---|
| 10 | # list of all known managers |
---|
| 11 | # This list is used, along with $(MANAGERS) (set by app makefile) |
---|
| 12 | # to build the list of *not wanted* drivers. |
---|
| 13 | # |
---|
| 14 | # ref: target compiler config file for usage |
---|
| 15 | # |
---|
| 16 | |
---|
[d54c028] | 17 | MANAGER_LIST=barrier dpmem event io msg mp part |
---|
| 18 | MANAGER_LIST+=region sem signal timer rtmon ext |
---|
[c1c1f33] | 19 | |
---|
| 20 | # Convert *real* spellings in $(MANAGERS) (set |
---|
| 21 | # in application makefile) to their "correct" name. |
---|
| 22 | # (I hate abbreviations :-) |
---|
| 23 | |
---|
| 24 | MANAGERS := $(patsubst message, msg, $(MANAGERS)) |
---|
| 25 | MANAGERS := $(patsubst multi_processor, mp, $(MANAGERS)) |
---|
| 26 | MANAGERS := $(patsubst partition, part, $(MANAGERS)) |
---|
| 27 | MANAGERS := $(patsubst rate_monotonic, rtmon, $(MANAGERS)) |
---|
| 28 | MANAGERS := $(patsubst semaphore, sem, $(MANAGERS)) |
---|
| 29 | MANAGERS := $(patsubst dual_ported_memory, dpmem, $(MANAGERS)) |
---|
| 30 | MANAGERS := $(patsubst extension, ext, $(MANAGERS)) |
---|
| 31 | |
---|
| 32 | # allow 'all' to mean all managers |
---|
| 33 | MANAGERS := $(patsubst all, $(MANAGER_LIST), $(MANAGERS)) |
---|
| 34 | |
---|
| 35 | # and finally rip out duplicates |
---|
| 36 | MANAGERS := $(sort $(MANAGERS)) |
---|
| 37 | |
---|
[7e5a481] | 38 | # List (possibly empty) of required managers |
---|
[d54c028] | 39 | MANAGERS_REQUIRED= |
---|
[7e5a481] | 40 | |
---|
| 41 | # Create a RTEMS executable based on MANAGERS which was set in |
---|
| 42 | # app's Makefile |
---|
| 43 | |
---|
| 44 | MANAGERS_NOT_WANTED=$(filter-out $(MANAGERS) \ |
---|
| 45 | $(MANAGERS_REQUIRED), $(MANAGER_LIST)) |
---|
| 46 | |
---|
| 47 | # Start file must be one of |
---|
| 48 | # $(PROJECT_RELEASE)/lib/start$(LIB_VARIANT).o |
---|
| 49 | # $(PROJECT_RELEASE)/lib/asmiface$(LIB_VARIANT).o |
---|
| 50 | # It defaults to start.o, but an app can override it. |
---|
| 51 | ifeq ($(START_BASE),) |
---|
| 52 | START_FILE= |
---|
| 53 | else |
---|
| 54 | START_FILE=$(PROJECT_RELEASE)/lib/$(START_BASE)$(LIB_VARIANT).o |
---|
| 55 | endif |
---|
| 56 | |
---|
| 57 | # Allow user to override link commands (to build a prom image, perhaps) |
---|
| 58 | ifndef LINKCMDS |
---|
| 59 | LINKCMDS=$(PROJECT_RELEASE)/lib/linkcmds |
---|
[c1c1f33] | 60 | endif |
---|