diff --git a/Makefile.in b/Makefile.in index 36392aa78..d274b0b61 100644 --- a/Makefile.in +++ b/Makefile.in @@ -134,7 +134,7 @@ NDISASM = disasm/ndisasm.$(O) PROGOBJ = $(NASM) $(NDISASM) PROGS = nasm$(X) ndisasm$(X) -# Files dependent on extracted warnings +# Files dependent on warnings.dat WARNOBJ = asm/warnings.$(O) WARNFILES = asm/warnings_c.h include/warnings.h doc/warnings.src @@ -260,9 +260,6 @@ ndisasm$(X): $(NDISASM) $(MANIFEST) $(DISLIB) $(NASMLIB) $(CC) $(ALL_LDFLAGS) -o $@ $(NDISASM) $(MANIFEST) \ $(DISLIB) $(NASMLIB) $(LIBS) -# These are specific to certain Makefile syntaxes... -WARNSRCS = $(ALLOBJ_W:.$(O)=.c) - # Make sure we have subdirectories set up... $(LIBOBJ) $(LIBOBJ_DIS): $(DIRS) @@ -532,7 +529,7 @@ editor_builtin: nasm$(X) dist: $(MAKE) alldeps - $(MAKE) perlreq warnings spec + $(MAKE) perlreq spec $(MAKE) editor_builtin $(MAKE) editors $(MANPAGES) $(MAKE) distclean diff --git a/Mkfiles/msvc.mak b/Mkfiles/msvc.mak index 5288e555f..8857b788a 100644 --- a/Mkfiles/msvc.mak +++ b/Mkfiles/msvc.mak @@ -344,7 +344,25 @@ editors\nasmtok.json: editors\nasmtok.pl asm\tokhash.c asm\pptok.c \ version.mak $(RUNPERL) $(srcdir)\editors\nasmtok.pl -json $@ $(srcdir) $(objdir) -editors: $(EDITORS) +editors: $(EDITORS) $(PHONY) + +asm\warnings_c.h: asm\warnings.pl asm\warnings.dat + $(RUNPERL) $(srcdir)\asm\warnings.pl c asm\warnings_c.h \ + $(srcdir)\asm\warnings.dat + +include\warnings.h: asm\warnings.pl asm\warnings.dat + $(RUNPERL) $(srcdir)\asm\warnings.pl h include\warnings.h \ + $(srcdir)\asm\warnings.dat + +doc\warnings.src: asm\warnings.pl asm\warnings.dat + $(RUNPERL) $(srcdir)\asm\warnings.pl doc doc\warnings.src \ + $(srcdir)\asm\warnings.dat + +$(PERLREQ): $(DIRS) + +perlreq: $(PERLREQ) $(PHONY) + +warnings: $(WARNFILES) $(PHONY) #-- End Generated File Rules --# diff --git a/Mkfiles/openwcom.mak b/Mkfiles/openwcom.mak index 64d444410..0755fdd3e 100644 --- a/Mkfiles/openwcom.mak +++ b/Mkfiles/openwcom.mak @@ -353,7 +353,25 @@ editors\nasmtok.json: editors\nasmtok.pl asm\tokhash.c asm\pptok.c & version.mak $(RUNPERL) $(srcdir)\editors\nasmtok.pl -json $@ $(srcdir) $(objdir) -editors: $(EDITORS) +editors: $(EDITORS) $(PHONY) + +asm\warnings_c.h: asm\warnings.pl asm\warnings.dat + $(RUNPERL) $(srcdir)\asm\warnings.pl c asm\warnings_c.h & + $(srcdir)\asm\warnings.dat + +include\warnings.h: asm\warnings.pl asm\warnings.dat + $(RUNPERL) $(srcdir)\asm\warnings.pl h include\warnings.h & + $(srcdir)\asm\warnings.dat + +doc\warnings.src: asm\warnings.pl asm\warnings.dat + $(RUNPERL) $(srcdir)\asm\warnings.pl doc doc\warnings.src & + $(srcdir)\asm\warnings.dat + +$(PERLREQ): $(DIRS) + +perlreq: $(PERLREQ) $(PHONY) + +warnings: $(WARNFILES) $(PHONY) #-- End Generated File Rules --# diff --git a/asm/warnings.pl b/asm/warnings.pl index 9ac7684b0..320188ecd 100755 --- a/asm/warnings.pl +++ b/asm/warnings.pl @@ -288,19 +288,6 @@ if ($what eq 'c') { close($out); -# Write data to file if and only if it has changed -# For some systems, even if we don't write, opening for append -# apparently touches the timestamp, so we need to read and write -# as separate operations. -if (open(my $out, '<', $outfile)) { - my $datalen = length($outdata); - my $oldlen = read($out, my $oldoutdata, $datalen+1); - close($out); - exit 0 if (defined($oldlen) && $oldlen == $datalen && - ($oldoutdata eq $outdata)); -} - -# Data changed, must rewrite open(my $out, '>', $outfile) or die "$0: cannot open output file $outfile: $!\n";