forked from Imagelibrary/rtems
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.
This commit is contained in:
@@ -217,19 +217,6 @@
|
|||||||
Your own private configuration file. Specifies which of the above
|
Your own private configuration file. Specifies which of the above
|
||||||
files you want to include.
|
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
|
generic rules file
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
@@ -306,10 +293,6 @@
|
|||||||
a number of MAKE variables are automatically set and maintained by
|
a number of MAKE variables are automatically set and maintained by
|
||||||
the config files.
|
the config files.
|
||||||
|
|
||||||
CONFIG.$(HOST_ARCH).CC
|
|
||||||
-- full path of C compilation config file, set by custom
|
|
||||||
config file.
|
|
||||||
|
|
||||||
PROJECT_RELEASE
|
PROJECT_RELEASE
|
||||||
-- release/install directory
|
-- release/install directory
|
||||||
[ $(PROJECT_ROOT) ]
|
[ $(PROJECT_ROOT) ]
|
||||||
@@ -329,10 +312,6 @@
|
|||||||
ARCH -- target sub-directory for object code
|
ARCH -- target sub-directory for object code
|
||||||
[ eg: o-pc386 or o-pc386-debug ]
|
[ 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);
|
VARIANTS -- full list of all possible values for $(ARCH);
|
||||||
used mainly for 'make clean'
|
used mainly for 'make clean'
|
||||||
[ eg: "o-pc386 o-pc386-debug o-pc386-profile" ]
|
[ eg: "o-pc386 o-pc386-debug o-pc386-profile" ]
|
||||||
|
|||||||
@@ -10,12 +10,6 @@ rtems_make_compilersdir=$(rtems_makedir)/compilers
|
|||||||
## At the moment all actively supported configurations
|
## At the moment all actively supported configurations
|
||||||
## use gcc-target-default.cfg only.
|
## use gcc-target-default.cfg only.
|
||||||
rtems_make_compilers_DATA= \
|
rtems_make_compilers_DATA= \
|
||||||
gcc.cfg \
|
|
||||||
gcc-target-default.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
|
include $(top_srcdir)/../../../automake/local.am
|
||||||
|
|||||||
@@ -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
|
|
||||||
@@ -128,5 +128,4 @@ bsp.cfg
|
|||||||
custom/Makefile
|
custom/Makefile
|
||||||
custom/default.cfg
|
custom/default.cfg
|
||||||
compilers/Makefile
|
compilers/Makefile
|
||||||
compilers/gcc.cfg
|
|
||||||
)
|
)
|
||||||
|
|||||||
21
make/README
21
make/README
@@ -217,19 +217,6 @@
|
|||||||
Your own private configuration file. Specifies which of the above
|
Your own private configuration file. Specifies which of the above
|
||||||
files you want to include.
|
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
|
generic rules file
|
||||||
------------------
|
------------------
|
||||||
|
|
||||||
@@ -306,10 +293,6 @@
|
|||||||
a number of MAKE variables are automatically set and maintained by
|
a number of MAKE variables are automatically set and maintained by
|
||||||
the config files.
|
the config files.
|
||||||
|
|
||||||
CONFIG.$(HOST_ARCH).CC
|
|
||||||
-- full path of C compilation config file, set by custom
|
|
||||||
config file.
|
|
||||||
|
|
||||||
PROJECT_RELEASE
|
PROJECT_RELEASE
|
||||||
-- release/install directory
|
-- release/install directory
|
||||||
[ $(PROJECT_ROOT) ]
|
[ $(PROJECT_ROOT) ]
|
||||||
@@ -329,10 +312,6 @@
|
|||||||
ARCH -- target sub-directory for object code
|
ARCH -- target sub-directory for object code
|
||||||
[ eg: o-pc386 or o-pc386-debug ]
|
[ 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);
|
VARIANTS -- full list of all possible values for $(ARCH);
|
||||||
used mainly for 'make clean'
|
used mainly for 'make clean'
|
||||||
[ eg: "o-pc386 o-pc386-debug o-pc386-profile" ]
|
[ eg: "o-pc386 o-pc386-debug o-pc386-profile" ]
|
||||||
|
|||||||
@@ -7,8 +7,7 @@ AUTOMAKE_OPTIONS = foreign 1.4
|
|||||||
EXTRA_DIST = \
|
EXTRA_DIST = \
|
||||||
gcc-no_bsp.cfg \
|
gcc-no_bsp.cfg \
|
||||||
gcc-portsw.cfg \
|
gcc-portsw.cfg \
|
||||||
gcc-target-default.cfg \
|
gcc-target-default.cfg
|
||||||
gcc.cfg.in
|
|
||||||
|
|
||||||
## -------------------------------------------------------
|
## -------------------------------------------------------
|
||||||
include $(top_srcdir)/automake/local.am
|
include $(top_srcdir)/automake/local.am
|
||||||
|
|||||||
@@ -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
|
|
||||||
@@ -5,9 +5,6 @@
|
|||||||
#
|
#
|
||||||
|
|
||||||
# Specify here the host and target "architectures"
|
# Specify here the host and target "architectures"
|
||||||
HOST_ARCH=o-$(RTEMS_HOST)
|
|
||||||
TARGET_ARCH=o-$(RTEMS_BSP)
|
|
||||||
|
|
||||||
RTEMS_CPU=unix
|
RTEMS_CPU=unix
|
||||||
RTEMS_CPU_FAMILY=hppa1_1
|
RTEMS_CPU_FAMILY=hppa1_1
|
||||||
RTEMS_CPU_MODEL=hppa7200
|
RTEMS_CPU_MODEL=hppa7200
|
||||||
|
|||||||
@@ -12,7 +12,6 @@ include $(RTEMS_ROOT)/make/target.cfg
|
|||||||
include $(RTEMS_ROOT)/make/host.cfg
|
include $(RTEMS_ROOT)/make/host.cfg
|
||||||
|
|
||||||
# Specify here the host and target "architectures"
|
# Specify here the host and target "architectures"
|
||||||
HOST_ARCH=o-$(RTEMS_HOST)
|
|
||||||
ifndef TARGET_ARCH
|
ifndef TARGET_ARCH
|
||||||
TARGET_ARCH=o-$(RTEMS_BSP)
|
TARGET_ARCH=o-$(RTEMS_BSP)
|
||||||
endif
|
endif
|
||||||
@@ -30,10 +29,6 @@ INLINE=inline
|
|||||||
INLINE_UPCASE=INLINE
|
INLINE_UPCASE=INLINE
|
||||||
endif
|
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
|
## Target compiler config file, if any
|
||||||
CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-target-default.cfg
|
CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-target-default.cfg
|
||||||
|
|
||||||
|
|||||||
@@ -34,16 +34,10 @@ MANAGERS := $(patsubst all, $(MANAGER_LIST), $(MANAGERS))
|
|||||||
# and finally rip out duplicates
|
# and finally rip out duplicates
|
||||||
MANAGERS := $(sort $(MANAGERS))
|
MANAGERS := $(sort $(MANAGERS))
|
||||||
|
|
||||||
# Pull in the desired compiler
|
# Pull in the desired "target" compiler
|
||||||
# This is almost always the "target" compiler.
|
# Programs built on the host use automake generated rules.
|
||||||
# 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
|
# This will not change $(ARCH) -- binaries will still be place as per target
|
||||||
ifeq (,$(USE_HOST_COMPILER))
|
include ${CONFIG.$(TARGET_ARCH).CC}
|
||||||
include ${CONFIG.$(TARGET_ARCH).CC}
|
|
||||||
else
|
|
||||||
include $(CONFIG.$(HOST_ARCH).CC)
|
|
||||||
endif
|
|
||||||
ifeq (${DEPEND},$(wildcard ${DEPEND}))
|
ifeq (${DEPEND},$(wildcard ${DEPEND}))
|
||||||
include ${DEPEND} # pull in dependencies if they exist
|
include ${DEPEND} # pull in dependencies if they exist
|
||||||
endif
|
endif
|
||||||
|
|||||||
Reference in New Issue
Block a user