summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJoel Sherrill <joel.sherrill@OARcorp.com>1999-10-26 14:22:55 +0000
committerJoel Sherrill <joel.sherrill@OARcorp.com>1999-10-26 14:22:55 +0000
commit65a60cd427f0d59560ccdc6e7ac479006db03128 (patch)
treeadef879f28426ddcd59988d7c059470099fb39c1
parentidir=/opt/tmp/opt/rtems (diff)
downloadrtems-65a60cd427f0d59560ccdc6e7ac479006db03128.tar.bz2
Removed all references to HOST_ARCH including the file gcc.cfg.in. All
host programs are now compiled with automake generated rules. This was done after discussions with Ralf Corsepius and Eric Norum.
-rw-r--r--c/src/make/README21
-rw-r--r--c/src/make/compilers/Makefile.am6
-rw-r--r--c/src/make/compilers/gcc.cfg.in203
-rw-r--r--c/src/make/configure.in1
-rw-r--r--make/README21
-rw-r--r--make/compilers/Makefile.am3
-rw-r--r--make/compilers/gcc.cfg.in203
-rw-r--r--make/custom/HPUX9-posix.cfg3
-rw-r--r--make/custom/default.cfg5
-rw-r--r--make/leaf.cfg12
10 files changed, 4 insertions, 474 deletions
diff --git a/c/src/make/README b/c/src/make/README
index 12d5f8fe37..8a1c7157df 100644
--- a/c/src/make/README
+++ b/c/src/make/README
@@ -217,19 +217,6 @@
Your own private configuration file. Specifies which of the above
files you want to include.
- Example: custom/pc386.cfg
-
- CONFIG.$(HOST_ARCH).OS = $(RTEMS_ROOT)/make/os/HPUX-9.0.cfg
-
- # HOST Compiler config file
- # You may also want to specify where the compiler resides here.
- CC_$(HOST_ARCH)_DIR=/usr/local
- CONFIG.$(HOST_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc.cfg
-
- ## Target compiler config file, if any
- CC_$(TARGET_ARCH)_DIR=$(RTEMS_GNUTOOLS)
- CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-pc386.cfg
-
generic rules file
------------------
@@ -306,10 +293,6 @@
a number of MAKE variables are automatically set and maintained by
the config files.
- CONFIG.$(HOST_ARCH).CC
- -- full path of C compilation config file, set by custom
- config file.
-
PROJECT_RELEASE
-- release/install directory
[ $(PROJECT_ROOT) ]
@@ -329,10 +312,6 @@
ARCH -- target sub-directory for object code
[ eg: o-pc386 or o-pc386-debug ]
- HOST_ARCH
- -- host machine architecture name
- [ eg: sun4, sparc on SVR4 ]
-
VARIANTS -- full list of all possible values for $(ARCH);
used mainly for 'make clean'
[ eg: "o-pc386 o-pc386-debug o-pc386-profile" ]
diff --git a/c/src/make/compilers/Makefile.am b/c/src/make/compilers/Makefile.am
index 30fc3c385e..d067af45a7 100644
--- a/c/src/make/compilers/Makefile.am
+++ b/c/src/make/compilers/Makefile.am
@@ -10,12 +10,6 @@ rtems_make_compilersdir=$(rtems_makedir)/compilers
## At the moment all actively supported configurations
## use gcc-target-default.cfg only.
rtems_make_compilers_DATA= \
-gcc.cfg \
gcc-target-default.cfg
-if MAINTAINER_MODE
-$(srcdir)/gcc.cfg.in: $(top_srcdir)/@RTEMS_TOPdir@/make/compilers/gcc.cfg.in
- cp $< $@
-endif
-
include $(top_srcdir)/../../../automake/local.am
diff --git a/c/src/make/compilers/gcc.cfg.in b/c/src/make/compilers/gcc.cfg.in
deleted file mode 100644
index 590bacc213..0000000000
--- a/c/src/make/compilers/gcc.cfg.in
+++ /dev/null
@@ -1,203 +0,0 @@
-#
-# $Id$
-#
-# gcc 2.6.x native compiler
-# Compiler (and tools) configuration
-#
-
-# Additional target names (other than debug, profile)
-TARGET_VARIANTS +=
-
-#
-# Pre-processor defines.
-# Local tailoring (on the command line) can be done by setting XCPPFLAGS
-# which is never set in the Makefile's
-#
-
-CPPFLAGS=$(XCPPFLAGS) $(DEFINES)
-
-#
-# Local tailoring (on the command line) can be done by setting CFLAGS
-# which is never set in the Makefile's
-#
-
-#
-# CFLAGS_OPTIMIZE_V, CFLAGS_DEBUG_V, CFLAGS_PROFILE_V are the values we
-# would want the corresponding macros to be set to.
-#
-# CFLAGS_OPTIMIZE, CFLAGS_DEBUG, CFLAGS_PROFILE are set in the leaf
-# Makefiles by the 'debug:' and 'profile:' targets to their _V values.
-#
-
-# default flags
-
-CFLAGS_DEFAULT = @CC_CFLAGS_DEFAULT@
-
-# Under MS-DOS do not use pipes
-# It turns out the pipes don't work with some non-gas assemblers either. :(
-# ifneq ($(RTEMS_HOST),msdos)
-# # CFLAGS_DEFAULT += -pipe
-# CFLAGS_DEFAULT +=
-# endif
-
-# Additional target names (other than debug, profile)
-
-# optimize flag: typically -0, could use -O4 or -fast
-# -O4 is ok for RTEMS
-CFLAGS_OPTIMIZE_V=-O
-
-# debug flag; typically -g
-CFLAGS_DEBUG_V=@CC_CFLAGS_DEBUG_V@
-
-# when debugging, optimize flag: typically empty
-# some compilers do allow optimization with their "-g"
-CFLAGS_DEBUG_OPTIMIZE_V=
-
-# profile flag; use gprof(1)
-CFLAGS_PROFILE_V=@CC_CFLAGS_PROFILE_V@
-
-# default is to optimize
-CFLAGS_OPTIMIZE=$(CFLAGS_OPTIMIZE_V)
-
-# dynamic libraries
-CFLAGS_DYNAMIC_V=-fpic
-ASFLAGS_DYNAMIC_V=
-
-# XCFLAGS are now local flags to avoid conflict with cygnus configure
-XCFLAGS=$(CFLAGS_OPTIMIZE) $(CFLAGS_DEBUG) $(CFLAGS_PROFILE) \
- $(CFLAGS_DEFAULT)
-
-# List of library paths without -L
-LD_PATHS=
-
-# libraries you want EVERYONE to link with
-LD_LIBS=
-
-# ld flag to ensure pure-text
-LDFLAGS_MUST_BE_PURE_V =
-
-# ld flag for [un]shared objects
-LDFLAGS_STATIC_LIBRARIES_V =
-LDFLAGS_SHARED_LIBRARIES_V =
-
-# ld flag for incomplete link
-LDFLAGS_INCOMPLETE = -r
-
-# Special linker options when building lib.so
-LDFLAGS_DYNAMIC_V = ??
-
-# Some dynamic linking systems want the preferred name recorded in the binary
-# ref: src/libxil/Makefile
-LDFLAGS_DYNAMIC_LIBNAME_V = -h $(DYNAMIC_VERSION_LIBNAME)
-
-# ld flags for profiling, debugging
-LDFLAGS_PROFILE_V = @CC_LDFLAGS_PROFILE_V@
-LDFLAGS_DEBUG_V =
-
-LDFLAGS=$(LDFLAGS_PROFILE) $(LDFLAGS_DEBUG) $(LD_PATHS:%=-L %)
-
-#
-# Stuff to clean and clobber for the compiler and its tools
-#
-
-CLEAN_CC = a.out *.o *.BAK
-CLOBBER_CC =
-
-#
-# Client compiler and support tools
-#
-
-# CC_FOR_BUILD=gcc -O
-# override CC=$(CC_FOR_BUILD)
-
-CC=@CC@
-
-# CPP command to write file to standard output
-CPP=$(CC) -E
-
-# flags set by cc when running cpp
-CPP_CC_FLAGS=-D__STDC__
-
-# egrep regexp to ignore symbol table entries in ar archives.
-# Only used to make sure we skip them when coalescing libraries.
-# skip __.SYMDEF and empty names (maybe bug in ranlib??).
-AR_SYMBOL_TABLE="HIGHLY-UNLIKELY-TO-CONFLICT"
-ARFLAGS=ruv
-
-#
-# Command to convert a normal archive to one searchable by $(LD)
-# Not needed on SVR4
-# FIXME: Should be handled by autoconf. Doesn't matter, because
-# rtems doesn't have any host-libraries until now.
-#
-
-MKLIB=echo library is complete:
-
-#
-# How to compile stuff into ${ARCH} subdirectory
-#
-# NOTE: we override COMPILE.c
-#
-
-COMPILE.c=$(CC) $(CFLAGS) $(CPPFLAGS) $(XCFLAGS) -c
-
-${ARCH}/%.o: %.c
- ${COMPILE.c} -o $@ $<
-
-${ARCH}/%.o: %.cc
- ${COMPILE.c} -o $@ $<
-
-# assembly runs gasp
-${ARCH}/%.o: %.s
- $(CPP) ${CPPFLAGS} $< | $(SED) 's/% /%/g' | $(SED) 's/^#.*//' >$(ARCH)/$*.i
- $(AS) -o $@ $(ARCH)/$*.i
- $(RM) $(ARCH)/$*.i
-
-# Link host applications.
-define make-exe
- ${CC} ${LDFLAGS} -o $@ $^ ${LD_LIBS}
-endef
-
-# Specify our own default rule for this to prevent having CFLAGS and
-# CPPFLAGS being passed to linker
-#
-# NOTE: This rule is only used as fallback for host-tool makefiles
-# which don't provide their own rule
-${ARCH}/%$(EXEEXT): ${ARCH}/%.o
- $(make-exe)
-
-# create $(ARCH)/pgm from pgm.sh
-${ARCH}/%: %.sh
- $(RM) $@
- $(CP) $< $@
- $(CHMOD) +x $@
-
-# Dependency files for use by gmake
-# NOTE: we don't put in $(TARGET_ARCH)
-# so that 'make clean' doesn't blow it away
-
-DEPEND=Depends-$(TARGET_ARCH:o-%=%)
-
-CLEAN_DEPEND=$(DEPEND).tmp
-CLOBBER_DEPEND=$(DEPEND)
-
-# We deliberately don't have anything depend on the
-# $(DEPEND) file; otherwise it will get rebuilt even
-# on 'make clean'
-#
-
-depend: $(C_FILES) $(CC_FILES) $(S_FILES)
-ifneq ($(words $(C_FILES) $(CC_FILES) $(S_FILES)), 0)
-# Use gcc -M to generate dependencies
-# Replace foo.o with $(ARCH)/foo.o
-# Replace $(ARCH) value with string $(ARCH)
-# so that it will for debug and profile cases
- $(COMPILE.c) -M $^ | \
- $(SED) -e 's?^\(.*\)\.o[ ]*:?$$(ARCH)/\1.o:?' \
- -e 's?$(ARCH)/?$$(ARCH)/?' >$(DEPEND).tmp
- $(MV) $(DEPEND).tmp $(DEPEND)
-endif
-
-define make-rel
- $(LD) $(LDFLAGS_INCOMPLETE) $(XLDFLAGS) -o $@ $(OBJS)
-endef
diff --git a/c/src/make/configure.in b/c/src/make/configure.in
index a05da4ae9e..28d14fb058 100644
--- a/c/src/make/configure.in
+++ b/c/src/make/configure.in
@@ -128,5 +128,4 @@ bsp.cfg
custom/Makefile
custom/default.cfg
compilers/Makefile
-compilers/gcc.cfg
)
diff --git a/make/README b/make/README
index 12d5f8fe37..8a1c7157df 100644
--- a/make/README
+++ b/make/README
@@ -217,19 +217,6 @@
Your own private configuration file. Specifies which of the above
files you want to include.
- Example: custom/pc386.cfg
-
- CONFIG.$(HOST_ARCH).OS = $(RTEMS_ROOT)/make/os/HPUX-9.0.cfg
-
- # HOST Compiler config file
- # You may also want to specify where the compiler resides here.
- CC_$(HOST_ARCH)_DIR=/usr/local
- CONFIG.$(HOST_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc.cfg
-
- ## Target compiler config file, if any
- CC_$(TARGET_ARCH)_DIR=$(RTEMS_GNUTOOLS)
- CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-pc386.cfg
-
generic rules file
------------------
@@ -306,10 +293,6 @@
a number of MAKE variables are automatically set and maintained by
the config files.
- CONFIG.$(HOST_ARCH).CC
- -- full path of C compilation config file, set by custom
- config file.
-
PROJECT_RELEASE
-- release/install directory
[ $(PROJECT_ROOT) ]
@@ -329,10 +312,6 @@
ARCH -- target sub-directory for object code
[ eg: o-pc386 or o-pc386-debug ]
- HOST_ARCH
- -- host machine architecture name
- [ eg: sun4, sparc on SVR4 ]
-
VARIANTS -- full list of all possible values for $(ARCH);
used mainly for 'make clean'
[ eg: "o-pc386 o-pc386-debug o-pc386-profile" ]
diff --git a/make/compilers/Makefile.am b/make/compilers/Makefile.am
index d709d70d82..cfc9545c90 100644
--- a/make/compilers/Makefile.am
+++ b/make/compilers/Makefile.am
@@ -7,8 +7,7 @@ AUTOMAKE_OPTIONS = foreign 1.4
EXTRA_DIST = \
gcc-no_bsp.cfg \
gcc-portsw.cfg \
-gcc-target-default.cfg \
-gcc.cfg.in
+gcc-target-default.cfg
## -------------------------------------------------------
include $(top_srcdir)/automake/local.am
diff --git a/make/compilers/gcc.cfg.in b/make/compilers/gcc.cfg.in
deleted file mode 100644
index 590bacc213..0000000000
--- a/make/compilers/gcc.cfg.in
+++ /dev/null
@@ -1,203 +0,0 @@
-#
-# $Id$
-#
-# gcc 2.6.x native compiler
-# Compiler (and tools) configuration
-#
-
-# Additional target names (other than debug, profile)
-TARGET_VARIANTS +=
-
-#
-# Pre-processor defines.
-# Local tailoring (on the command line) can be done by setting XCPPFLAGS
-# which is never set in the Makefile's
-#
-
-CPPFLAGS=$(XCPPFLAGS) $(DEFINES)
-
-#
-# Local tailoring (on the command line) can be done by setting CFLAGS
-# which is never set in the Makefile's
-#
-
-#
-# CFLAGS_OPTIMIZE_V, CFLAGS_DEBUG_V, CFLAGS_PROFILE_V are the values we
-# would want the corresponding macros to be set to.
-#
-# CFLAGS_OPTIMIZE, CFLAGS_DEBUG, CFLAGS_PROFILE are set in the leaf
-# Makefiles by the 'debug:' and 'profile:' targets to their _V values.
-#
-
-# default flags
-
-CFLAGS_DEFAULT = @CC_CFLAGS_DEFAULT@
-
-# Under MS-DOS do not use pipes
-# It turns out the pipes don't work with some non-gas assemblers either. :(
-# ifneq ($(RTEMS_HOST),msdos)
-# # CFLAGS_DEFAULT += -pipe
-# CFLAGS_DEFAULT +=
-# endif
-
-# Additional target names (other than debug, profile)
-
-# optimize flag: typically -0, could use -O4 or -fast
-# -O4 is ok for RTEMS
-CFLAGS_OPTIMIZE_V=-O
-
-# debug flag; typically -g
-CFLAGS_DEBUG_V=@CC_CFLAGS_DEBUG_V@
-
-# when debugging, optimize flag: typically empty
-# some compilers do allow optimization with their "-g"
-CFLAGS_DEBUG_OPTIMIZE_V=
-
-# profile flag; use gprof(1)
-CFLAGS_PROFILE_V=@CC_CFLAGS_PROFILE_V@
-
-# default is to optimize
-CFLAGS_OPTIMIZE=$(CFLAGS_OPTIMIZE_V)
-
-# dynamic libraries
-CFLAGS_DYNAMIC_V=-fpic
-ASFLAGS_DYNAMIC_V=
-
-# XCFLAGS are now local flags to avoid conflict with cygnus configure
-XCFLAGS=$(CFLAGS_OPTIMIZE) $(CFLAGS_DEBUG) $(CFLAGS_PROFILE) \
- $(CFLAGS_DEFAULT)
-
-# List of library paths without -L
-LD_PATHS=
-
-# libraries you want EVERYONE to link with
-LD_LIBS=
-
-# ld flag to ensure pure-text
-LDFLAGS_MUST_BE_PURE_V =
-
-# ld flag for [un]shared objects
-LDFLAGS_STATIC_LIBRARIES_V =
-LDFLAGS_SHARED_LIBRARIES_V =
-
-# ld flag for incomplete link
-LDFLAGS_INCOMPLETE = -r
-
-# Special linker options when building lib.so
-LDFLAGS_DYNAMIC_V = ??
-
-# Some dynamic linking systems want the preferred name recorded in the binary
-# ref: src/libxil/Makefile
-LDFLAGS_DYNAMIC_LIBNAME_V = -h $(DYNAMIC_VERSION_LIBNAME)
-
-# ld flags for profiling, debugging
-LDFLAGS_PROFILE_V = @CC_LDFLAGS_PROFILE_V@
-LDFLAGS_DEBUG_V =
-
-LDFLAGS=$(LDFLAGS_PROFILE) $(LDFLAGS_DEBUG) $(LD_PATHS:%=-L %)
-
-#
-# Stuff to clean and clobber for the compiler and its tools
-#
-
-CLEAN_CC = a.out *.o *.BAK
-CLOBBER_CC =
-
-#
-# Client compiler and support tools
-#
-
-# CC_FOR_BUILD=gcc -O
-# override CC=$(CC_FOR_BUILD)
-
-CC=@CC@
-
-# CPP command to write file to standard output
-CPP=$(CC) -E
-
-# flags set by cc when running cpp
-CPP_CC_FLAGS=-D__STDC__
-
-# egrep regexp to ignore symbol table entries in ar archives.
-# Only used to make sure we skip them when coalescing libraries.
-# skip __.SYMDEF and empty names (maybe bug in ranlib??).
-AR_SYMBOL_TABLE="HIGHLY-UNLIKELY-TO-CONFLICT"
-ARFLAGS=ruv
-
-#
-# Command to convert a normal archive to one searchable by $(LD)
-# Not needed on SVR4
-# FIXME: Should be handled by autoconf. Doesn't matter, because
-# rtems doesn't have any host-libraries until now.
-#
-
-MKLIB=echo library is complete:
-
-#
-# How to compile stuff into ${ARCH} subdirectory
-#
-# NOTE: we override COMPILE.c
-#
-
-COMPILE.c=$(CC) $(CFLAGS) $(CPPFLAGS) $(XCFLAGS) -c
-
-${ARCH}/%.o: %.c
- ${COMPILE.c} -o $@ $<
-
-${ARCH}/%.o: %.cc
- ${COMPILE.c} -o $@ $<
-
-# assembly runs gasp
-${ARCH}/%.o: %.s
- $(CPP) ${CPPFLAGS} $< | $(SED) 's/% /%/g' | $(SED) 's/^#.*//' >$(ARCH)/$*.i
- $(AS) -o $@ $(ARCH)/$*.i
- $(RM) $(ARCH)/$*.i
-
-# Link host applications.
-define make-exe
- ${CC} ${LDFLAGS} -o $@ $^ ${LD_LIBS}
-endef
-
-# Specify our own default rule for this to prevent having CFLAGS and
-# CPPFLAGS being passed to linker
-#
-# NOTE: This rule is only used as fallback for host-tool makefiles
-# which don't provide their own rule
-${ARCH}/%$(EXEEXT): ${ARCH}/%.o
- $(make-exe)
-
-# create $(ARCH)/pgm from pgm.sh
-${ARCH}/%: %.sh
- $(RM) $@
- $(CP) $< $@
- $(CHMOD) +x $@
-
-# Dependency files for use by gmake
-# NOTE: we don't put in $(TARGET_ARCH)
-# so that 'make clean' doesn't blow it away
-
-DEPEND=Depends-$(TARGET_ARCH:o-%=%)
-
-CLEAN_DEPEND=$(DEPEND).tmp
-CLOBBER_DEPEND=$(DEPEND)
-
-# We deliberately don't have anything depend on the
-# $(DEPEND) file; otherwise it will get rebuilt even
-# on 'make clean'
-#
-
-depend: $(C_FILES) $(CC_FILES) $(S_FILES)
-ifneq ($(words $(C_FILES) $(CC_FILES) $(S_FILES)), 0)
-# Use gcc -M to generate dependencies
-# Replace foo.o with $(ARCH)/foo.o
-# Replace $(ARCH) value with string $(ARCH)
-# so that it will for debug and profile cases
- $(COMPILE.c) -M $^ | \
- $(SED) -e 's?^\(.*\)\.o[ ]*:?$$(ARCH)/\1.o:?' \
- -e 's?$(ARCH)/?$$(ARCH)/?' >$(DEPEND).tmp
- $(MV) $(DEPEND).tmp $(DEPEND)
-endif
-
-define make-rel
- $(LD) $(LDFLAGS_INCOMPLETE) $(XLDFLAGS) -o $@ $(OBJS)
-endef
diff --git a/make/custom/HPUX9-posix.cfg b/make/custom/HPUX9-posix.cfg
index 3af91c55d2..554d673c90 100644
--- a/make/custom/HPUX9-posix.cfg
+++ b/make/custom/HPUX9-posix.cfg
@@ -5,9 +5,6 @@
#
# Specify here the host and target "architectures"
-HOST_ARCH=o-$(RTEMS_HOST)
-TARGET_ARCH=o-$(RTEMS_BSP)
-
RTEMS_CPU=unix
RTEMS_CPU_FAMILY=hppa1_1
RTEMS_CPU_MODEL=hppa7200
diff --git a/make/custom/default.cfg b/make/custom/default.cfg
index c6628f8068..8084579c69 100644
--- a/make/custom/default.cfg
+++ b/make/custom/default.cfg
@@ -12,7 +12,6 @@ include $(RTEMS_ROOT)/make/target.cfg
include $(RTEMS_ROOT)/make/host.cfg
# Specify here the host and target "architectures"
-HOST_ARCH=o-$(RTEMS_HOST)
ifndef TARGET_ARCH
TARGET_ARCH=o-$(RTEMS_BSP)
endif
@@ -30,10 +29,6 @@ INLINE=inline
INLINE_UPCASE=INLINE
endif
-# HOST Compiler config file
-# You may also want to specify where the compiler resides here.
-CONFIG.$(HOST_ARCH).CC = $(PROJECT_ROOT)/make/compilers/gcc.cfg
-
## Target compiler config file, if any
CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-target-default.cfg
diff --git a/make/leaf.cfg b/make/leaf.cfg
index b02af689fd..06407755ae 100644
--- a/make/leaf.cfg
+++ b/make/leaf.cfg
@@ -34,16 +34,10 @@ 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)
+# 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
-ifeq (,$(USE_HOST_COMPILER))
- include ${CONFIG.$(TARGET_ARCH).CC}
-else
- include $(CONFIG.$(HOST_ARCH).CC)
-endif
+include ${CONFIG.$(TARGET_ARCH).CC}
ifeq (${DEPEND},$(wildcard ${DEPEND}))
include ${DEPEND} # pull in dependencies if they exist
endif