From 98100d275f62a034917d0b1f3157053e6c130005 Mon Sep 17 00:00:00 2001 From: Joel Sherrill Date: Sat, 27 Jun 1998 17:09:47 +0000 Subject: Monstrous patch from Ralf Corsepius . I have made no attempt to divide the comments up and place them with just the appropriate files. Here is an excerpt from Ralf's email: Changes including comments on changes I made after cycling through all the targets: * Added ranlib support. Now all targets use "ranlib" instead of "ar -s" to build an index for a library. If ranlib isn't detected during configuration, check if ar -s is working and try "ar -s" instead of * Removed $(XXX_FOR_TARGET) from make/target.cfg.in, use $(XXX) instead now. * gcc-target-default.cfg: LINK_XXXX-defines reworked to solve the -l problem under posix (cf gcc-target-default.cfg) * rtems-glom replaced by Makefile-rules inside of the wrapup/Makefile.in that has been using rtems-glom until now. * Removed CCC and friends in gcc-target-default.cfg, as they have been breaking CXX support. * Removed CONFIG.$(TARGET_ARCH).CC lines from several custom/*.cfg files, because this is now set in custom/default.cfg. * Added aclocal/ar-s.m4, check whether "ar -s" is working * Added aclocal/cygwin.m4 and aclocal/exeext.m4. * Reworked aclocal/canonicalize-tools.m4: Added ar -s check; fixes for problems when XXX_FOR_TARGET is given via environment variables (didn't work for gcc until now), adding cygwin check, improved autoconf-cache handling. * Removed -l from make rule dependencies. LINK_LIBS is now allowed to contain -L and -l. LINK_OBJS and LINK_FILES must not contain -L or -l. gcc28 make-exe rules now link using $(LINK_OBJS) $(LINK_LIBS) => Almost all custom/*.cfg are modified. This is very likely to break something because of typos or having missed to edit a file. Open problems, known bugs, things I didn't do: * custom/p4000.cfg seems to be out of date and requires to be reviewed. (JRS NOTE: It is subordinate p4650 and p4600 -- both of which build ok after minor changes.) * custom/psim.cfg needs to be reviewed, I added some changes to it, I am insecure about. (JRS NOTE: psim had a minor problem endif/endef swapped but runs fine.) * rtems-glom.in can now be removed. * gcc*.cfg files "make depend" rules don't honor language specific flags (e.g CXXFLAGS is ignored for *.cc) - Nothing to worry about now, but may cause problems for hosts/targets not using gcc or rtems-add-ons that use external packages. * AFAIS, the no_bsp BSP can't be build anymore, i.e. configure refused to configure for it whatever I tried. * The toplevel and toplevel+1 README files are quite out-dated * cygwin.m4 isn't of much use for rtems. In most cases (cf. aclocal/*.m4) it is worked around by directly using $host_os. I think I'll remove it soon after the next snapshot * Before release the cygwin patch needs to be tested under cygwin. I may have broken/missed something (esp. the sed-pattern to convert \\ into / may be broken). * You should try to build/run the posix-BSP under solaris - I don't expect problems, but I am not 100% sure, esp. with regard to ranlib/ar -s. * You should consider to convert all make/compilers/*.cfg files into make/compilers/*.cfg.in files and let autoconf generate the *.cfg. This may help getting rid of some if/then/else statements and help hard-coding some defines into those files in future and shouldn't disturb now. * Not having installed libc.a/libm.a on a host may still break building rtems, esp. when using -disable-gcc28 as the gcc27-configuration scheme directly accesses libc.a and libm.a. The problem should not appear when using gcc28 because it references libc/libm only through -lc and -lm which may be static or dynamic (I didn't test this). * shgen is not yet included (I didn't yet have enough time to integrate it). * I know about a few more configure-probs (esp. cross-checking --enable-* flags). + warn/refuse to configure when --enable-libcdir and --enable-gcc28 are given. + force --enable-libcdir when --disable-gcc28 is given * Replaced KSHELL with @KSH@ in some shell scripts generated by configure.in. * Added a dependency to aclocal/*.m4 in the toplevel Makefile => configure and aclocal.m4 will now be rebuild when any aclocal/*.m4 file is changed * Some changes to aclocal/gcc-pipe.m4 and aclocal/gcc-specs.m4 * Replaced i[[3456]]86-unknown-freebsd2.[[12]] with i[[3456]]86-*freebsd2.* in configure.in, as I suppose there might exist a variety of valid vendors (2nd field of the name-tripple) * Disabled override MAKEFLAGS in toplevel Makefile.in - Potential side-effects are not really clear to me. * In mvme162.cfg, $(LINK_LIBS) is missing in the CC line in gcc28's make-exe rule (yet another one I missed to edit). Just append $(LINK_LIBS) to the "CC" line, like I hopefully did to ALL other custom/*.cfg files. * the problem with mvme162lx.cfg is a follow-up problem of the mvme162.cfg-bug. * mvme162/console and idp/console had variables named Buffer which conflicted with similarly named variables in some tests. --- make/custom/FreeBSD-posix.cfg | 15 +-------------- make/custom/HPUX9-posix.cfg | 11 +---------- make/custom/Linux-posix.cfg | 16 +--------------- make/custom/Solaris-posix.cfg | 13 +------------ make/custom/bare.cfg | 3 --- make/custom/cvme961.cfg | 3 ++- make/custom/dmv152.cfg | 3 ++- make/custom/efi332.cfg | 3 ++- make/custom/efi68k.cfg | 3 ++- make/custom/erc32.cfg | 3 ++- make/custom/force386.cfg | 3 ++- make/custom/gen68302.cfg | 3 ++- make/custom/gen68360.cfg | 3 ++- make/custom/gensh1.cfg | 14 +++++++------- make/custom/go32.cfg | 7 ++++--- make/custom/i386ex.cfg | 3 ++- make/custom/idp.cfg | 3 ++- make/custom/mvme136.cfg | 3 ++- make/custom/mvme147.cfg | 3 ++- make/custom/mvme162.cfg | 12 ++++-------- make/custom/no_bsp.cfg | 25 +------------------------ make/custom/ods68302.cfg | 8 ++------ make/custom/p4000.cfg | 5 +++-- make/custom/p4600.cfg | 9 ++++----- make/custom/p4650.cfg | 14 ++++---------- make/custom/papyrus.cfg | 3 ++- make/custom/pc386.cfg | 3 ++- make/custom/psim.cfg | 11 ++++++++++- make/custom/simhppa.cfg | 3 ++- 29 files changed, 73 insertions(+), 135 deletions(-) (limited to 'make/custom') diff --git a/make/custom/FreeBSD-posix.cfg b/make/custom/FreeBSD-posix.cfg index f48b2ecc49..326c0078f2 100644 --- a/make/custom/FreeBSD-posix.cfg +++ b/make/custom/FreeBSD-posix.cfg @@ -34,11 +34,7 @@ LIBC_DEFINES += -DHEAPSPACE_MB=1 # This requires that at least the GNU C++ compiler and libg++ be installed. ifeq ($(RTEMS_HAS_CPLUSPLUS),yes) HAS_CPLUSPLUS=yes -# No need to set it, gcc knows about them -# LIBCC_INCLUDE=/usr/include/g++ CPLUS_LD_LIBS += $(PROJECT_RELEASE)/lib/librtems++$(LIBSUFFIX_VA) -else -HAS_CPLUSPLUS=no endif # Define this to yes if this target supports multiprocessor environments. @@ -80,21 +76,12 @@ define make-target-options echo "#define RTEMS_UNIX 1 " >>$@ endef -ifeq ($(RTEMS_USE_GCC272),yes) define make-exe - $(CC) -o $@ $(LINK_FILES) $(LD_LIBS) $(LIBC_LIBM) $(LIBC_LIBC) + $(CC) $(CFLAGS) -o $@ $(LINK_OBJS) $(LINK_LIBS) $(NM) -ng $@ > $(basename $@).num $(SIZE) $@ endef -else -# -# gcc28 not yet supported -# -endif # ***************************************************************** # Miscellaneous additions go here - -# Workaround for missing ranlib support in RTEMS -MKLIB=$(AR) s $(@) ; echo library is complete: diff --git a/make/custom/HPUX9-posix.cfg b/make/custom/HPUX9-posix.cfg index 7adcb73267..c0383ea164 100644 --- a/make/custom/HPUX9-posix.cfg +++ b/make/custom/HPUX9-posix.cfg @@ -75,20 +75,11 @@ define make-target-options echo "#define RTEMS_UNIX 1 " >>$@ endef -ifeq ($(RTEMS_USE_GCC272),yes) define make-exe - $(CC) -o $@ $(LINK_FILES) $(LD_LIBS) $(LIBC_LIBM) $(LIBC_LIBC) + $(CC) $(CFLAGS) -o $@ $(LINK_OBJS) $(LINK_LIBS) $(NM) -ng $@ > $(basename $@).num $(SIZE) $@ endef -else -# -# gcc28 not yet supported -# -endif # Miscellaneous additions go here -# Workaround for missing ranlib support in RTEMS -MKLIB=$(AR) s $(@) ; echo library is complete: - diff --git a/make/custom/Linux-posix.cfg b/make/custom/Linux-posix.cfg index 5c0b5de5d6..2972d6388a 100644 --- a/make/custom/Linux-posix.cfg +++ b/make/custom/Linux-posix.cfg @@ -77,26 +77,12 @@ define make-target-options echo "#define RTEMS_UNIX 1 " >>$@ endef -ifeq ($(RTEMS_USE_GCC272),yes) define make-exe - $(CC) -o $@ $(LINK_FILES) $(LD_LIBS) $(LIBC_LIBM) $(LIBC_LIBC) + $(CC) $(CFLAGS) -o $@ $(LINK_OBJS) $(LINK_LIBS) $(NM) -ng $@ > $(basename $@).num $(SIZE) $@ endef -else -# -# just use the same make-exe as gcc 272 -# -define make-exe - $(CC) -o $@ $(LINK_FILES) $(LD_LIBS) $(LIBC_LIBM) $(LIBC_LIBC) - $(NM) -ng $@ > $(basename $@).num - $(SIZE) $@ -endef -endif # ***************************************************************** # Miscellaneous additions go here - -# Workaround for missing ranlib support in RTEMS -MKLIB=$(AR) s $(@) ; echo library is complete: diff --git a/make/custom/Solaris-posix.cfg b/make/custom/Solaris-posix.cfg index bab2c21427..f2bf14997c 100644 --- a/make/custom/Solaris-posix.cfg +++ b/make/custom/Solaris-posix.cfg @@ -27,7 +27,6 @@ RTEMS_USE_NEWLIB=no LIBC_DEFINES += -DWORKSPACE_MB=2 LIBC_DEFINES += -DHEAPSPACE_MB=1 LIBC_DEFINES +=-DRTEMS_UNIXLIB -DRTEMS_UNIX -DMALLOC_PROVIDED -DRTEMS_DEBUG -LIBC_LIBM=-lm DEFINES += -D__EXTENSIONS__ -Dsolaris2 @@ -77,21 +76,11 @@ define make-target-options echo "#define RTEMS_UNIX 1 " >>$@ endef -ifeq ($(RTEMS_USE_GCC272),yes) define make-exe - $(CC) -o $@ $(LINK_FILES) $(LD_LIBS) $(LIBC_LIBM) $(LIBC_LIBC) + $(CC) $(CFLAGS) -o $@ $(LINK_OBJS) $(LINK_LIBS) $(NM) -ng $@ > $(basename $@).num $(SIZE) $@ endef -else -# NOTE: Untested -define make-exe - $(CC) -v $(CFLAGS) -o $@ $(LINK_OBJS) - $(NM) -ng $@ > $(basename $@).num - $(SIZE) $@ -endef -endif - # ***************************************************************** diff --git a/make/custom/bare.cfg b/make/custom/bare.cfg index ce826ce7ba..8ad849e4be 100644 --- a/make/custom/bare.cfg +++ b/make/custom/bare.cfg @@ -17,9 +17,6 @@ CPU_CFLAGS=$(BARE_CPU_CFLAGS) include $(RTEMS_ROOT)/make/custom/default.cfg -## Target compiler config file, if any -CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-target-default.cfg - # optimize flag: typically -0, could use -O4 or -fast # -O4 is ok for RTEMS CFLAGS_OPTIMIZE_V=-O4 -fomit-frame-pointer diff --git a/make/custom/cvme961.cfg b/make/custom/cvme961.cfg index 443fe07c56..fbc8eb660a 100644 --- a/make/custom/cvme961.cfg +++ b/make/custom/cvme961.cfg @@ -68,7 +68,8 @@ endef else define make-exe - $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).exe $(LINK_OBJS) + $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).exe \ + $(LINK_OBJS) $(LINK_LIBS) $(NM) -g -n $(basename $@).exe > $(basename $@).num $(SIZE) $(basename $@).exe endef diff --git a/make/custom/dmv152.cfg b/make/custom/dmv152.cfg index aa87312e4f..078f23c636 100644 --- a/make/custom/dmv152.cfg +++ b/make/custom/dmv152.cfg @@ -71,7 +71,8 @@ define make-exe endef else define make-exe - $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).nxe $(LINK_OBJS) + $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).nxe \ + $(LINK_OBJS) $(LINK_LIBS) $(OBJCOPY) -O srec $(basename $@).nxe $(basename $@).i $(SED) -e 's/.$$//' -e '/^S0/d' $(basename $@).i | \ $(PROJECT_TOOLS)/packhex > $(basename $@).exe diff --git a/make/custom/efi332.cfg b/make/custom/efi332.cfg index 3cecefe485..ec3a4d8cde 100644 --- a/make/custom/efi332.cfg +++ b/make/custom/efi332.cfg @@ -62,7 +62,8 @@ define make-exe endef else define make-exe - $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).nxe $(LINK_OBJS) + $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).nxe \ + $(LINK_OBJS) $(LINK_LIBS) $(OBJCOPY) -O srec $(basename $@).nxe $(basename $@).i $(SED) -e 's/.$$//' -e '/^S0/d' $(basename $@).i | \ $(PROJECT_TOOLS)/packhex > $(basename $@).exe diff --git a/make/custom/efi68k.cfg b/make/custom/efi68k.cfg index d3005af7d4..34f91c2357 100644 --- a/make/custom/efi68k.cfg +++ b/make/custom/efi68k.cfg @@ -62,7 +62,8 @@ define make-exe endef else define make-exe - $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).nxe $(LINK_OBJS) + $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).nxe \ + $(LINK_OBJS) $(LINK_LIBS) $(OBJCOPY) -O srec $(basename $@).nxe $(basename $@).i $(SED) -e 's/.$$//' -e '/^S0/d' $(basename $@).i | \ $(PROJECT_TOOLS)/packhex > $(basename $@).exe diff --git a/make/custom/erc32.cfg b/make/custom/erc32.cfg index 569d7139cc..3267d52474 100644 --- a/make/custom/erc32.cfg +++ b/make/custom/erc32.cfg @@ -90,7 +90,8 @@ define make-exe endef else define make-exe - $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).exe $(LINK_OBJS) + $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).exe \ + $(LINK_OBJS) $(LINK_LIBS) $(NM) -g -n $(basename $@).exe > $(basename $@).num $(SIZE) $(basename $@).exe endef diff --git a/make/custom/force386.cfg b/make/custom/force386.cfg index 1738acb508..7828e3576d 100644 --- a/make/custom/force386.cfg +++ b/make/custom/force386.cfg @@ -66,7 +66,8 @@ define make-exe endef else define make-exe - $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).nxe $(LINK_OBJS) + $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).nxe \ + $(LINK_OBJS) $(LINK_LIBS) $(OBJCOPY) -O srec $(basename $@).nxe $(basename $@).i $(SED) -e 's/.$$//' -e '/^S0/d' $(basename $@).i | \ $(PROJECT_TOOLS)/packhex > $(basename $@).exe diff --git a/make/custom/gen68302.cfg b/make/custom/gen68302.cfg index 886d519f7c..7fce2148d2 100644 --- a/make/custom/gen68302.cfg +++ b/make/custom/gen68302.cfg @@ -62,7 +62,8 @@ define make-exe endef else define make-exe - $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).exe $(LINK_OBJS) + $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).exe \ + $(LINK_OBJS) $(LINK_LIBS) $(NM) -g -n $(basename $@).exe > $(basename $@).num $(SIZE) $(basename $@).exe endef diff --git a/make/custom/gen68360.cfg b/make/custom/gen68360.cfg index b476763b0b..fb1493d788 100644 --- a/make/custom/gen68360.cfg +++ b/make/custom/gen68360.cfg @@ -83,7 +83,8 @@ endef else define make-exe - $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).exe $(LINK_OBJS) + $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).exe \ + $(LINK_OBJS) $(LINK_LIBS) $(NM) -g -n $(basename $@).exe > $(basename $@).num $(SIZE) $(basename $@).exe endef diff --git a/make/custom/gensh1.cfg b/make/custom/gensh1.cfg index fac62e69b5..6490fe7e09 100644 --- a/make/custom/gensh1.cfg +++ b/make/custom/gensh1.cfg @@ -63,19 +63,21 @@ endef # The following are definitions of make-exe which will work using ld as # is currently required. It is expected that as of gcc 2.8, the end user # will be able to override parts of the compilers specs and link using gcc. -# -T$(PROJECT_RELEASE)/lib/linkcmds $(LINK_FILES) -lrtemsall -lc $(LD_PATHS:%=-L %) ifeq ($(RTEMS_USE_GCC272),yes) define make-exe - $(CC) $(LDFLAGS) -nostdlib -o $(basename $@).exe \ - -T$(PROJECT_RELEASE)/lib/linkcmds $(LINK_FILES) $(LD_PATHS:%=-L %) + $(LD) $(LDFLAGS) -N -e _start \ + -T$(PROJECT_RELEASE)/lib/linkcmds\ + -o $(basename $@).exe \ + $(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group $(NM) -n $(basename $@).exe > $(basename $@).num $(SIZE) $(basename $@).exe endef else define make-exe - $(CC) -Wl,-Map,$(basename $@).map $(CFLAGS) \ - -o $(basename $@).exe $(LINK_OBJS) + $(CC) -v -Wl,-Map,$(basename $@).map \ + $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).exe \ + $(LINK_OBJS) $(LINK_LIBS) $(NM) -n $(basename $@).exe > $(basename $@).num $(SIZE) $(basename $@).exe endef @@ -83,5 +85,3 @@ endif # Miscellaneous additions go here -# Workaround for missing ranlib support in rtems -MKLIB=$(RANLIB) diff --git a/make/custom/go32.cfg b/make/custom/go32.cfg index 847fc529da..ff67d0b0fd 100644 --- a/make/custom/go32.cfg +++ b/make/custom/go32.cfg @@ -93,15 +93,16 @@ define make-exe $(LD) $(LDFLAGS) -N -o $(basename $@).exe \ $(shell $(CC) $(CPU_CFLAGS) -print-file-name=crt0.o) \ $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group \ - $(shell $(CC) $(CPU_CFLAGS) -print-file-name=libcgo32.a) \ - $(shell $(CC) $(CPU_CFLAGS) -print-file-name=libpc.a) + $(shell $(CC) $(CPU_CFLAGS) -print-file-name=libcgo32.a $(GCCSED)) \ + $(shell $(CC) $(CPU_CFLAGS) -print-file-name=libpc.a $(GCCSED)) $(NM) -g -n $(basename $@).exe > $(basename $@).num $(SIZE) $(basename $@).exe endef else define make-exe - $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).exe $(LINK_OBJS) + $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).exe \ + $(LINK_OBJS) $(LINK_LIBS) $(NM) -g -n $(basename $@).exe > $(basename $@).num $(SIZE) $(basename $@).exe endef diff --git a/make/custom/i386ex.cfg b/make/custom/i386ex.cfg index 7939307e05..12fcec58fb 100644 --- a/make/custom/i386ex.cfg +++ b/make/custom/i386ex.cfg @@ -67,7 +67,8 @@ define make-exe endef else define make-exe - $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).nxe $(LINK_OBJS) + $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).nxe \ + $(LINK_OBJS) $(LINK_LIBS) $(OBJCOPY) -O srec $(basename $@).nxe $(basename $@).i $(SED) -e 's/.$$//' -e '/^S0/d' $(basename $@).i | \ $(PROJECT_TOOLS)/packhex > $(basename $@).exe diff --git a/make/custom/idp.cfg b/make/custom/idp.cfg index 302144c4a5..89541a7522 100644 --- a/make/custom/idp.cfg +++ b/make/custom/idp.cfg @@ -64,7 +64,8 @@ define make-exe endef else define make-exe - $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).nxe $(LINK_OBJS) + $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).nxe \ + $(LINK_OBJS) $(LINK_LIBS) $(OBJCOPY) -O srec $(basename $@).nxe $(basename $@).i $(SED) -e 's/.$$//' -e '/^S0/d' $(basename $@).i | \ $(PROJECT_TOOLS)/packhex > $(basename $@).exe diff --git a/make/custom/mvme136.cfg b/make/custom/mvme136.cfg index aceb7b473c..ada4a834f4 100644 --- a/make/custom/mvme136.cfg +++ b/make/custom/mvme136.cfg @@ -63,7 +63,8 @@ define make-exe endef else define make-exe - $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).nxe $(LINK_OBJS) + $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).nxe \ + $(LINK_OBJS) $(LINK_LIBS) $(OBJCOPY) -O srec $(basename $@).nxe $(basename $@).i $(SED) -e 's/.$$//' -e '/^S0/d' $(basename $@).i | \ $(PROJECT_TOOLS)/packhex > $(basename $@).exe diff --git a/make/custom/mvme147.cfg b/make/custom/mvme147.cfg index 74defad98a..89aab49929 100644 --- a/make/custom/mvme147.cfg +++ b/make/custom/mvme147.cfg @@ -57,7 +57,8 @@ define make-exe endef else define make-exe - $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).nxe $(LINK_OBJS) + $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).nxe \ + $(LINK_OBJS) $(LINK_LIBS) $(OBJCOPY) -O srec $(basename $@).nxe $(basename $@).i $(SED) -e 's/.$$//' -e '/^S0/d' $(basename $@).i | \ $(PROJECT_TOOLS)/packhex > $(basename $@).exe diff --git a/make/custom/mvme162.cfg b/make/custom/mvme162.cfg index ed5d974169..21a2fe7782 100644 --- a/make/custom/mvme162.cfg +++ b/make/custom/mvme162.cfg @@ -26,9 +26,6 @@ endif # mvme162lx - mc68lc040 # This is the actual bsp directory used during the build process. RTEMS_BSP_FAMILY=mvme162 -## Target compiler config file, if any -CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-target-default.cfg - # We may install in a CPU model based directory but this is still # a mvme162 based bsp. RTEMS_BSP=mvme162 @@ -90,7 +87,8 @@ endif # mc68lc040 define make-exe $(LD) $(LDFLAGS) -N -T $(LINKCMDS) -o $(basename $@).nxe \ - $(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group + $(START_FILE) $(LINK_OBJS) \ + --start-group $(LINK_LIBS) --end-group $(OBJCOPY) -O srec $(basename $@).nxe $(basename $@).i $(SED) -e 's/.$$//' -e '/^S0/d' $(basename $@).i | \ $(PROJECT_TOOLS)/packhex > $(basename $@).exe @@ -99,7 +97,8 @@ define make-exe endef else define make-exe - $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).nxe $(LINK_OBJS) + $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).nxe $(LINK_OBJS) \ + $(LINK_LIBS) $(OBJCOPY) -O srec $(basename $@).nxe $(basename $@).i $(SED) -e 's/.$$//' -e '/^S0/d' $(basename $@).i | \ $(PROJECT_TOOLS)/packhex > $(basename $@).exe @@ -108,6 +107,3 @@ define make-exe endef endif # Miscellaneous additions go here - - - diff --git a/make/custom/no_bsp.cfg b/make/custom/no_bsp.cfg index dd27e58a20..a0f29170de 100644 --- a/make/custom/no_bsp.cfg +++ b/make/custom/no_bsp.cfg @@ -4,9 +4,7 @@ # $Id$ # -# Specify here the host and target "architectures" -HOST_ARCH=o-$(RTEMS_HOST) -TARGET_ARCH=o-$(RTEMS_BSP) +include $(RTEMS_ROOT)/make/custom/default.cfg RTEMS_CPU=no_cpu RTEMS_CPU_MODEL=no_cpu_model @@ -14,27 +12,6 @@ RTEMS_CPU_MODEL=no_cpu_model # This is the actual bsp directory used during the build process. RTEMS_BSP_FAMILY=no_bsp -# use the inline functions instead of the macros -# ref: src/exec/generic/Makefile -# Need INLINE_UPCASE set to uppercase value of INLINE variable -# ref: make/compilers/gcc-force386.cfg -ifeq ($(RTEMS_USE_MACROS),yes) -INLINE=macros -INLINE_UPCASE= -else -INLINE=inline -INLINE_UPCASE=INLINE -endif - -# HOST Compiler config file -# You may also want to specify where the compiler resides here. -CC_$(HOST_ARCH)_DIR=$(RTEMS_GNUTOOLS_HOST) -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-$(RTEMS_BSP).cfg - # Use the LIBC support for CYGNUS newlib # RTEMS_LIBC_DIR must already be set (by module file) RTEMS_USE_NEWLIB=no diff --git a/make/custom/ods68302.cfg b/make/custom/ods68302.cfg index cad5bd0f9d..ac4ffa9d0d 100644 --- a/make/custom/ods68302.cfg +++ b/make/custom/ods68302.cfg @@ -40,12 +40,7 @@ HAS_KA9Q=no # This requires that at least the GNU C++ compiler and libg++ be installed. ifeq ($(RTEMS_HAS_CPLUSPLUS),yes) HAS_CPLUSPLUS=yes -# no standard C++ libs provided by default -#LIBCC_INCLUDE=/usr/include/g++ -#CPLUS_LD_LIBS=-lstdc++ -lrtems++ CPLUS_LD_LIBS=$(PROJECT_RELEASE)/lib/librtems++$(LIBSUFFIX_VA) -else -HAS_CPLUSPLUS=no endif START_BASE=start302 @@ -90,7 +85,8 @@ else define make-exe $(CC) $(CFLAGS) $(CFLAGS_LD) \ -Wl,-defsym -Wl,MC68302_BASE=$(MC68302_BASE) \ - -o $(basename $@).exe $(LINK_OBJS) + -o $(basename $@).exe \ + $(LINK_OBJS) $(LINK_LIBS) $(NM) -g -n $(basename $@).exe > $(basename $@).num $(SIZE) $(basename $@).exe endef diff --git a/make/custom/p4000.cfg b/make/custom/p4000.cfg index 18f46f007c..9f468adfc0 100644 --- a/make/custom/p4000.cfg +++ b/make/custom/p4000.cfg @@ -54,7 +54,7 @@ CFLAGS_OPTIMIZE_V=-O4 -fomit-frame-pointer ifeq ($(RTEMS_USE_GCC272),yes) define make-exe $(CC) $(LDFLAGS) -nostdlib -o $(basename $@).exe \ - -T$(PROJECT_RELEASE)/lib/linkcmds $(LINK_FILES) $(LD_PATHS:%=-L %) + -T$(PROJECT_RELEASE)/lib/linkcmds $(LINK_OBJS) $(LINK_LIBS) $(LD_PATHS:%=-L %) $(OBJCOPY) -O srec $(basename $@).exe $(basename $@).srec1 $(PACKHEX) < $(basename $@).srec1 > $(basename $@).srec $(RM) $(basename $@).srec1 @@ -63,7 +63,8 @@ define make-exe endef else define make-exe - $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).exe $(LINK_OBJS) + $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).exe \ + $(LINK_OBJS) $(LINK_LIBS) $(OBJCOPY) -O srec $(basename $@).exe $(basename $@).srec1 $(PACKHEX) < $(basename $@).srec1 > $(basename $@).srec $(RM) $(basename $@).srec1 diff --git a/make/custom/p4600.cfg b/make/custom/p4600.cfg index 3c5d198040..2d8e5b3f9b 100644 --- a/make/custom/p4600.cfg +++ b/make/custom/p4600.cfg @@ -25,9 +25,6 @@ CPU_DEFINES+=-DP4000 -DCPU_R4000 -DP3_DIAG -D_R4000 -D__mips=3 TARGET_ARCH=o-p4600 RTEMS_BSP=p4000 -## Target compiler config file, if any -CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-target-default.cfg - # This target does NOT support the KA9Q TCP/IP stack so ignore requests # to enable it. HAS_KA9Q=no @@ -74,7 +71,8 @@ ifeq ($(RTEMS_USE_GCC272),yes) define make-exe $(LD) $(LDFLAGS) -N -T $(LINKCMDS) -o $(basename $@).exe \ - $(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group + $(START_FILE) $(LINK_OBJS) \ + --start-group $(LINK_LIBS) --end-group $(OBJCOPY) -O srec $(basename $@).exe $(basename $@).srec1 $(PACKHEX) < $(basename $@).srec1 > $(basename $@).srec $(RM) $(basename $@).srec1 @@ -83,7 +81,8 @@ define make-exe endef else define make-exe - $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).exe $(LINK_OBJS) + $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).exe $(LINK_OBJS) \ + $(LINK_LIBS) $(OBJCOPY) -O srec $(basename $@).exe $(basename $@).srec1 $(PACKHEX) < $(basename $@).srec1 > $(basename $@).srec $(RM) $(basename $@).srec1 diff --git a/make/custom/p4650.cfg b/make/custom/p4650.cfg index 22ca4c693a..3b01b116fd 100644 --- a/make/custom/p4650.cfg +++ b/make/custom/p4650.cfg @@ -24,9 +24,6 @@ CPU_DEFINES+=-DP4000 -DCPU_R4000 -DP3_DIAG -D_R4000 -D__mips=3 TARGET_ARCH=o-p4650 RTEMS_BSP=p4000 -## Target compiler config file, if any -CONFIG.$(TARGET_ARCH).CC = $(RTEMS_ROOT)/make/compilers/gcc-target-default.cfg - # This target does NOT support the KA9Q TCP/IP stack so ignore requests # to enable it. HAS_KA9Q=no @@ -73,7 +70,8 @@ ifeq ($(RTEMS_USE_GCC272),yes) define make-exe $(LD) $(LDFLAGS) -N -T $(LINKCMDS) -o $(basename $@).exe \ - $(START_FILE) $(LINK_OBJS) --start-group $(LINK_LIBS) --end-group + $(START_FILE) $(LINK_OBJS) \ + --start-group $(LINK_LIBS) --end-group $(LD_LIBS) $(OBJCOPY) -O srec $(basename $@).exe $(basename $@).srec1 $(PACKHEX) < $(basename $@).srec1 > $(basename $@).srec $(RM) $(basename $@).srec1 @@ -82,7 +80,8 @@ define make-exe endef else define make-exe - $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).exe $(LINK_OBJS) + $(CC) $(CFLAGS) $(CFLAGS_LD) -o $(basename $@).exe \ + $(LINK_OBJS) $(LINK_LIBS) $(LD_LIBS) $(OBJCOPY) -O srec $(basename $@).exe $(basename $@).srec1 $(PACKHEX) < $(basename $@).srec1 > $(basename $@).srec $(RM) $(basename $@).srec1 @@ -92,8 +91,3 @@ endef endif # Miscellaneous additions go here - - - - - diff --git a/make/custom/papyrus.cfg b/make/custom/papyrus.cfg index a589323bd6..830238bb1b 100644 --- a/make/custom/papyrus.cfg +++ b/make/custom/papyrus.cfg @@ -92,7 +92,8 @@ define make-exe endef else define make-exe - $(CC) $(CFLAGS) -o $(basename $@).exe $(LINK_OBJS) + $(CC) $(CFLAGS) -o $(basename $@).exe \ + $(LINK_OBJS) $(LINK_LIBS) $(NM) -g -n $@ > $(basename $@).num $(SIZE) $@ endef diff --git a/make/custom/pc386.cfg b/make/custom/pc386.cfg index 3265ada60f..35ca1a1280 100644 --- a/make/custom/pc386.cfg +++ b/make/custom/pc386.cfg @@ -89,7 +89,8 @@ endef else define make-exe $(CC) $(CFLAGS) $(CFLAGS_LD) -Wl,-Ttext,$(RELOCADDR) \ - -o $(basename $@).obj $(LINK_OBJS) + -o $(basename $@).obj \ + $(LINK_OBJS) $(LINK_LIBS) $(OBJCOPY) -O a.out-i386 \ --remove-section=.rodata \ --remove-section=.comment \ diff --git a/make/custom/psim.cfg b/make/custom/psim.cfg index 5fe381b49e..a67ad5f6dc 100644 --- a/make/custom/psim.cfg +++ b/make/custom/psim.cfg @@ -101,11 +101,20 @@ HAS_KA9Q=no # $(START_FILE) $(LINK_OBJS) \ # $(LD_LIBS) \ # -Wl,-\( -Wl,-lc -Wl,-lrtemsall -Wl,-lgcc -Wl,-\) +ifeq ($(RTEMS_USE_GCC272),yes) define make-exe - $(CC) $(CFLAGS) -o $(basename $@).exe $(LINK_OBJS) + $(CC) $(CFLAGS) -o $(basename $@).exe $(LINK_OBJS) $(LINK_LIBS) $(NM) -g -n $@ > $(basename $@).num $(SIZE) $@ endef +else +define make-exe + $(CC) $(CFLAGS) -o $(basename $@).exe \ + $(LINK_OBJS) $(LINK_LIBS) + $(NM) -g -n $@ > $(basename $@).num + $(SIZE) $@ +endef +endif # Miscellaneous additions go here diff --git a/make/custom/simhppa.cfg b/make/custom/simhppa.cfg index 8e6040a938..e1d87622f3 100644 --- a/make/custom/simhppa.cfg +++ b/make/custom/simhppa.cfg @@ -125,7 +125,8 @@ endef else define make-exe $(CC) $(CFLAGS) $(CFLAGS_LD) $(GCC_LD_LOC_OPTIONS) \ - -o $(basename $@).exe $(LINK_OBJS) + -o $(basename $@).exe \ + $(LINK_OBJS) $(LINK_LIBS) $(NM) -g -n $@ > $(basename $@).num $(SIZE) $@ endef -- cgit v1.2.3