From 7e5a4811941092f132d29d9eff1184078d5d348b Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Tue, 12 Sep 2000 20:55:35 +0000 Subject: 2000-09-12 Ralf Corsepius * leaf.cfg: Remove include ${CONFIG.CC}, add MANAGERS, START_FILE, LINKCMDS handling. * default.cfg.in: Remove everything but START_BASE. --- c/src/make/ChangeLog | 6 ++++++ c/src/make/custom/default.cfg.in | 14 -------------- c/src/make/leaf.cfg | 35 ++++++++++++++++++++++++++++++----- 3 files changed, 36 insertions(+), 19 deletions(-) (limited to 'c/src/make') diff --git a/c/src/make/ChangeLog b/c/src/make/ChangeLog index 101734ce64..aa20a5060c 100644 --- a/c/src/make/ChangeLog +++ b/c/src/make/ChangeLog @@ -1,3 +1,9 @@ +2000-09-12 Ralf Corsepius + + * leaf.cfg: Remove include ${CONFIG.CC}, add MANAGERS, START_FILE, + LINKCMDS handling. + * default.cfg.in: Remove everything but START_BASE. + 2000-08-10 Joel Sherrill * ChangeLog: New file. diff --git a/c/src/make/custom/default.cfg.in b/c/src/make/custom/default.cfg.in index 7eb7dc037f..1316a3e149 100644 --- a/c/src/make/custom/default.cfg.in +++ b/c/src/make/custom/default.cfg.in @@ -1,20 +1,6 @@ -# Default target settings -# -# Some of these values are redefined in the target specific .cfg files. -# -# Created by Jiri Gaisler, 16-03-97 (who is owed a debt of gratitude -# for converting RTEMS to autoconf. Thanks. --joel) # # $Id$ # -include $(RTEMS_ROOT)/../make/target.cfg -include $(RTEMS_ROOT)/make/host.cfg - -include $(RTEMS_ROOT)/make/bsp.cfg - -## Target compiler config file, if any -CONFIG.CC = $(RTEMS_ROOT)/make/compilers/gcc-target-default.cfg - # Base name of start file START_BASE=start diff --git a/c/src/make/leaf.cfg b/c/src/make/leaf.cfg index 8ec8fa3109..5e2ba8f917 100644 --- a/c/src/make/leaf.cfg +++ b/c/src/make/leaf.cfg @@ -34,10 +34,35 @@ MANAGERS := $(patsubst all, $(MANAGER_LIST), $(MANAGERS)) # and finally rip out duplicates MANAGERS := $(sort $(MANAGERS)) -# Pull in the desired "target" compiler -# Programs built on the host use automake generated rules. -# This will not change $(ARCH) -- binaries will still be place as per target -include ${CONFIG.CC} +# List (possibly empty) of required managers +# We require: +# region -- used by lib/libcsupport for malloc() +# ext -- used by libc for libc reentrancy hooks + +MANAGERS_REQUIRED=region ext sem + +# Create a RTEMS executable based on MANAGERS which was set in +# app's Makefile + +MANAGERS_NOT_WANTED=$(filter-out $(MANAGERS) \ + $(MANAGERS_REQUIRED), $(MANAGER_LIST)) + +# pull in dependencies if they exist ifeq (${DEPEND},$(wildcard ${DEPEND})) -include ${DEPEND} # pull in dependencies if they exist +include ${DEPEND} +endif + +# Start file must be one of +# $(PROJECT_RELEASE)/lib/start$(LIB_VARIANT).o +# $(PROJECT_RELEASE)/lib/asmiface$(LIB_VARIANT).o +# It defaults to start.o, but an app can override it. +ifeq ($(START_BASE),) + START_FILE= +else + START_FILE=$(PROJECT_RELEASE)/lib/$(START_BASE)$(LIB_VARIANT).o +endif + +# Allow user to override link commands (to build a prom image, perhaps) +ifndef LINKCMDS +LINKCMDS=$(PROJECT_RELEASE)/lib/linkcmds endif -- cgit v1.2.3