From: Ian Lance Taylor Date: Wed, 25 Mar 1998 17:48:56 +0000 (+0000) Subject: Based on patch from H.J. Lu : X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=51b9a79bdd03069bb5c84427dcc01aa32101ce26;p=binutils-gdb.git Based on patch from H.J. Lu : * Makefile.am (LDDISTSTUFF): New variable. (diststuff): New target. * Makefile.in: Rebuild. --- diff --git a/ld/ChangeLog b/ld/ChangeLog index 44a45453f98..03e211919af 100644 --- a/ld/ChangeLog +++ b/ld/ChangeLog @@ -1,5 +1,10 @@ Wed Mar 25 11:34:13 1998 Ian Lance Taylor + Based on patch from H.J. Lu : + * Makefile.am (LDDISTSTUFF): New variable. + (diststuff): New target. + * Makefile.in: Rebuild. + * scripttempl/pe.sc: Only include .idata\$[0-7] in .idata when relocating. diff --git a/ld/Makefile.am b/ld/Makefile.am index 0adcdbff0ac..4313c2d07d2 100644 --- a/ld/Makefile.am +++ b/ld/Makefile.am @@ -1,6 +1,6 @@ ## Process this file with automake to generate Makefile.in -AUTOMAKE_OPTIONS = dejagnu +AUTOMAKE_OPTIONS = cygnus dejagnu tooldir = $(exec_prefix)/$(target_alias) @@ -114,6 +114,9 @@ ALL_EMULATIONS = \ eelf32ebmip.o \ eelf32elmip.o \ eelf32l4300.o \ + $(start-sanitize-r5900) \ + eelf32l5900.o \ + $(end-sanitize-r5900) \ eelf32lmip.o \ eelf32lppc.o \ eelf32ppc.o \ @@ -311,6 +314,11 @@ eelf32elmip.c: $(srcdir)/emulparams/elf32elmip.sh \ eelf32l4300.c: $(srcdir)/emulparams/elf32l4300.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32l4300 "$(tdir_elf32l4300)" +start-sanitize-r5900: +eelf32l5900.c: $(srcdir)/emulparams/elf32l5900.sh \ + $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} + ${GENSCRIPTS} elf32l5900 "$(tdir_elf32l5900)" +end-sanitize-r5900: eelf32lmip.c: $(srcdir)/emulparams/elf32lmip.sh \ $(srcdir)/emultempl/elf32.em $(srcdir)/scripttempl/elf.sc ${GEN_DEPENDS} ${GENSCRIPTS} elf32lmip "$(tdir_elf32lmip)" @@ -663,10 +671,12 @@ ld.dvi: $(srcdir)/ld.texinfo configdoc.texi bfdsumm.texi bfdsumm.texi: Makefile echo @include $(BFDDIR)/doc/bfdsumm.texi > bfdsumm.texi +# We want to reconfigure if configure.host or configure.tgt changes. +Makefile: configure.host configure.tgt + MOSTCLEANFILES = $(STAGESTUFF) ld1$(EXEEXT) ld2$(EXEEXT) ld3$(EXEEXT) \ ldemul-list.h tmpdir crtbegin.o crtend.o CLEANFILES = dep.sed .dep .dep1 bfdsumm.texi -DISTCLEANFILES = ldscripts .PHONY: install-exec-local install-data-local @@ -680,8 +690,10 @@ install-exec-local: ld-new$(EXEEXT) done rm -f $(tooldir)/bin/ld$(EXEEXT) n=`echo ld | sed '$(transform)'`; \ - ln $(bindir)/$$n$(EXEEXT) $(tooldir)/bin/ld$(EXEEXT) >/dev/null 2>/dev/null \ - || $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(tooldir)/bin/ld$(EXEEXT) + if [ "$(bindir)/$$n$(EXEEXT)" != "$(tooldir)/bin/ld$(EXEEXT)" ]; then \ + ln $(bindir)/$$n$(EXEEXT) $(tooldir)/bin/ld$(EXEEXT) >/dev/null 2>/dev/null \ + || $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(tooldir)/bin/ld$(EXEEXT); \ + fi install-data-local: $(mkinstalldirs) $(scriptdir) @@ -689,6 +701,13 @@ install-data-local: $(INSTALL_DATA) $$f $(scriptdir)/$$f ; \ done +# Stuff that should be included in a distribution. The diststuff +# target is run by the taz target in ../Makefile.in. +LDDISTSTUFF = ldgram.c ldgram.h ldlex.c +diststuff: $(LDDISTSTUFF) info + +DISTCLEANFILES = ldscripts + # Targets to rebuild dependencies in this Makefile. # Have to get rid of .dep1 here so that "$?" later includes all of $(CFILES). .dep: dep.sed $(CFILES) $(HFILES) $(GENERATED_CFILES) $(GENERATED_HFILES) config.h diff --git a/ld/Makefile.in b/ld/Makefile.in index aec5753c5a6..39f7f6a9346 100644 --- a/ld/Makefile.in +++ b/ld/Makefile.in @@ -1,8 +1,14 @@ -# Makefile.in generated automatically by automake 1.2 from Makefile.am +# Makefile.in generated automatically by automake 1.2e from Makefile.am -# Copyright (C) 1994, 1995, 1996, 1997 Free Software Foundation, Inc. +# Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc. # This Makefile.in is free software; the Free Software Foundation -# gives unlimited permission to copy, distribute and modify it. +# gives unlimited permission to copy and/or distribute it, +# with or without modifications, as long as this notice is preserved. + +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY, to the extent permitted by law; without +# even the implied warranty of MERCHANTABILITY or FITNESS FOR A +# PARTICULAR PURPOSE. SHELL = @SHELL@ @@ -43,12 +49,12 @@ INSTALL_DATA = @INSTALL_DATA@ INSTALL_SCRIPT = @INSTALL_SCRIPT@ transform = @program_transform_name@ -NORMAL_INSTALL = true -PRE_INSTALL = true -POST_INSTALL = true -NORMAL_UNINSTALL = true -PRE_UNINSTALL = true -POST_UNINSTALL = true +NORMAL_INSTALL = : +PRE_INSTALL = : +POST_INSTALL = : +NORMAL_UNINSTALL = : +PRE_UNINSTALL = : +POST_UNINSTALL = : build_alias = @build_alias@ build_triplet = @build@ host_alias = @host_alias@ @@ -70,7 +76,7 @@ RANLIB = @RANLIB@ TDIRS = @TDIRS@ VERSION = @VERSION@ -AUTOMAKE_OPTIONS = dejagnu +AUTOMAKE_OPTIONS = cygnus dejagnu tooldir = $(exec_prefix)/$(target_alias) @@ -302,6 +308,11 @@ TESTBFDLIB = ../bfd/.libs/libbfd.a MOSTCLEANFILES = $(STAGESTUFF) ld1$(EXEEXT) ld2$(EXEEXT) ld3$(EXEEXT) \ ldemul-list.h tmpdir crtbegin.o crtend.o CLEANFILES = dep.sed .dep .dep1 bfdsumm.texi + +# Stuff that should be included in a distribution. The diststuff +# target is run by the taz target in ../Makefile.in. +LDDISTSTUFF = ldgram.c ldgram.h ldlex.c + DISTCLEANFILES = ldscripts ACLOCAL_M4 = $(top_srcdir)/aclocal.m4 mkinstalldirs = $(SHELL) $(top_srcdir)/../mkinstalldirs @@ -347,7 +358,7 @@ OBJECTS = $(ld_new_OBJECTS) default: all .SUFFIXES: -.SUFFIXES: .S .c .dvi .h .info .l .lo .o .ps .s .texi .texinfo .y +.SUFFIXES: .S .c .dvi .info .l .lo .o .ps .s .texi .texinfo .y $(srcdir)/Makefile.in: @MAINT@ Makefile.am $(top_srcdir)/configure.in $(ACLOCAL_M4) cd $(top_srcdir) && $(AUTOMAKE) --cygnus Makefile @@ -363,7 +374,8 @@ config.status: $(srcdir)/configure $(srcdir)/configure: @MAINT@$(srcdir)/configure.in $(ACLOCAL_M4) $(CONFIGURE_DEPENDENCIES) cd $(srcdir) && $(AUTOCONF) -config.h: stamp-h ; @: +config.h: stamp-h + @: stamp-h: $(srcdir)/config.in $(top_builddir)/config.status cd $(top_builddir) \ && CONFIG_FILES= CONFIG_HEADERS=config.h:config.in \ @@ -379,42 +391,41 @@ mostlyclean-hdr: clean-hdr: distclean-hdr: - rm -f config.h + -rm -f config.h maintainer-clean-hdr: mostlyclean-noinstPROGRAMS: clean-noinstPROGRAMS: - test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) + -test -z "$(noinst_PROGRAMS)" || rm -f $(noinst_PROGRAMS) distclean-noinstPROGRAMS: maintainer-clean-noinstPROGRAMS: -.s.o: +.c.o: $(COMPILE) -c $< -.S.o: +.s.o: $(COMPILE) -c $< -.c.o: +.S.o: $(COMPILE) -c $< mostlyclean-compile: - rm -f *.o core + -rm -f *.o core *.core clean-compile: distclean-compile: - rm -f *.tab.c + -rm -f *.tab.c maintainer-clean-compile: .c.lo: $(LIBTOOL) --mode=compile $(COMPILE) -c $< -# These are just copies of the above rule. .s.lo: $(LIBTOOL) --mode=compile $(COMPILE) -c $< @@ -422,10 +433,10 @@ maintainer-clean-compile: $(LIBTOOL) --mode=compile $(COMPILE) -c $< mostlyclean-libtool: - rm -f *.lo + -rm -f *.lo clean-libtool: - rm -rf .libs + -rm -rf .libs _libs distclean-libtool: @@ -435,15 +446,12 @@ ld-new$(EXEEXT): $(ld_new_OBJECTS) $(ld_new_DEPENDENCIES) @rm -f ld-new$(EXEEXT) $(LINK) $(ld_new_LDFLAGS) $(ld_new_OBJECTS) $(ld_new_LDADD) $(LIBS) .y.c: - $(YACC) $(YFLAGS) $< && mv y.tab.c $@ - if test -f y.tab.h; then \ - if cmp -s y.tab.h $*.h; then rm -f y.tab.h; else mv y.tab.h $*.h; fi; \ - else :; fi -.y.h: - $(YACC) $(YFLAGS) $< && mv y.tab.c $@ + $(YACC) $(YFLAGS) $< && mv y.tab.c $*.c if test -f y.tab.h; then \ if cmp -s y.tab.h $*.h; then rm -f y.tab.h; else mv y.tab.h $*.h; fi; \ else :; fi +ldgram.h: ldgram.c + .l.c: $(LEX) $(LFLAGS) $< && mv $(LEX_OUTPUT_ROOT).c $@ @@ -505,7 +513,8 @@ uninstall-info: ii=yes; \ else ii=; fi; \ for file in $(INFO_DEPS); do \ - test -z $ii || install-info --info-dir=$(infodir) --remove $$file; \ + test -z "$ii" \ + || install-info --info-dir=$(infodir) --remove $$file; \ done $(NORMAL_UNINSTALL) for file in $(INFO_DEPS); do \ @@ -523,15 +532,21 @@ dist-info: $(INFO_DEPS) done mostlyclean-aminfo: - rm -f ld.aux ld.cp ld.cps ld.dvi ld.fn ld.fns ld.ky ld.log ld.pg ld.toc \ - ld.tp ld.tps ld.vr ld.vrs ld.op ld.tr ld.cv + -rm -f ld.aux ld.cp ld.cps ld.dvi ld.fn ld.fns ld.ky ld.kys ld.ps \ + ld.log ld.pg ld.toc ld.tp ld.tps ld.vr ld.vrs ld.op ld.tr \ + ld.cv ld.cn clean-aminfo: distclean-aminfo: maintainer-clean-aminfo: - for i in $(INFO_DEPS); do rm -f `eval echo $$i*`; done + for i in $(INFO_DEPS); do \ + rm -f $$i; \ + if test "`echo $$i-[0-9]*`" != "$$i-[0-9]*"; then \ + rm -f $$i-[0-9]*; \ + fi; \ + done clean-info: mostlyclean-aminfo install-man: $(MANS) $(NORMAL_INSTALL) @@ -545,27 +560,32 @@ install-man: $(MANS) uninstall-man: $(NORMAL_UNINSTALL) - inst=`echo "ld" | sed '$(transform)'`.1; \ + -inst=`echo "ld" | sed '$(transform)'`.1; \ rm -f $(mandir)/man1/$$inst tags: TAGS -ID: $(HEADERS) $(SOURCES) - here=`pwd` && cd $(srcdir) && mkid -f$$here/ID $(SOURCES) $(HEADERS) +ID: $(HEADERS) $(SOURCES) $(LISP) + here=`pwd` && cd $(srcdir) \ + && mkid -f$$here/ID $(SOURCES) $(HEADERS) $(LISP) -TAGS: $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) +TAGS: $(HEADERS) $(SOURCES) config.in $(TAGS_DEPENDENCIES) $(LISP) tags=; \ here=`pwd`; \ - test -z "$(ETAGS_ARGS)config.in$(SOURCES)$(HEADERS)$$tags" \ - || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.in $(SOURCES) $(HEADERS) -o $$here/TAGS) + list='$(SOURCES) $(HEADERS)'; \ + unique=`for i in $$list; do echo $$i; done | \ + awk ' { files[$$0] = 1; } \ + END { for (i in files) print i; }'`; \ + test -z "$(ETAGS_ARGS)config.in$$unique$(LISP)$$tags" \ + || (cd $(srcdir) && etags $(ETAGS_ARGS) $$tags config.in $$unique $(LISP) -o $$here/TAGS) mostlyclean-tags: clean-tags: distclean-tags: - rm -f TAGS ID + -rm -f TAGS ID maintainer-clean-tags: @@ -576,7 +596,7 @@ top_distdir = $(distdir) # it guarantees that the distribution is self-contained by making another # tarfile. distcheck: dist - rm -rf $(distdir) + -rm -rf $(distdir) GZIP=$(GZIP) $(TAR) zxf $(distdir).tar.gz mkdir $(distdir)/=build mkdir $(distdir)/=inst @@ -589,20 +609,20 @@ distcheck: dist && $(MAKE) install \ && $(MAKE) installcheck \ && $(MAKE) dist - rm -rf $(distdir) + -rm -rf $(distdir) @echo "========================"; \ echo "$(distdir).tar.gz is ready for distribution"; \ echo "========================" dist: distdir -chmod -R a+r $(distdir) GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir) - rm -rf $(distdir) + -rm -rf $(distdir) dist-all: distdir -chmod -R a+r $(distdir) GZIP=$(GZIP) $(TAR) chozf $(distdir).tar.gz $(distdir) - rm -rf $(distdir) + -rm -rf $(distdir) distdir: $(DISTFILES) - rm -rf $(distdir) + -rm -rf $(distdir) mkdir $(distdir) -chmod 777 $(distdir) @for file in $(DISTFILES); do \ @@ -614,6 +634,8 @@ distdir: $(DISTFILES) $(MAKE) top_distdir="$(top_distdir)" distdir="$(distdir)" dist-info DEJATOOL = $(PACKAGE) + +RUNTESTDEFAULTFLAGS = --tool $(DEJATOOL) --srcdir $$srcdir site.exp: Makefile @echo 'Making a new site.exp file...' -@rm -f site.bak @@ -635,7 +657,7 @@ site.exp: Makefile @mv $@-t site.exp info: $(INFO_DEPS) dvi: $(DVIS) -check: all +check: $(MAKE) check-DEJAGNU installcheck: install-info: install-info-am @@ -659,19 +681,19 @@ installdirs: mostlyclean-generic: - test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) + -test -z "$(MOSTLYCLEANFILES)" || rm -f $(MOSTLYCLEANFILES) clean-generic: - test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) + -test -z "$(CLEANFILES)" || rm -f $(CLEANFILES) distclean-generic: - rm -f Makefile $(DISTCLEANFILES) - rm -f config.cache config.log stamp-h stamp-h[0-9]* - test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) + -rm -f Makefile $(DISTCLEANFILES) + -rm -f config.cache config.log stamp-h stamp-h[0-9]* + -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) maintainer-clean-generic: - test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) - test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) + -test -z "$(MAINTAINERCLEANFILES)" || rm -f $(MAINTAINERCLEANFILES) + -test -z "$(BUILT_SOURCES)" || rm -f $(BUILT_SOURCES) mostlyclean: mostlyclean-hdr mostlyclean-noinstPROGRAMS \ mostlyclean-compile mostlyclean-libtool \ mostlyclean-aminfo mostlyclean-tags mostlyclean-generic @@ -682,8 +704,8 @@ clean: clean-hdr clean-noinstPROGRAMS clean-compile clean-libtool \ distclean: distclean-hdr distclean-noinstPROGRAMS distclean-compile \ distclean-libtool distclean-aminfo distclean-tags \ distclean-generic clean - rm -f config.status - rm -f libtool + -rm -f config.status + -rm -f libtool maintainer-clean: maintainer-clean-hdr maintainer-clean-noinstPROGRAMS \ maintainer-clean-compile maintainer-clean-libtool \ @@ -691,7 +713,7 @@ maintainer-clean: maintainer-clean-hdr maintainer-clean-noinstPROGRAMS \ maintainer-clean-generic distclean @echo "This command is intended for maintainers to use;" @echo "it deletes files that may require special tools to rebuild." - rm -f config.status + -rm -f config.status .PHONY: default mostlyclean-hdr distclean-hdr clean-hdr \ maintainer-clean-hdr mostlyclean-noinstPROGRAMS \ @@ -1150,6 +1172,9 @@ ld.dvi: $(srcdir)/ld.texinfo configdoc.texi bfdsumm.texi bfdsumm.texi: Makefile echo @include $(BFDDIR)/doc/bfdsumm.texi > bfdsumm.texi +# We want to reconfigure if configure.host or configure.tgt changes. +Makefile: configure.host configure.tgt + .PHONY: install-exec-local install-data-local install-exec-local: ld-new$(EXEEXT) @@ -1162,14 +1187,17 @@ install-exec-local: ld-new$(EXEEXT) done rm -f $(tooldir)/bin/ld$(EXEEXT) n=`echo ld | sed '$(transform)'`; \ - ln $(bindir)/$$n$(EXEEXT) $(tooldir)/bin/ld$(EXEEXT) >/dev/null 2>/dev/null \ - || $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(tooldir)/bin/ld$(EXEEXT) + if [ "$(bindir)/$$n$(EXEEXT)" != "$(tooldir)/bin/ld$(EXEEXT)" ]; then \ + ln $(bindir)/$$n$(EXEEXT) $(tooldir)/bin/ld$(EXEEXT) >/dev/null 2>/dev/null \ + || $(LIBTOOL) --mode=install $(INSTALL_PROGRAM) ld-new$(EXEEXT) $(tooldir)/bin/ld$(EXEEXT); \ + fi install-data-local: $(mkinstalldirs) $(scriptdir) for f in ldscripts/*; do \ $(INSTALL_DATA) $$f $(scriptdir)/$$f ; \ done +diststuff: $(LDDISTSTUFF) info # Targets to rebuild dependencies in this Makefile. # Have to get rid of .dep1 here so that "$?" later includes all of $(CFILES).