source: rtems/make/leaf.cfg @ bffb938

4.104.114.84.9
Last change on this file since bffb938 was bffb938, checked in by Joel Sherrill <joel.sherrill@…>, on Jan 20, 1998 at 7:30:30 PM

Removed PROJECT_HOME and CONFIG_DIR variables.

  • Property mode set to 100644
File size: 5.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 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)
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
129# make the target dependent options file
130$(ARCH)/targopts.h-tmp: FORCE
131        @echo "/* target board dependent options file */"       >$@
132        @echo "/* automatically generated -- DO NOT EDIT!! */" >>$@
133        @echo                                                  >>$@
134        @echo "#ifndef __TARGET_OPTIONS_h"                     >>$@
135        @echo "#define __TARGET_OPTIONS_h"                     >>$@
136        @echo                                                  >>$@
137        @echo "#ifdef $(RTEMS_CPU)"                            >>$@
138        @echo "#undef $(RTEMS_CPU)"                            >>$@
139        @echo "#endif"                                         >>$@
140        @echo "#define $(RTEMS_CPU) 1"                         >>$@
141        @echo                                                  >>$@
142        @echo "#ifdef $(RTEMS_CPU_MODEL)"                      >>$@
143        @echo "#undef $(RTEMS_CPU_MODEL)"                      >>$@
144        @echo "#endif"                                         >>$@
145        @echo "#define $(RTEMS_CPU_MODEL) 1"                   >>$@
146        @echo                                                  >>$@
147        @echo "#ifdef $(RTEMS_BSP)"                            >>$@
148        @echo "#undef $(RTEMS_BSP)"                            >>$@
149        @echo "#endif"                                         >>$@
150        @echo "#define $(RTEMS_BSP) 1"                         >>$@
151        @echo                                                  >>$@
152        @$(make-target-options)
153ifeq (${RTEMS_USE_MACROS},yes)
154        @echo "#define USE_MACROS 1"                           >>$@
155else
156        @echo "#define USE_INLINES 1"                          >>$@
157endif
158ifeq ($(RTEMS_HAS_POSIX_API),yes)
159        @echo "#define RTEMS_POSIX_API 1"                      >>$@
160endif
161ifeq ($(RTEMS_USE_NEWLIB),yes)
162        @echo "#define RTEMS_NEWLIB 1"                         >>$@
163        @echo "#define MALLOC_PROVIDED 1"                      >>$@
164endif
165        @echo                                                  >>$@
166        @echo "#endif"                                         >>$@
167
168$(ARCH)/bsp_specs.tmp: FORCE
169        cp $(RTEMS_ROOT)/c/src/lib/libbsp/$(RTEMS_CPU)/$(RTEMS_BSP_FAMILY)/bsp_specs $@
Note: See TracBrowser for help on using the repository browser.