From bffb93879940c71c58d2c66410e1bd5e5e4dc979 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 20 Jan 1998 19:30:30 +0000 Subject: Removed PROJECT_HOME and CONFIG_DIR variables. --- make/leaf.cfg | 169 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 169 insertions(+) create mode 100644 make/leaf.cfg (limited to 'make/leaf.cfg') diff --git a/make/leaf.cfg b/make/leaf.cfg new file mode 100644 index 0000000000..13c720f1a5 --- /dev/null +++ b/make/leaf.cfg @@ -0,0 +1,169 @@ +# +# $Id$ +# +# make/leaf.cfg +# +# Make(1) configuration file include'd by all leaf-node Makefiles +# + +# get most stuff done + +# include $(RTEMS_ROOT)/make/main.cfg + +# +# list of all known managers +# This list is used, along with $(MANAGERS) (set by app makefile) +# to build the list of *not wanted* drivers. +# +# ref: target compiler config file for usage +# + +MANAGER_LIST=dpmem event io msg mp part region sem signal timer rtmon ext + +# Convert *real* spellings in $(MANAGERS) (set +# in application makefile) to their "correct" name. +# (I hate abbreviations :-) + +MANAGERS := $(patsubst message, msg, $(MANAGERS)) +MANAGERS := $(patsubst multi_processor, mp, $(MANAGERS)) +MANAGERS := $(patsubst partition, part, $(MANAGERS)) +MANAGERS := $(patsubst rate_monotonic, rtmon, $(MANAGERS)) +MANAGERS := $(patsubst semaphore, sem, $(MANAGERS)) +MANAGERS := $(patsubst dual_ported_memory, dpmem, $(MANAGERS)) +MANAGERS := $(patsubst extension, ext, $(MANAGERS)) + +# allow 'all' to mean all managers +MANAGERS := $(patsubst all, $(MANAGER_LIST), $(MANAGERS)) + +# and finally rip out duplicates +MANAGERS := $(sort $(MANAGERS)) + +# Pull in the desired compiler +# This is almost always the "target" compiler. +# But sometimes, you have to build something on the host. +# Allow for that by allowing individual Makefiles specify $(USE_HOST_COMPILER) +# This will not change $(ARCH) -- binaries will still be place as per target +ifeq (,$(USE_HOST_COMPILER)) + include ${CONFIG.$(TARGET_ARCH).CC} +else + include $(CONFIG.$(HOST_ARCH).CC) +endif +ifeq (${DEPEND},$(wildcard ${DEPEND})) +include ${DEPEND} # pull in dependencies if they exist +endif + +# +# Builtin targets for compilation variants +# +debug debug_install: + $(MAKE) -f $(MAKEFILE) MAKEFILE=$(MAKEFILE) "ARCH=${TARGET_ARCH}-debug" \ + "CFLAGS_DEBUG=$(CFLAGS_DEBUG_V)" \ + "CFLAGS_OPTIMIZE=$(CFLAGS_DEBUG_OPTIMIZE_V)" \ + "LDFLAGS_DEBUG=$(LDFLAGS_DEBUG_V)" $(TARGET_VA) + +profile profile_install: + $(MAKE) -f $(MAKEFILE) \ + MAKEFILE=$(MAKEFILE) "ARCH=${TARGET_ARCH}-profile" \ + "CFLAGS_PROFILE=$(CFLAGS_PROFILE_V)" \ + "LDFLAGS_PROFILE=$(LDFLAGS_PROFILE_V)" $(TARGET_VA) + +# +# VARIANT_VA will convert our ${ARCH} back into "" or "debug" or "profile". +# Handy when one makefile wants to hop over into a peer's tree and +# build something "the same" way. +# + +VARIANT-$(TARGET_ARCH)-v = +VARIANT-$(TARGET_ARCH)-debug-v = debug +VARIANT-$(TARGET_ARCH)-profile-v = profile + +VARIANT_VA = $(VARIANT-$(ARCH)-v) + +# +# TARGET_VA will convert $@ (expected to be 'debug' or +# 'debug_install' or 'profile' etc.) +# into "" or "install" as appropriate. +# Used for variant recursion. +# + +TARGET_debug_V = all +TARGET_profile_V = all + +TARGET_debug_install_V = install +TARGET_profile_install_V = install + +TARGET_VA = $(TARGET_$@_V) + +# +# LIBSUFFIX_VA, will "index" into LIBSUFF-*-v macros and +# convert our ${ARCH} back into .a or _g.a or _p.a based on debug or profile. +# Useful for installing libraries. +# + +LIBSUFFIX_$(TARGET_ARCH)_V= +LIBSUFFIX_$(TARGET_ARCH)-debug_V=_g +LIBSUFFIX_$(TARGET_ARCH)-profile_V=_p + +LIB_VARIANT=$(LIBSUFFIX_$(ARCH)_V) +LIBSUFFIX_VA = $(LIB_VARIANT).a + +get: $(SRCS) $(GET_ADDITIONS) + +# +# Builtin clean and clobber rules +# Individual makefiles can add stuff via CLEAN_ADDITIONS and CLOBBER_ADDITIONS +# If desperate to save something, they can override CLEAN_OS, CLEAN_CC, etc. +# + +clean: + $(RM) -r a.out core mon.out gmon.out $(CLEAN_OS) $(CLEAN_CC) + $(RM) -r $(CLEAN_PROTO) $(CLEAN_DEPEND) a.out + $(RM) -r $(VARIANTS) $(CLEAN_ADDITIONS) + +clobber: clean + -$(RCS_CLEAN) + $(RM) .#* + $(RM) -r $(CLOBBER_OS) $(CLOBBER_CC) $(CLOBBER_DEPEND) + $(RM) -r $(CLOBBER_ADDITIONS) a.out + +# make the target dependent options file +$(ARCH)/targopts.h-tmp: FORCE + @echo "/* target board dependent options file */" >$@ + @echo "/* automatically generated -- DO NOT EDIT!! */" >>$@ + @echo >>$@ + @echo "#ifndef __TARGET_OPTIONS_h" >>$@ + @echo "#define __TARGET_OPTIONS_h" >>$@ + @echo >>$@ + @echo "#ifdef $(RTEMS_CPU)" >>$@ + @echo "#undef $(RTEMS_CPU)" >>$@ + @echo "#endif" >>$@ + @echo "#define $(RTEMS_CPU) 1" >>$@ + @echo >>$@ + @echo "#ifdef $(RTEMS_CPU_MODEL)" >>$@ + @echo "#undef $(RTEMS_CPU_MODEL)" >>$@ + @echo "#endif" >>$@ + @echo "#define $(RTEMS_CPU_MODEL) 1" >>$@ + @echo >>$@ + @echo "#ifdef $(RTEMS_BSP)" >>$@ + @echo "#undef $(RTEMS_BSP)" >>$@ + @echo "#endif" >>$@ + @echo "#define $(RTEMS_BSP) 1" >>$@ + @echo >>$@ + @$(make-target-options) +ifeq (${RTEMS_USE_MACROS},yes) + @echo "#define USE_MACROS 1" >>$@ +else + @echo "#define USE_INLINES 1" >>$@ +endif +ifeq ($(RTEMS_HAS_POSIX_API),yes) + @echo "#define RTEMS_POSIX_API 1" >>$@ +endif +ifeq ($(RTEMS_USE_NEWLIB),yes) + @echo "#define RTEMS_NEWLIB 1" >>$@ + @echo "#define MALLOC_PROVIDED 1" >>$@ +endif + @echo >>$@ + @echo "#endif" >>$@ + +$(ARCH)/bsp_specs.tmp: FORCE + cp $(RTEMS_ROOT)/c/src/lib/libbsp/$(RTEMS_CPU)/$(RTEMS_BSP_FAMILY)/bsp_specs $@ -- cgit v1.2.3