nasm/tools
H. Peter Anvin (Intel) 8317d7ae2f Mkfiles/msvc.mak: make the docs: target actually work under real nmake
The docs: target fed doc/Makefile.in directly to nmake, but that file
relies on several GNU make-only constructs nmake cannot parse at all:
the $^ automatic variable (not valid nmake macro syntax -- fatal
parse error), $< used outside of an inference rule (silently
unsupported, since nmake only defines $< within .SUFFIXES-style
rules), and the GNU-only "-include *.dep" optional wildcard include
directive (nmake only understands the unrelated "!include"
directive). Add tools/mkmsvcdocmak.pl, which rewrites just those
constructs to their explicit nmake-safe equivalents in a generated
copy (doc/Makefile.msvc), leaving doc/Makefile.in itself untouched for
the Unix/GNU make build. Verified by rewriting doc/Makefile.in this
way and building nasmdoc.pdf through it with GNU make standing in for
nmake.

Also, doc/Makefile.in expects doc/warnings.src, doc/perlbreq.src and
doc/pptok.src to have already been generated -- the Unix "doc" target
does this via the top-level Makefile.in before recursing into doc/,
but msvc.mak's docs: target had no equivalent step. warnings.src and
pptok.src already had msvc.mak rules (just not wired up as
prerequisites of docs:); perlbreq.src had no rule at all, since the
top-level Makefile.in generates it with a POSIX find/sed pipeline that
doesn't translate to Windows. Add tools/genperlbreq.pl, a portable
pure-Perl equivalent (using File::Find), and a doc\perlbreq.src rule
in msvc.mak that uses it; verified it produces output byte-identical
to the existing POSIX pipeline.

Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
2026-07-07 15:26:53 -07:00
..
testgen testgen: document %ifdef ERROR error-case coverage 2026-07-04 13:43:20 -07:00
travis Add --debug-prefix-map option 2026-07-04 19:22:48 -07:00
cleanfile tools: sync the "cleanfile" and "cleanpatch" with Linux 2025-10-01 11:46:06 -07:00
cleanpatch tools: sync the "cleanfile" and "cleanpatch" with Linux 2025-10-01 11:46:06 -07:00
genperlbreq.pl Mkfiles/msvc.mak: make the docs: target actually work under real nmake 2026-07-07 15:26:53 -07:00
mkdep.pl x86: tools: Remove unused perl code variables 2025-10-06 19:17:51 +02:00
mkmsvcdocmak.pl Mkfiles/msvc.mak: make the docs: target actually work under real nmake 2026-07-07 15:26:53 -07:00
Nindent Nindent: modernize (greatly simplify) and move to tools/ 2023-10-12 14:28:58 -07:00
release tools/release: unset ACLOCAL_PATH 2025-10-02 17:12:45 -07:00
spdx.pl Fix more license headers 2025-10-01 12:05:34 -07:00
syncfiles.pl treewide: replace verbose copyright headers with SPDX tags 2025-10-01 11:45:31 -07:00
tag-release Reorganize the source code into subdirectories 2016-05-25 12:06:29 -07:00