mirror of
https://github.com/netwide-assembler/nasm
synced 2026-08-26 16:23:04 -04:00
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> |
||
|---|---|---|
| .. | ||
| testgen | ||
| travis | ||
| cleanfile | ||
| cleanpatch | ||
| genperlbreq.pl | ||
| mkdep.pl | ||
| mkmsvcdocmak.pl | ||
| Nindent | ||
| release | ||
| spdx.pl | ||
| syncfiles.pl | ||
| tag-release | ||