summaryrefslogtreecommitdiffstats
path: root/make/Templates
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1998-01-30 21:49:51 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1998-01-30 21:49:51 +0000
commit5c3511e5cff1019e683239fd71f6ea3254e1eccb (patch)
tree6b63bc3b948de974251de8e23f06946f13323363 /make/Templates
parentCorrected Linux port for glibc2 (diff)
downloadrtems-5c3511e5cff1019e683239fd71f6ea3254e1eccb.tar.bz2
Big patch form Ralf Corsepius described in this email:
Here is the result of my nightly work to get RTEMS_ROOT=$srcdir working with different shells and relative/absolute paths. What I did is relatively simple in principle: Instead of setting RTEMS_ROOT in configure.in and then let configure substitute @RTEMS_ROOT@ inside the Makefiles, I now let each Makefile set RTEMS_ROOT from each Makefile's @top_srcdir@ value. The difference is subtile, but with enormous side effects: - If RTEMS_ROOT is set in configure, then the same single value will be propagated to all Makefiles. This breaks using relative paths, as the relative path to the root of the source tree is used inside of all subdirectory Makefiles. - Now each Makefile.in sets RTEMS_ROOT = @top_srcdir@. top_srcdir is computed individually by configure for each single Makefile.in, hereby receiving the correct value, no matter if relative or absolute paths are used. To get this working, I needed to remove setting RTEMS_ROOT from target.cfg.in, because this overrides the value of RTEMS_ROOT from each individual Makefile. Furthermore, I removed RTEMS_CUSTOM from the Makefiles and replaced all "include $(RTEMS_CUSTOM)" directives with"include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP)". Perhaps you don't like this, but I think, to have one variable less is clearer and easier to understand than having several variables refering to the next one. I enclose a small patch to this mail, which - fixes the config.h problem (to finally clearify misunderstands) - removes assignment/subsitution of RTEMS_ROOT from configure.in - contains a workaround for the application Makefile's RTEMS_ROOT problem (reported by Eric) - removes some unused lines from the toplevel Makefile.in - removes assignment of RTEMS_ROOT from make/target.cfg.in
Diffstat (limited to '')
-rw-r--r--make/Templates/Makefile.dir2
-rw-r--r--make/Templates/Makefile.inc.in3
-rw-r--r--make/Templates/Makefile.leaf2
-rw-r--r--make/Templates/Makefile.lib2
4 files changed, 6 insertions, 3 deletions
diff --git a/make/Templates/Makefile.dir b/make/Templates/Makefile.dir
index 36d056bcd8..e70d40c0cb 100644
--- a/make/Templates/Makefile.dir
+++ b/make/Templates/Makefile.dir
@@ -2,7 +2,7 @@
# $Id$
#
-include $(RTEMS_CUSTOM)
+include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
include $(RTEMS_ROOT)/make/directory.cfg
SUB_DIRS=a b c your-directories-go-here
diff --git a/make/Templates/Makefile.inc.in b/make/Templates/Makefile.inc.in
index edaf5e7dfd..6fd57a5f3f 100644
--- a/make/Templates/Makefile.inc.in
+++ b/make/Templates/Makefile.inc.in
@@ -40,6 +40,9 @@ RTEMS_HAS_CPLUSPLUS = @RTEMS_HAS_CPLUSPLUS@
RTEMS_USE_GCC272 = @RTEMS_USE_GCC272@
RTEMS_LIBC_DIR = @RTEMS_LIBC_DIR@
+# FIXME: This shouldn't be here
+RTEMS_ROOT = $(PROJECT_HOME)
+
export RTEMS_BSP
export RTEMS_CUSTOM
export PROJECT_ROOT
diff --git a/make/Templates/Makefile.leaf b/make/Templates/Makefile.leaf
index 5bf8e08fe2..6f098d4b50 100644
--- a/make/Templates/Makefile.leaf
+++ b/make/Templates/Makefile.leaf
@@ -34,7 +34,7 @@ PGMS=${ARCH}/xxx-your-program-here ${ARCH}/xxx-another-one
MANAGERS=io event message rate_monotonic semaphore timer, etc.
-include $(RTEMS_CUSTOM)
+include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
include $(RTEMS_ROOT)/make/leaf.cfg
#
diff --git a/make/Templates/Makefile.lib b/make/Templates/Makefile.lib
index 3c339a7054..18baaedbaa 100644
--- a/make/Templates/Makefile.lib
+++ b/make/Templates/Makefile.lib
@@ -27,7 +27,7 @@ S_O_FILES=$(S_FILES:%.s=${ARCH}/%.o)
SRCS=$(C_FILES) $(CC_FILES) $(H_FILES) $(S_FILES)
OBJS=$(C_O_FILES) $(CC_O_FILES) $(S_O_FILES)
-include $(RTEMS_CUSTOM)
+include $(RTEMS_ROOT)/make/custom/$(RTEMS_BSP).cfg
include $(RTEMS_ROOT)/make/lib.cfg
#