source: rtems/make/leaf.cfg @ 7dd4054

4.104.114.84.95
Last change on this file since 7dd4054 was 7dd4054, checked in by Joel Sherrill <joel.sherrill@…>, on 12/01/99 at 14:27:58

Patch rtems-rc-19991123-rc-1.diff from Ralf Corsepius
<corsepiu@…> which implements automake support for some
score/cpu/<RTEMS_CPU> subdirectories and fixes a few minor configuration
bugs.

To apply:

rm -rf c/src/exec/score/cpu/i960/wrap
rm -rf c/src/exec/score/cpu/m68k/wrap
rm -rf c/src/exec/score/cpu/sh/wrap
rm -rf c/src/exec/score/cpu/sparc/wrap
rm -rf c/src/exec/score/cpu/unix/wrap
patch -p1 < rtems-rc-19991123-rc-1.diff
./bootstrap

Known bugs:

  • "make debug|profile" in c/src/src/score/cpu/<RTEMS_CPU/Makefile does not handle recursion to subdirectories correctly (recurses too often). However, this issue is hardly visible and should be tolerable for the moment.
  • Property mode set to 100644
File size: 3.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=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 "target" compiler
38# Programs built on the host use automake generated rules.
39# This will not change $(ARCH) -- binaries will still be place as per target
40include ${CONFIG.CC}
41ifeq (${DEPEND},$(wildcard ${DEPEND}))
42include ${DEPEND}                    # pull in dependencies if they exist
43endif
44
45#
46# Builtin targets for compilation variants
47#
48debug:
49        $(MAKE) -f $(MAKEFILE) MAKEFILE=$(MAKEFILE) "ARCH=o-debug" \
50      "CFLAGS_DEBUG=$(CFLAGS_DEBUG_V)" \
51      "CFLAGS_OPTIMIZE=$(CFLAGS_DEBUG_OPTIMIZE_V)" \
52      "LDFLAGS_DEBUG=$(LDFLAGS_DEBUG_V)" $(TARGET_VA)
53
54profile:
55        $(MAKE) -f $(MAKEFILE) \
56      MAKEFILE=$(MAKEFILE) "ARCH=o-profile" \
57      "CFLAGS_PROFILE=$(CFLAGS_PROFILE_V)" \
58      "LDFLAGS_PROFILE=$(LDFLAGS_PROFILE_V)" $(TARGET_VA)
59
60#
61# VARIANT_VA will convert our ${ARCH} back into "" or "debug" or "profile".
62#   Handy when one makefile wants to hop over into a peer's tree and
63#   build something "the same" way.
64#
65
66VARIANT-o-optimize-v =
67VARIANT-o-debug-v = debug
68VARIANT-o-profile-v = profile
69
70VARIANT_VA = $(VARIANT-$(ARCH)-v)
71
72#
73# TARGET_VA will convert $@ (expected to be 'debug' or 'profile' etc.)
74#   into "" or "install" as appropriate.
75#   Used for variant recursion.
76#
77
78TARGET_debug_V = all
79TARGET_profile_V = all
80
81TARGET_VA = $(TARGET_$@_V)
82
83#
84# LIBSUFFIX_VA, will "index" into LIBSUFF-*-v macros and
85#   convert our ${ARCH} back into .a or _g.a or _p.a based on debug or profile.
86#   Useful for installing libraries.
87#
88
89LIBSUFFIX_o-optimize_V=
90LIBSUFFIX_o-debug_V=_g
91LIBSUFFIX_o-profile_V=_p
92
93LIB_VARIANT=$(LIBSUFFIX_$(ARCH)_V)
94LIBSUFFIX_VA = $(LIB_VARIANT).a
95
96#
97# Builtin clean and distclean rules
98# Individual makefiles can add stuff via CLEAN_ADDITIONS and CLOBBER_ADDITIONS
99# If desperate to save something, they can override CLEAN_OS, CLEAN_CC, etc.
100#
101
102clean-am: clean-generic
103        -$(RM) -r $(CLEAN_OS) $(CLEAN_CC) $(CLEAN_DEPEND)
104        -$(RM) -r $(VARIANTS)
105
106distclean-am: distclean-generic clean-am
107        -$(RM) -r $(CLOBBER_OS) $(CLOBBER_CC) $(CLOBBER_DEPEND)
108
109preinstall-am:
110preinstall: preinstall-am
111
112ifndef AUTOMAKE
113distclean: distclean-am
114        -$(RM) ./config.status
115
116clean: clean-am
117endif
118
119.PHONY: distclean distclean-am
120.PHONY: clean clean-am
Note: See TracBrowser for help on using the repository browser.