source: rtems/c/src/make/leaf.cfg @ 5e30d590

4.104.11
Last change on this file since 5e30d590 was 5e30d590, checked in by Joel Sherrill <joel.sherrill@…>, on Sep 18, 2008 at 5:34:06 PM

2008-09-18 Joel Sherrill <joel.sherrill@…>

  • leaf.cfg, compilers/gcc-target-default.cfg, custom/default.cfg.in: Eliminate START_BASE and START_FILE.
  • Property mode set to 100644
File size: 2.2 KB
Line 
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
17MANAGER_LIST=barrier dpmem event io msg mp part
18MANAGER_LIST+=region sem signal timer rtmon ext
19
20# Convert *real* spellings in $(MANAGERS) (set
21#   in application makefile) to their "correct" name.
22# (I hate abbreviations :-)
23
24MANAGERS := $(patsubst message,            msg,   $(MANAGERS))
25MANAGERS := $(patsubst multi_processor,    mp,    $(MANAGERS))
26MANAGERS := $(patsubst partition,          part,  $(MANAGERS))
27MANAGERS := $(patsubst rate_monotonic,     rtmon, $(MANAGERS))
28MANAGERS := $(patsubst semaphore,          sem,   $(MANAGERS))
29MANAGERS := $(patsubst dual_ported_memory, dpmem, $(MANAGERS))
30MANAGERS := $(patsubst extension,          ext,   $(MANAGERS))
31
32# allow 'all' to mean all managers
33MANAGERS := $(patsubst all, $(MANAGER_LIST), $(MANAGERS))
34
35# and finally rip out duplicates
36MANAGERS := $(sort $(MANAGERS))
37
38# List (possibly empty) of required managers
39MANAGERS_REQUIRED=
40
41# Create a RTEMS executable based on MANAGERS which was set in
42#  app's Makefile
43
44MANAGERS_NOT_WANTED=$(filter-out $(MANAGERS) \
45        $(MANAGERS_REQUIRED), $(MANAGER_LIST))
46
47# Allow user to override link commands (to build a prom image, perhaps)
48ifndef LINKCMDS
49LINKCMDS=$(PROJECT_RELEASE)/lib/linkcmds
50endif
51
52## what to do about $(EXEEXT) --> $(EXEEXT)
53##    -o $(basename $@)$(EXEEXT)             OR
54##    -o $(basename $@)$(EXEEXT)                  OR
55
56DOWNEXT=.ralf
57
58define bsp-link-c
59        $(LINK.c) $(CPU_CFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) \
60            -o $(basename $@).exe $(LINK_OBJS) $(LINK_LIBS)
61endef
62
63define bsp-link-cxx
64        $(LINK.cc) $(CPU_CFLAGS) $(AM_CFLAGS) $(AM_LDFLAGS) \
65            -o $(basename $@).exe $(LINK_OBJS) $(LINK_LIBS)
66endef
67
68define default-bsp-post-link
69        $(NM) -g -n $@ > $(basename $@).num
70        $(SIZE) $@
71endef
72
73ifndef bsp-post-link
74  define bsp-post-link
75        $(default-bsp-post-link)
76        cp $(basename $@).exe $(basename $@)$(DOWNEXT)
77  endef
78endif
79
80define make-exe
81       $(bsp-link-c)
82       $(bsp-post-link)
83endef
84
85define make-cxx-exe
86       $(bsp-link-cxx)
87       $(bsp-post-link)
88endef
Note: See TracBrowser for help on using the repository browser.