[nasm:nasm-2.16.xx] warnings: more improvements to warnings generation
nasm-bot for H. Peter Anvin
hpa at zytor.com
Thu Apr 4 14:21:07 PDT 2024
Commit-ID: b11cd3a4266c075916539d7accafb0ae1febd881
Gitweb: http://repo.or.cz/w/nasm.git?a=commitdiff;h=b11cd3a4266c075916539d7accafb0ae1febd881
Author: H. Peter Anvin <hpa at zytor.com>
AuthorDate: Thu, 4 Apr 2024 14:18:34 -0700
Committer: H. Peter Anvin <hpa at zytor.com>
CommitDate: Thu, 4 Apr 2024 14:18:34 -0700
warnings: more improvements to warnings generation
Try to better sort out the necessary dependencies for warning
generation.
Fix regex for cleaning up nasmdoc markup: nasmdoc markup does not
nest, although it may include \} sequences.
Signed-off-by: H. Peter Anvin <hpa at zytor.com>
---
Makefile.in | 13 ++++++++++---
asm/warnings.pl | 3 ++-
doc/Makefile.in | 6 ++++++
3 files changed, 18 insertions(+), 4 deletions(-)
diff --git a/Makefile.in b/Makefile.in
index 93ea2c3a..d5028a4b 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -79,6 +79,12 @@ ifeq ($(TRACE),1)
CFLAGS += -DNASM_TRACE
endif
+# Don't delete intermediate files
+.SECONDARY:
+
+# Delete files on error
+.DELETE_ON_ERROR:
+
.SUFFIXES:
.SUFFIXES: $(X) .$(O) .$(A) .xml .1 .c .i .s .txt .time
@@ -191,7 +197,7 @@ ndisasm$(X): $(NDISASM) $(MANIFEST) $(NASMLIB)
# These are specific to certain Makefile syntaxes...
WARNTIMES = $(WARNFILES:=.time)
-WARNSRCS = $(LIBOBJ_NW:.$(O)=.c)
+WARNSRCS = $(LIBOBJ_NW:.$(O)=.c) asm/nasm.c
#-- Begin Generated File Rules --#
@@ -286,11 +292,12 @@ 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.
+.PHONY: warnings
warnings:
- $(RM_F) $(WARNFILES) $(WARNTIMES)
+ $(RM_F) $(WARNFILES) $(WARNTIMES) asm/warnings.time
$(MAKE) asm/warnings.time
-asm/warnings.time: $(WARNSRCS)
+asm/warnings.time: $(WARNSRCS) asm/warnings.pl
$(EMPTY) asm/warnings.time
$(MAKE) $(WARNTIMES)
diff --git a/asm/warnings.pl b/asm/warnings.pl
index bff566c0..33e85cfa 100755
--- a/asm/warnings.pl
+++ b/asm/warnings.pl
@@ -18,10 +18,11 @@ sub quote_for_c(@) {
return $s;
}
+# Remove a subset of nasmdoc markup
sub remove_markup(@) {
my $s = join('', @_);
- $s =~ s/\\[\w+](\{((?:(?>[^{}]+)|(?1))*)\})?/$2/g;
+ $s =~ s/\\[\w+](?:\{((?:[^\}]|\\\})*)\})/$1/g;
$s =~ s/\\(\W)/$1/g;
return $s;
}
diff --git a/doc/Makefile.in b/doc/Makefile.in
index 1c8393c5..f87c7155 100644
--- a/doc/Makefile.in
+++ b/doc/Makefile.in
@@ -43,6 +43,12 @@ SRCS = nasmdoc.src inslist.src changes.src warnings.src version.src
OUT = html nasmdoc.txt nasmdoc.pdf $(XZFILES)
XZOUT = nasmdoc.pdf.xz
+# Don't delete intermediate files
+.SECONDARY:
+
+# Delete files on error
+.DELETE_ON_ERROR:
+
.SUFFIXES:
.SUFFIXES: .pfa .ph
More information about the Nasm-commits
mailing list