source: rtems/make/leaf.cfg @ 3a8915e

4.104.114.84.9
Last change on this file since 3a8915e was 3a8915e, checked in by Joel Sherrill <joel.sherrill@…>, on Aug 6, 1999 at 5:55:25 PM

Patch rtems-rc-19990709-6-diff from Ralf Corsepius <corsepiu@…>
applied. This modified many Makefiles and custom files and makes many more
settings (network, multiprocessing, etc) gnerated by autoconf.

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