source: rtems/make/leaf.cfg @ 29e68b75

4.104.114.84.9
Last change on this file since 29e68b75 was 29e68b75, checked in by Joel Sherrill <joel.sherrill@…>, on Jul 26, 1999 at 9:26:44 PM

Patch from Ralf Corsepius <corsepiu@…>:

This patch is an addition to "The big-patch"

CHANGES:

  • FIX: c/Makefile.am: bogus comment which changed the behavior of c/Makefile.am removed
  • FIX: make/custom/ts_i386ex.cfg did not set HAS_NETWORKING correctly (Me thinks it might have been me who added this bogus setting :-).
  • NEW: removing make targets get, protos, debug_install, profile_install
  • NEW: replacing clobber with distclean
  • NEW: Reimplement distclean and clean as reverse depth first make targets (adaptation to automake's behavior)
  • NEW: removing RCS_CLEAN from make distclean (tools/build/rcs_clean is still in - remove it?)
  • NEW: "$(RM) Makefile" added to make distclean (adaptation to automake's behavior)
  • NEW: "$(RM) config.cache config.log" to CLOBBER_ADDITIONS in [lib|exec|tests]/Makefile.in (adaptation to automake's behavior)
  • NEW: "$(CLEAN_PROTOS)" removed (Not used anywhere)
  • NEW: binpatch.c moved from i386 bsp tools to tools/build (AFAIS, binpatch is not specific to the pc386 BSP at all)
  • NEW: AC_EXEEXT added to all configure scripts which contain AC_PROG_CC (Cygwin support)
  • NEW/Experimental: An experimental implementation of temporary installation tree support in libbsp/i386/pc386/tools/Makefile.am, based on dependency tracking with make, instead of applying INSTALL_CHANGE.

REMARK:

  • This patch is small in size, but changes the behavior of "make clean|distclean|clobber" basically.
  • This patch does not alter building/compiling RTEMS, ie. there should be no need to rerun all "make all" building tests.

KNOWN BUGS:

  • make RTEMS_BSP="..." distclean in c/ runs "make distclean" in BSPs subdirectories passed through RTEMS_BSP and in "c/." only, but does not descend into other BSP subdirectories previously configured with different settings of make RTEMS_BSP="...". => Workaround: always use the same setting of RTEMS_BSP when working inside the build-tree.
  • "make [distclean|clean]" do not clean subdirectories, which have been configured at configuration time, but which are not used due to make-time configuration (e.g. macros/networking/rdgb subdirectories). This will problem will vanish by itself when migrating from make-time to configuration-time configuration

APPLYING THE PATCH

mv c/src/lib/libbsp/i386/pc386/tools/binpatch.c tools/build
patch -p1 < rtems-rc-19990709-2.diff
autogen

  • Property mode set to 100644
File size: 3.6 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:
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:
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 'profile' etc.)
84#   into "" or "install" as appropriate.
85#   Used for variant recursion.
86#
87
88TARGET_debug_V = all
89TARGET_profile_V = all
90
91TARGET_VA = $(TARGET_$@_V)
92
93#
94# LIBSUFFIX_VA, will "index" into LIBSUFF-*-v macros and
95#   convert our ${ARCH} back into .a or _g.a or _p.a based on debug or profile.
96#   Useful for installing libraries.
97#
98
99LIBSUFFIX_$(TARGET_ARCH)_V=
100LIBSUFFIX_$(TARGET_ARCH)-debug_V=_g
101LIBSUFFIX_$(TARGET_ARCH)-profile_V=_p
102
103LIB_VARIANT=$(LIBSUFFIX_$(ARCH)_V)
104LIBSUFFIX_VA = $(LIB_VARIANT).a
105
106#
107# Builtin clean and distclean rules
108# Individual makefiles can add stuff via CLEAN_ADDITIONS and CLOBBER_ADDITIONS
109# If desperate to save something, they can override CLEAN_OS, CLEAN_CC, etc.
110#
111
112clean-am: clean-generic
113        -$(RM) -r $(CLEAN_OS) $(CLEAN_CC) $(CLEAN_DEPEND)
114        -$(RM) -r $(VARIANTS)
115#       -$(RM) -r $(IMPORT_SOURCE)
116
117distclean-am: distclean-generic clean-am
118        -$(RM) -r $(CLOBBER_OS) $(CLOBBER_CC) $(CLOBBER_DEPEND)
119
120preinstall-am:
121preinstall: preinstall-am
122
123distclean: distclean-am
124        -$(RM) config.status
125clean: clean-am
126
127.PHONY: distclean distclean-am
128.PHONY: clean clean-am
Note: See TracBrowser for help on using the repository browser.