1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
|
#
# $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))
# 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
|