From hpa at zytor.com Tue Jan 17 13:09:07 2023 From: hpa at zytor.com (nasm-bot for H. Peter Anvin) Date: Tue, 17 Jan 2023 13:09:07 -0800 Subject: [nasm:nasm-2.16.xx] Makefile: unbreak "make dist" Message-ID: Commit-ID: 66a91c37968773404f3863ade2627351a76df0ce Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=66a91c37968773404f3863ade2627351a76df0ce Author: H. Peter Anvin AuthorDate: Tue, 17 Jan 2023 12:27:10 -0800 Committer: H. Peter Anvin CommitDate: Tue, 17 Jan 2023 12:27:10 -0800 Makefile: unbreak "make dist" Things used by "make dist" haven't been updated for a while, it seems; in particular have not kept up with the existence of autogen.sh. Signed-off-by: H. Peter Anvin --- Makefile.in | 17 ++++++++--------- autogen.sh | 3 ++- 2 files changed, 10 insertions(+), 10 deletions(-) diff --git a/Makefile.in b/Makefile.in index 860d4d26..148fcb50 100644 --- a/Makefile.in +++ b/Makefile.in @@ -380,22 +380,22 @@ clean: $(RM_F) perlbreq.si distclean: clean - $(RM_F) config.log config.status config/config.h for d in . $(SUBDIRS) $(XSUBDIRS); do \ $(RM_F) "$$d"/.\# "$$d"/\# "$$d"/*~ "$$d"/*.bak \ "$$d"/*.lst "$$d"/*.bin ; \ done $(RM_F) test/*.$(O) - $(RM_RF) autom4te*.cache - $(RM_F) Makefile *.dep + $(RM_F) *.dep cleaner: clean $(RM_F) $(PERLREQ) *.1 nasm.spec $(MAKE) -C doc clean $(RM_F) *.dep */*.time -spotless: distclean cleaner - $(RM_F) doc/Makefile +makefile-clean: + ./autogen.sh + +spotless: distclean cleaner makefile-clean strip: $(STRIP) --strip-unneeded $(PROGS) @@ -431,11 +431,10 @@ everything: always_everything install_everything: everything install install_doc dist: + $(MAKE) distclean $(MAKE) alldeps - $(MAKE) spotless perlreq manpages spec $(MANPAGES) - autoheader - autoconf - $(RM_RF) ./autom4te*.cache + $(MAKE) perlreq manpages spec $(MANPAGES) + ./autogen.sh tar: dist tar -cv --exclude CVS -C .. -f - | \ diff --git a/autogen.sh b/autogen.sh index d1ca83db..f32c0c3f 100755 --- a/autogen.sh +++ b/autogen.sh @@ -47,7 +47,8 @@ fi rm -rf autoconf/*m4.old "$AUTOHEADER" -B autoconf "$AUTOCONF" -B autoconf -rm -rf autom4te.cache config.log config.status config/config.h Makefile +rm -rf autom4te.cache config.log config.status \ + config/config.h Makefile doc/Makefile if $recheck; then # This bizarre statement has to do with how config.status quotes its output From hpa at zytor.com Tue Jan 17 13:09:07 2023 From: hpa at zytor.com (nasm-bot for H. Peter Anvin) Date: Tue, 17 Jan 2023 13:09:07 -0800 Subject: [nasm:nasm-2.16.xx] Make: handle warning files while building in a directory Message-ID: Commit-ID: 7e80d6b834cd792dbbd7a99fbff98e46cdd5789f Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=7e80d6b834cd792dbbd7a99fbff98e46cdd5789f Author: H. Peter Anvin AuthorDate: Tue, 17 Jan 2023 13:05:55 -0800 Committer: H. Peter Anvin CommitDate: Tue, 17 Jan 2023 13:05:55 -0800 Make: handle warning files while building in a directory The dependency on the warning files breaks when we are building in a directory *and* the files already exist from being shipped with the distribution tarballs. The make VPATH simply isn't sophisticated enough to deal with it, so let the C compiler handle it by #including the generated file from a dummy C file. Reported-by: Rudi Heitbaum Signed-off-by: H. Peter Anvin --- .gitignore | 2 +- Makefile.in | 38 ++++++++++++++++++++------------------ Mkfiles/msvc.mak | 14 +++++++------- Mkfiles/openwcom.mak | 14 +++++++------- asm/warnings.c | 1 + doc/Makefile.in | 2 +- 6 files changed, 37 insertions(+), 34 deletions(-) diff --git a/.gitignore b/.gitignore index ac9d6508..3f4e89e3 100644 --- a/.gitignore +++ b/.gitignore @@ -50,7 +50,7 @@ TAGS /asm/pptok.ph /asm/tokens.h /asm/tokhash.c -/asm/warnings.c +/asm/warnings_c.h /config/config.h.in /config/config.h /config.log diff --git a/Makefile.in b/Makefile.in index 148fcb50..95268fd2 100644 --- a/Makefile.in +++ b/Makefile.in @@ -37,8 +37,10 @@ AR = @AR@ RANLIB = @RANLIB@ STRIP = @STRIP@ +tools = $(top_srcdir)/tools + PERL = perl -PERLFLAGS = -I$(srcdir)/perllib -I$(srcdir) +PERLFLAGS = -I$(top_srcdir)/perllib -I$(srcdir) RUNPERL = $(PERL) $(PERLFLAGS) PYTHON3 = python3 @@ -65,8 +67,8 @@ LN_S = @LN_S@ FIND = find # Binary suffixes -O = @OBJEXT@ -X = @EXEEXT@ +O = @OBJEXT@ +X = @EXEEXT@ A = @LIBEXT@ # Debug stuff @@ -194,14 +196,14 @@ PERLREQ = config/unconfig.h \ x86/iflag.c x86/iflaggen.h \ macros/macros.c \ asm/pptok.ph asm/directbl.c asm/directiv.h \ - asm/warnings.c include/warnings.h doc/warnings.src \ + $(WARNFILES) \ misc/nasmtok.el \ version.h version.mac version.mak nsis/version.nsh INSDEP = x86/insns.dat x86/insns.pl x86/insns-iflags.ph x86/iflags.ph config/unconfig.h: config/config.h.in - $(RUNPERL) $(srcdir)/tools/unconfig.pl \ + $(RUNPERL) $(tools)/unconfig.pl \ '$(srcdir)' config/config.h.in config/unconfig.h x86/iflag.c: $(INSDEP) @@ -273,7 +275,7 @@ x86/regs.h: x86/regs.dat x86/regs.pl # reasonable, but doesn't update the time stamp if the files aren't # changed, to avoid rebuilding everything every time. Track the actual # dependency by the empty file asm/warnings.time. -WARNFILES = asm/warnings.c include/warnings.h doc/warnings.src +WARNFILES = asm/warnings_c.h include/warnings.h doc/warnings.src warnings: $(RM_F) $(WARNFILES) $(WARNFILES:=.time) @@ -283,11 +285,11 @@ asm/warnings.time: $(ALLOBJ_NW:.$(O)=.c) : > asm/warnings.time $(MAKE) $(WARNFILES:=.time) -asm/warnings.c.time: asm/warnings.pl asm/warnings.time - $(RUNPERL) $(srcdir)/asm/warnings.pl c asm/warnings.c $(srcdir) - : > asm/warnings.c.time +asm/warnings_c.h.time: asm/warnings.pl asm/warnings.time + $(RUNPERL) $(srcdir)/asm/warnings.pl c asm/warnings_c.h $(srcdir) + : > asm/warnings_c.h.time -asm/warnings.c: asm/warnings.c.time +asm/warnings_c.h: asm/warnings_c.h.time @: Side effect include/warnings.h.time: asm/warnings.pl asm/warnings.time @@ -506,8 +508,8 @@ EXTERNAL_DEPENDENCIES = 1 # the dependency information will remain external, so it doesn't # pollute the git logs. # -Makefile.dep: $(PERLREQ) tools/mkdep.pl config.status - $(RUNPERL) tools/mkdep.pl -M Makefile.in -- $(DEPDIRS) +Makefile.dep: $(PERLREQ) $(tools)/mkdep.pl config.status + $(RUNPERL) $(tools)/mkdep.pl -M Makefile.in -- $(DEPDIRS) dep: Makefile.dep @@ -517,9 +519,9 @@ dep: Makefile.dep # be invoked manually or via "make dist". It should be run before # creating release archives. # -alldeps: $(PERLREQ) tools/syncfiles.pl tools/mkdep.pl - $(RUNPERL) tools/syncfiles.pl Makefile.in Mkfiles/*.mak - $(RUNPERL) tools/mkdep.pl -i -M Makefile.in Mkfiles/*.mak -- \ +alldeps: $(PERLREQ) $(tools)/syncfiles.pl $(tools)/mkdep.pl + $(RUNPERL) $(tools)/syncfiles.pl Makefile.in Mkfiles/*.mak + $(RUNPERL) $(tools)/mkdep.pl -i -M Makefile.in Mkfiles/*.mak -- \ $(DEPDIRS) $(RM_F) *.dep if [ -f config.status ]; then \ @@ -528,9 +530,9 @@ alldeps: $(PERLREQ) tools/syncfiles.pl tools/mkdep.pl # Strip internal dependency information from all Makefiles; this makes # the output good for git checkin -cleandeps: $(PERLREQ) tools/syncfiles.pl tools/mkdep.pl - $(RUNPERL) tools/syncfiles.pl Makefile.in Mkfiles/*.mak - $(RUNPERL) tools/mkdep.pl -e -M Makefile.in Mkfiles/*.mak -- \ +cleandeps: $(PERLREQ) $(tools)/syncfiles.pl $(tools)/mkdep.pl + $(RUNPERL) $(tools)/syncfiles.pl Makefile.in Mkfiles/*.mak + $(RUNPERL) $(tools)/mkdep.pl -e -M Makefile.in Mkfiles/*.mak -- \ $(DEPDIRS) $(RM_F) *.dep if [ -f config.status ]; then \ diff --git a/Mkfiles/msvc.mak b/Mkfiles/msvc.mak index cf71fffc..da71c5c6 100644 --- a/Mkfiles/msvc.mak +++ b/Mkfiles/msvc.mak @@ -153,14 +153,14 @@ PERLREQ = config\unconfig.h \ x86\iflag.c x86\iflaggen.h \ macros\macros.c \ asm\pptok.ph asm\directbl.c asm\directiv.h \ - asm\warnings.c include\warnings.h doc\warnings.src \ + $(WARNFILES) \ misc\nasmtok.el \ version.h version.mac version.mak nsis\version.nsh INSDEP = x86\insns.dat x86\insns.pl x86\insns-iflags.ph x86\iflags.ph config\unconfig.h: config\config.h.in - $(RUNPERL) $(srcdir)\tools\unconfig.pl \ + $(RUNPERL) $(tools)\unconfig.pl \ '$(srcdir)' config\config.h.in config\unconfig.h x86\iflag.c: $(INSDEP) @@ -232,7 +232,7 @@ x86\regs.h: x86\regs.dat x86\regs.pl # reasonable, but doesn't update the time stamp if the files aren't # changed, to avoid rebuilding everything every time. Track the actual # dependency by the empty file asm\warnings.time. -WARNFILES = asm\warnings.c include\warnings.h doc\warnings.src +WARNFILES = asm\warnings_c.h include\warnings.h doc\warnings.src warnings: $(RM_F) $(WARNFILES) $(WARNFILES:=.time) @@ -242,11 +242,11 @@ asm\warnings.time: $(ALLOBJ_NW:.$(O)=.c) : > asm\warnings.time $(MAKE) $(WARNFILES:=.time) -asm\warnings.c.time: asm\warnings.pl asm\warnings.time - $(RUNPERL) $(srcdir)\asm\warnings.pl c asm\warnings.c $(srcdir) - : > asm\warnings.c.time +asm\warnings_c.h.time: asm\warnings.pl asm\warnings.time + $(RUNPERL) $(srcdir)\asm\warnings.pl c asm\warnings_c.h $(srcdir) + : > asm\warnings_c.h.time -asm\warnings.c: asm\warnings.c.time +asm\warnings_c.h: asm\warnings_c.h.time @: Side effect include\warnings.h.time: asm\warnings.pl asm\warnings.time diff --git a/Mkfiles/openwcom.mak b/Mkfiles/openwcom.mak index 5394d85d..605f9afe 100644 --- a/Mkfiles/openwcom.mak +++ b/Mkfiles/openwcom.mak @@ -166,14 +166,14 @@ PERLREQ = config\unconfig.h & x86\iflag.c x86\iflaggen.h & macros\macros.c & asm\pptok.ph asm\directbl.c asm\directiv.h & - asm\warnings.c include\warnings.h doc\warnings.src & + $(WARNFILES) & misc\nasmtok.el & version.h version.mac version.mak nsis\version.nsh INSDEP = x86\insns.dat x86\insns.pl x86\insns-iflags.ph x86\iflags.ph config\unconfig.h: config\config.h.in - $(RUNPERL) $(srcdir)\tools\unconfig.pl & + $(RUNPERL) $(tools)\unconfig.pl & '$(srcdir)' config\config.h.in config\unconfig.h x86\iflag.c: $(INSDEP) @@ -245,7 +245,7 @@ x86\regs.h: x86\regs.dat x86\regs.pl # reasonable, but doesn't update the time stamp if the files aren't # changed, to avoid rebuilding everything every time. Track the actual # dependency by the empty file asm\warnings.time. -WARNFILES = asm\warnings.c include\warnings.h doc\warnings.src +WARNFILES = asm\warnings_c.h include\warnings.h doc\warnings.src warnings: $(RM_F) $(WARNFILES) $(WARNFILES:=.time) @@ -255,11 +255,11 @@ asm\warnings.time: $(ALLOBJ_NW:.$(O)=.c) : > asm\warnings.time $(MAKE) $(WARNFILES:=.time) -asm\warnings.c.time: asm\warnings.pl asm\warnings.time - $(RUNPERL) $(srcdir)\asm\warnings.pl c asm\warnings.c $(srcdir) - : > asm\warnings.c.time +asm\warnings_c.h.time: asm\warnings.pl asm\warnings.time + $(RUNPERL) $(srcdir)\asm\warnings.pl c asm\warnings_c.h $(srcdir) + : > asm\warnings_c.h.time -asm\warnings.c: asm\warnings.c.time +asm\warnings_c.h: asm\warnings_c.h.time @: Side effect include\warnings.h.time: asm\warnings.pl asm\warnings.time diff --git a/asm/warnings.c b/asm/warnings.c new file mode 100644 index 00000000..03ece8bb --- /dev/null +++ b/asm/warnings.c @@ -0,0 +1 @@ +#include "warnings_c.h" diff --git a/doc/Makefile.in b/doc/Makefile.in index e92437a0..1c8393c5 100644 --- a/doc/Makefile.in +++ b/doc/Makefile.in @@ -20,7 +20,7 @@ INSTALL = @INSTALL@ INSTALL_PROGRAM = @INSTALL_PROGRAM@ INSTALL_DATA = @INSTALL_DATA@ -PERL = perl -I$(srcdir) +PERL = perl -I$(top_srcdir)/perllib -I$(srcdir) PDFOPT = @PDFOPT@