libgloss: merge mn10300 into top-level Makefile
Commit Message
Avoid a recursive make to speed things up a bit.
A mn10300-elf build shows installed objects & libs produce same code.
---
libgloss/Makefile.am | 3 +
libgloss/Makefile.in | 331 ++++++++++++++++++++++++++--------
libgloss/config/mn10300.mt | 3 -
libgloss/configure | 52 ++++--
libgloss/configure.ac | 7 +-
libgloss/mn10300/Makefile.in | 156 ----------------
libgloss/mn10300/Makefile.inc | 67 +++++++
libgloss/mn10300/acinclude.m4 | 18 +-
8 files changed, 370 insertions(+), 267 deletions(-)
delete mode 100644 libgloss/config/mn10300.mt
delete mode 100644 libgloss/mn10300/Makefile.in
create mode 100644 libgloss/mn10300/Makefile.inc
@@ -99,6 +99,9 @@ endif
if CONFIG_LM32
include lm32/Makefile.inc
endif
+if CONFIG_MN10300
+include mn10300/Makefile.inc
+endif
if CONFIG_MOXIE
include moxie/Makefile.inc
endif
deleted file mode 100644
@@ -1,3 +0,0 @@
-# Dummy target-specific Makefile fragment for MN10300. We can't
-# use default.mt because it refers to generic source files whose
-# names conflict with the MN10300-specific sources.
@@ -118,9 +118,7 @@ case "${target}" in
target_makefile_frag=${srcdir}/config/mn10200.mt
;;
mn10300-*-*)
- AC_CONFIG_FILES([mn10300/Makefile])
- subdirs="$subdirs mn10300"
- target_makefile_frag=${srcdir}/config/mn10300.mt
+ config_mn10300=true
;;
bfin-*-*)
config_bfin=true
@@ -244,7 +242,8 @@ AC_SUBST(subdirs)
dnl These subdirs have converted to non-recursive make. Hopefully someday all
dnl the ports above will too!
m4_foreach_w([SUBDIR], [
- aarch64 arc arm bfin csky d30v frv i386 i960 iq2000 libnosys lm32 moxie msp430
+ aarch64 arc arm bfin csky d30v frv i386 i960 iq2000 libnosys lm32
+ mn10300 moxie msp430
nios2 riscv v850 wince xtensa
], [dnl
AM_CONDITIONAL([CONFIG_]m4_toupper(SUBDIR), [test x$config_]SUBDIR = xtrue)
deleted file mode 100644
@@ -1,156 +0,0 @@
-# Copyright (c) 1998, 2000 Cygnus Support
-#
-# The authors hereby grant permission to use, copy, modify, distribute,
-# and license this software and its documentation for any purpose, provided
-# that existing copyright notices are retained in all copies and that this
-# notice is included verbatim in any distributions. No written agreement,
-# license, or royalty fee is required for any of the authorized uses.
-# Modifications to this software may be copyrighted by their authors
-# and need not follow the licensing terms described here, provided that
-# the new terms are clearly indicated on the first page of each file where
-# they apply.
-
-DESTDIR =
-VPATH = @srcdir@
-srcdir = @srcdir@
-objdir = .
-srcroot = $(srcdir)/../..
-objroot = $(objdir)/../..
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-
-host_alias = @host_alias@
-target_alias = @target_alias@
-program_transform_name = @program_transform_name@
-
-bindir = @bindir@
-libdir = @libdir@
-tooldir = $(exec_prefix)/$(target_alias)
-
-# Multilib support variables.
-# TOP is used instead of MULTI{BUILD,SRC}TOP.
-MULTIDIRS =
-MULTISUBDIR =
-MULTIDO = true
-MULTICLEAN = true
-
-INSTALL = @INSTALL@
-INSTALL_PROGRAM = @INSTALL_PROGRAM@
-INSTALL_DATA = @INSTALL_DATA@
-
-SHELL = /bin/sh
-
-CC = @CC@
-
-#AS = @AS@
-AS = `if [ -f ${objroot}/../gas/as.new ] ; \
- then echo ${objroot}/../gas/as.new ; \
- else echo as ; fi`
-
-AR = @AR@
-
-#LD = @LD@
-LD = `if [ -f ${objroot}/../ld/ld.new ] ; \
- then echo ${objroot}/../ld/ld.new ; \
- else echo ld ; fi`
-
-RANLIB = @RANLIB@
-
-OBJDUMP = `if [ -f ${objroot}/../binutils/objdump ] ; \
- then echo ${objroot}/../binutils/objdump ; \
- else t='$(program_transform_name)'; echo objdump | sed -e $$t ; fi`
-OBJCOPY = `if [ -f ${objroot}/../binutils/objcopy ] ; \
- then echo ${objroot}/../binutils/objcopy ; \
- else t='$(program_transform_name)'; echo objcopy | sed -e $$t ; fi`
-
-CRT0 = crt0.o crt0_cygmon.o crt0_redboot.o
-
-# Generic object files common to all targets.
-GENOBJS_NO_TRAP = _exit.o access.o chmod.o close.o crt1.o \
- fstat.o getpid.o isatty.o \
- kill.o lseek.o open.o read.o \
- sbrk.o stat.o time.o times.o unlink.o utime.o write.o
-GENOBJS = ${GENOBJS_NO_TRAP} trap.o
-
-# Object files specific to particular targets.
-EVALOBJS = ${GENOBJS}
-CYGMONOBJS = cygmon.o ${GENOBJS_NO_TRAP}
-
-CFLAGS = -g
-
-GCC_LDFLAGS = `if [ -d ${objroot}/../gcc ] ; \
- then echo -L${objroot}/../gcc ; fi`
-
-SCRIPTS = @MN10300_SCRIPT_LIST@
-BSP = @MN10300_BSP_LIST@
-
-# Host specific makefile fragment comes in here.
-@host_makefile_frag@
-
-#
-# build a test program for each target board. Just trying to get
-# it to link is a good test, so we ignore all the errors for now.
-#
-
-all: ${CRT0} test.o ${BSP}
-
-#
-# here's where we build the board support packages for each target
-#
-
-libeval.a: $(EVALOBJS)
- ${AR} ${ARFLAGS} $@ $(EVALOBJS)
- ${RANLIB} $@
-
-libcygmon.a: $(CYGMONOBJS)
- ${AR} ${ARFLAGS} $@ $(CYGMONOBJS)
- ${RANLIB} $@
-
-
-# compile a fully linked binary. The -Wl,-T*.ld is for the linker
-# script. By using -Wl, the linker script is put on the proper place
-# in the comand line for ld, and all the symbols will get fully
-# resolved.
-
-test: ${CRT0} test.o
- ${CC} $(CFLAGS_FOR_TARGET) -L${srcdir} -L${objdir} \
- test.o -o $@ $(NEWLIB_LDFLAGS) -Wl,-Teval.ld
- @echo Done...
-
-doc:
-
-clean mostlyclean:
- rm -f a.out core *.i *~ *.o *-test *.srec *.dis *.map *.x
-
-distclean maintainer-clean realclean: clean
- rm -f Makefile a.out
-
-.PHONY: install info install-info clean-info
-install:
- mkdir -p $(DESTDIR)$(tooldir)/lib${MULTISUBDIR};
- @for crt in ${CRT0}; do \
- $(INSTALL_PROGRAM) $${crt} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$${crt}; \
- done
- @for bsp in ${BSP}; do \
- $(INSTALL_PROGRAM) $${bsp} $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}; \
- done
- @for script in ${SCRIPTS}; do \
- $(INSTALL_DATA) ${srcdir}/$${script}.ld $(DESTDIR)$(tooldir)/lib${MULTISUBDIR}/$${script}.ld; \
- done
-
-info:
-install-info:
-clean-info:
-
-test.o: ${srcdir}/test.c
-
-# these are for the BSPs
-crt0.o: ${srcdir}/crt0.S
-crt0_cygmon.o: ${srcdir}/crt0_cygmon.S
-
-# target specific makefile fragment comes in here.
-@target_makefile_frag@
-
-Makefile: Makefile.in ../config.status
- cd .. && $(SHELL) config.status
new file mode 100644
@@ -0,0 +1,67 @@
+## Copyright (c) 1998, 2000 Cygnus Support
+##
+## The authors hereby grant permission to use, copy, modify, distribute,
+## and license this software and its documentation for any purpose, provided
+## that existing copyright notices are retained in all copies and that this
+## notice is included verbatim in any distributions. No written agreement,
+## license, or royalty fee is required for any of the authorized uses.
+## Modifications to this software may be copyrighted by their authors
+## and need not follow the licensing terms described here, provided that
+## the new terms are clearly indicated on the first page of each file where
+## they apply.
+
+multilibtool_DATA += \
+ %D%/eval.ld \
+ %D%/sim.ld
+if MN10300_BUILD_LIBCYGMON
+multilibtool_DATA += \
+ %D%/asb2303.ld \
+ %D%/asb2305.ld
+endif
+
+multilibtool_DATA += \
+ %D%/crt0.o \
+ %D%/crt0_cygmon.o \
+ %D%/crt0_redboot.o
+libobjs_a_SOURCES += \
+ %D%/crt0.S \
+ %D%/crt0_cygmon.S \
+ %D%/crt0_redboot.S
+
+# Generic object files common to all targets.
+%C%_common_lib_sources = \
+ %D%/_exit.c \
+ %D%/access.c \
+ %D%/chmod.c \
+ %D%/close.c \
+ %D%/crt1.c \
+ %D%/fstat.c \
+ %D%/getpid.c \
+ %D%/isatty.c \
+ %D%/kill.c \
+ %D%/lseek.c \
+ %D%/open.c \
+ %D%/read.c \
+ %D%/sbrk.c \
+ %D%/stat.c \
+ %D%/time.c \
+ %D%/times.c \
+ %D%/unlink.c \
+ %D%/utime.c \
+ %D%/write.c
+
+multilibtool_LIBRARIES += %D%/libeval.a
+%C%_libeval_a_SOURCES = \
+ $(%C%_common_lib_sources) \
+ %D%/trap.S
+
+if MN10300_BUILD_LIBCYGMON
+multilibtool_LIBRARIES += %D%/libcygmon.a
+%C%_libcygmon_a_SOURCES = \
+ $(%C%_common_lib_sources) \
+ %D%/cygmon.c
+endif
+
+check_PROGRAMS += %D%/test
+%C%_test_LDFLAGS = $(AM_LDFLAGS) -Wl,-T$(srcdir)/%D%/eval.ld
+%C%_test_LDADD = $(LDADD) %D%/libeval.a
@@ -1,14 +1,4 @@
-MN10300_SCRIPT_LIST=
-MN10300_BSP_LIST=
-case "${target}" in
- mn10300-*elf)
- MN10300_SCRIPT_LIST="eval sim asb2303 asb2305"
- MN10300_BSP_LIST="libeval.a libcygmon.a"
- ;;
- *)
- MN10300_SCRIPT_LIST="eval sim"
- MN10300_BSP_LIST="libeval.a"
- ;;
-esac
-AC_SUBST(MN10300_SCRIPT_LIST)
-AC_SUBST(MN10300_BSP_LIST)
+AS_CASE([${target}],
+ [mn10300-*elf], [MN10300_BUILD_LIBCYGMON=true],
+ [MN10300_BUILD_LIBCYGMON=false])
+AM_CONDITIONAL([MN10300_BUILD_LIBCYGMON], [$MN10300_BUILD_LIBCYGMON])