diff options
author | Mike Frysinger <vapier@gentoo.org> | 2023-12-27 07:44:44 +0300 |
---|---|---|
committer | Mike Frysinger <vapier@gentoo.org> | 2024-01-20 04:26:52 +0300 |
commit | f4c8e1623bbc3045c8639dd7da16960efeb90fda (patch) | |
tree | 9b1faf6295356ddd42f1a9b7a71f4784846ac489 /libgloss/mcore | |
parent | 41de4b00f762a05f5e782fb8f8bd9c788456b108 (diff) |
libgloss: merge mcore into top-level Makefile
Avoid a recursive make to speed things up a bit.
A mcore-elf build shows installed objects & libs produce same code.
Diffstat (limited to 'libgloss/mcore')
-rw-r--r-- | libgloss/mcore/Makefile.in | 144 | ||||
-rw-r--r-- | libgloss/mcore/Makefile.inc | 52 | ||||
-rw-r--r-- | libgloss/mcore/acinclude.m4 | 17 |
3 files changed, 59 insertions, 154 deletions
diff --git a/libgloss/mcore/Makefile.in b/libgloss/mcore/Makefile.in deleted file mode 100644 index 883e5ed59..000000000 --- a/libgloss/mcore/Makefile.in +++ /dev/null @@ -1,144 +0,0 @@ -# -# - -DESTDIR = -VPATH = @srcdir@ @srcdir@/.. -srcdir = @srcdir@ -objdir = . -srcroot = $(srcdir)/../.. -objroot = $(objdir)/../.. - -prefix = @prefix@ -exec_prefix = @exec_prefix@ - -host_alias = @host_alias@ -target_alias = @target_alias@ - -bindir = @bindir@ -libdir = @libdir@ -tooldir = $(exec_prefix)/$(target_alias) - -INSTALL = @INSTALL@ -INSTALL_PROGRAM = @INSTALL_PROGRAM@ -INSTALL_DATA = @INSTALL_DATA@ - -# Multilib support variables. -# TOP is used instead of MULTI{BUILD,SRC}TOP. -MULTIDIRS = -MULTISUBDIR = - -SHELL = /bin/sh - -mkinstalldirs = $(SHELL) $(srcroot)/mkinstalldirs - -CC = @CC@ - -AS = @AS@ -AR = @AR@ -LD = @LD@ -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` - -OBJS = fstat.o getpid.o isatty.o kill.o raise.o putnum.o stat.o unlink.o -CFLAGS = -g -SCRIPTS = - -# Here is all of the simulator stuff -SIM_SCRIPTS = -SIM_LDFLAGS = -SIM_BSP = libsim.a -SIM_CRT0 = crt0.o -SIM_OBJS = syscalls.o -SIM_TEST = sim-test -SIM_INSTALL = install-sim - -# Here is all of the picobug on cmb stuff -MON_PREFIX = @MCORE_BSP_PREFIX@ -MON_LDFLAGS = -MON_BSP = libcmb.a -MON_CRT0 = crt0.o -MON_OBJS = open.o close.o lseek.o sbrk.o read.o write.o print.o cmb-exit.o cmb-inbyte.o cmb-outbyte.o -MON_SCRIPTS = cmb.ld cmb.specs -MON_TEST = -MON_INSTALL = install-mon - -# 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: ${SIM_CRT0} ${SIM_BSP} ${MON_BSP} - -# -# here's where we build the board support packages for each target -# -${SIM_BSP}: ${OBJS} ${SIM_OBJS} - ${AR} ${ARFLAGS} ${SIM_BSP} ${SIM_OBJS} ${OBJS} - ${RANLIB} ${SIM_BSP} - -${MON_BSP}: ${OBJS} ${MON_OBJS} - ${AR} ${ARFLAGS} ${MON_BSP} ${MON_OBJS} ${OBJS} - ${RANLIB} ${MON_BSP} - -# -# here's where we build the test programs for each target -# -.PHONY: test -test: ${SIM_TEST} ${MON_TEST} - -sim-test: sim-test.x sim-test.dis - -sim-test.x: test.o ${SIM_CRT0} ${SIM_BSP} - ${CC} ${LDFLAGS_FOR_TARGET} -L${objdir} \ - ${SIM_CRT0} test.o \ - -o sim-test.x ${LIBS_FOR_TARGET} -lc ${SIM_BSP} - -sim-test.dis: sim-test.x - ${OBJDUMP} -d sim-test.x > sim-test.dis - - -# -# -# -.c.S: - ${CC} ${CFLAGS_FOR_TARGET} $(INCLUDES) $(CFLAGS) -c $< - -simulator.o: simulator.S -sim-crt0.o: sim-crt0.S -cmb-exit.o: cmb-exit.c -cmb-inbyte.o: cmb-inbyte.c -cmb-outbyte.o: cmb-outbyte.c - -clean mostlyclean: - rm -f a.out core *.i *.o *-test *.srec *.dis *.x $(SIM_BSP) $(MON_BSP) - -distclean maintainer-clean realclean: clean - rm -f Makefile *~ - -.PHONY: install info install-info clean-info -install: ${SIM_INSTALL} ${MON_INSTALL} - -install-mon: - ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR} - set -e; for x in ${MON_CRT0} ${MON_BSP}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done - set -e; for x in ${MON_SCRIPTS}; do ${INSTALL_DATA} ${srcdir}/${MON_PREFIX}$$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done - -install-sim: - ${mkinstalldirs} ${DESTDIR}${tooldir}/lib${MULTISUBDIR} - set -e; for x in ${SIM_CRT0} ${SIM_BSP} ${SIM_SCRIPTS}; do ${INSTALL_DATA} $$x $(DESTDIR)${tooldir}/lib${MULTISUBDIR}/$$x; done - -doc: -info: -install-info: -clean-info: - -Makefile: Makefile.in ../config.status - cd .. && $(SHELL) config.status diff --git a/libgloss/mcore/Makefile.inc b/libgloss/mcore/Makefile.inc new file mode 100644 index 000000000..f0dec1990 --- /dev/null +++ b/libgloss/mcore/Makefile.inc @@ -0,0 +1,52 @@ +if MCORE_BUILD_ELF +multilibtool_DATA += \ + %D%/cmb.ld \ + %D%/cmb.specs +%D%/cmb.ld: %D%/elf-cmb.ld + $(AM_V_GEN)cp $< $@ +%D%/cmb.specs: %D%/elf-cmb.specs + $(AM_V_GEN)cp $< $@ +endif +if MCORE_BUILD_PE +multilibtool_DATA += \ + %D%/cmb.ld \ + %D%/cmb.specs +%D%/cmb.ld: %D%/pe-cmb.ld + $(AM_V_GEN)cp $< $@ +%D%/cmb.specs: %D%/pe-cmb.specs + $(AM_V_GEN)cp $< $@ +endif + +multilibtool_DATA += %D%/crt0.o +libobjs_a_SOURCES += %D%/crt0.S + +%C%_common_lib_sources = \ + %D%/fstat.c \ + %D%/getpid.c \ + isatty.c \ + %D%/kill.c \ + %D%/raise.c \ + %D%/putnum.c \ + %D%/stat.c \ + %D%/unlink.c + +## Here is all of the simulator stuff +multilibtool_LIBRARIES += %D%/libsim.a +%C%_libsim_a_SOURCES = \ + %D%/syscalls.S \ + $(%C%_common_lib_sources) + +## Here is all of the picobug on cmb stuff +multilibtool_LIBRARIES += %D%/libcmb.a +%C%_libcmb_a_SOURCES = \ + %D%/open.c \ + %D%/close.c \ + %D%/lseek.c \ + %D%/sbrk.c \ + %D%/read.c \ + %D%/write.c \ + %D%/print.c \ + %D%/cmb-exit.c \ + %D%/cmb-inbyte.c \ + %D%/cmb-outbyte.c \ + $(%C%_common_lib_sources) diff --git a/libgloss/mcore/acinclude.m4 b/libgloss/mcore/acinclude.m4 index 7115869f3..ed3fa2e41 100644 --- a/libgloss/mcore/acinclude.m4 +++ b/libgloss/mcore/acinclude.m4 @@ -1,10 +1,7 @@ -MCORE_BSP_PREFIX= -case "${target}" in - mcore-*-elf) - MCORE_BSP_PREFIX=elf- - ;; - mcore-*-pe) - MCORE_BSP_PREFIX=pe- - ;; -esac -AC_SUBST(MCORE_BSP_PREFIX) +MCORE_BUILD_ELF=false +MCORE_BUILD_PE=false +AS_CASE([${target}], + [mcore-*-elf], [MCORE_BUILD_ELF=true], + [mcore-*-pe], [MCORE_BUILD_PE=true]) +AM_CONDITIONAL([MCORE_BUILD_ELF], [$MCORE_BUILD_ELF]) +AM_CONDITIONAL([MCORE_BUILD_PE], [$MCORE_BUILD_PE]) |