source: rtems/make/leaf.cfg @ 1fdc990

4.104.114.84.95
Last change on this file since 1fdc990 was 1fdc990, checked in by Joel Sherrill <joel.sherrill@…>, on 02/18/99 at 17:46:59

Part of the targopts.h change in generation patch from Ralf Corsepius
<corsepiu@…>.

  • Property mode set to 100644
File size: 3.9 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# get most stuff done
10
11# include $(RTEMS_ROOT)/make/main.cfg
12
13#
14# list of all known managers
15# This list is used, along with $(MANAGERS) (set by app makefile)
16#   to build the list of *not wanted* drivers.
17#
18# ref: target compiler config file for usage
19#
20
21MANAGER_LIST=dpmem event io msg mp part region sem signal timer rtmon ext
22
23# Convert *real* spellings in $(MANAGERS) (set
24#   in application makefile) to their "correct" name.
25# (I hate abbreviations :-)
26
27MANAGERS := $(patsubst message,            msg,   $(MANAGERS))
28MANAGERS := $(patsubst multi_processor,    mp,    $(MANAGERS))
29MANAGERS := $(patsubst partition,          part,  $(MANAGERS))
30MANAGERS := $(patsubst rate_monotonic,     rtmon, $(MANAGERS))
31MANAGERS := $(patsubst semaphore,          sem,   $(MANAGERS))
32MANAGERS := $(patsubst dual_ported_memory, dpmem, $(MANAGERS))
33MANAGERS := $(patsubst extension,          ext,   $(MANAGERS))
34
35# allow 'all' to mean all managers
36MANAGERS := $(patsubst all, $(MANAGER_LIST), $(MANAGERS))
37
38# and finally rip out duplicates
39MANAGERS := $(sort $(MANAGERS))
40
41# Pull in the desired compiler
42# This is almost always the "target" compiler.
43# But sometimes, you have to build something on the host.
44# Allow for that by allowing individual Makefiles specify $(USE_HOST_COMPILER)
45# This will not change $(ARCH) -- binaries will still be place as per target
46ifeq (,$(USE_HOST_COMPILER))
47   include ${CONFIG.$(TARGET_ARCH).CC}
48else
49   include $(CONFIG.$(HOST_ARCH).CC)
50endif
51ifeq (${DEPEND},$(wildcard ${DEPEND}))
52include ${DEPEND}                    # pull in dependencies if they exist
53endif
54
55#
56# Builtin targets for compilation variants
57#
58debug debug_install:
59        $(MAKE) -f $(MAKEFILE) MAKEFILE=$(MAKEFILE) "ARCH=${TARGET_ARCH}-debug" \
60      "CFLAGS_DEBUG=$(CFLAGS_DEBUG_V)" \
61      "CFLAGS_OPTIMIZE=$(CFLAGS_DEBUG_OPTIMIZE_V)" \
62      "LDFLAGS_DEBUG=$(LDFLAGS_DEBUG_V)" $(TARGET_VA)
63
64profile profile_install:
65        $(MAKE) -f $(MAKEFILE) \
66      MAKEFILE=$(MAKEFILE) "ARCH=${TARGET_ARCH}-profile" \
67      "CFLAGS_PROFILE=$(CFLAGS_PROFILE_V)" \
68      "LDFLAGS_PROFILE=$(LDFLAGS_PROFILE_V)" $(TARGET_VA)
69
70#
71# VARIANT_VA will convert our ${ARCH} back into "" or "debug" or "profile".
72#   Handy when one makefile wants to hop over into a peer's tree and
73#   build something "the same" way.
74#
75
76VARIANT-$(TARGET_ARCH)-v =
77VARIANT-$(TARGET_ARCH)-debug-v = debug
78VARIANT-$(TARGET_ARCH)-profile-v = profile
79
80VARIANT_VA = $(VARIANT-$(ARCH)-v)
81
82#
83# TARGET_VA will convert $@ (expected to be 'debug' or
84#     'debug_install' or 'profile' etc.)
85#   into "" or "install" as appropriate.
86#   Used for variant recursion.
87#
88
89TARGET_debug_V = all
90TARGET_profile_V = all
91
92TARGET_debug_install_V = install
93TARGET_profile_install_V = install
94
95TARGET_VA = $(TARGET_$@_V)
96
97#
98# LIBSUFFIX_VA, will "index" into LIBSUFF-*-v macros and
99#   convert our ${ARCH} back into .a or _g.a or _p.a based on debug or profile.
100#   Useful for installing libraries.
101#
102
103LIBSUFFIX_$(TARGET_ARCH)_V=
104LIBSUFFIX_$(TARGET_ARCH)-debug_V=_g
105LIBSUFFIX_$(TARGET_ARCH)-profile_V=_p
106
107LIB_VARIANT=$(LIBSUFFIX_$(ARCH)_V)
108LIBSUFFIX_VA = $(LIB_VARIANT).a
109
110get: $(SRCS) $(GET_ADDITIONS)
111
112#
113# Builtin clean and clobber rules
114# Individual makefiles can add stuff via CLEAN_ADDITIONS and CLOBBER_ADDITIONS
115# If desperate to save something, they can override CLEAN_OS, CLEAN_CC, etc.
116#
117
118clean:
119        $(RM) -r a.out core mon.out gmon.out $(CLEAN_OS) $(CLEAN_CC)
120        $(RM) -r $(CLEAN_PROTO) $(CLEAN_DEPEND) a.out
121        $(RM) -r $(VARIANTS) $(CLEAN_ADDITIONS) $(IMPORT_SOURCE)
122
123clobber: clean
124        -$(RCS_CLEAN)
125        $(RM) .#*
126        $(RM) -r $(CLOBBER_OS) $(CLOBBER_CC) $(CLOBBER_DEPEND)
127        $(RM) -r $(CLOBBER_ADDITIONS) a.out
128
129ifeq ($(RTEMS_BSP),bare)
130$(ARCH)/bsp_specs.tmp: FORCE
131        cp $(RTEMS_ROOT)/c/src/lib/libbsp/$(RTEMS_BSP_FAMILY)/bsp_specs $@
132else       
133$(ARCH)/bsp_specs.tmp: FORCE
134        cp $(RTEMS_ROOT)/c/src/lib/libbsp/$(RTEMS_CPU)/$(RTEMS_BSP_FAMILY)/bsp_specs $@
135endif
Note: See TracBrowser for help on using the repository browser.