No description
Find a file
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
.github/workflows ci: build the Windows NSIS installer in the MSVC job 2026-07-07 15:26:53 -07:00
asm files: formalize storing "mapped" file names in the filenames system 2026-07-06 17:08:01 -07:00
autoconf autoconf: sync with upstream pa_option_lto.m4 2026-06-04 10:50:54 -07:00
common files: formalize storing "mapped" file names in the filenames system 2026-07-06 17:08:01 -07:00
config config/msvc.h: fill in gaps versus configure.ac/config.h.in 2026-07-07 12:57:50 -07:00
contrib contrib/MSVC6.txt: Add guide how to use nasm in MSVC6 2010-01-24 23:17:55 +03:00
disasm Merge remote-tracking branch 'maciej/for-hpa-fixes' 2026-02-26 15:32:29 -08:00
doc build: only use @SET_MAKE@ in the top-level Makefile.in 2026-07-07 15:26:53 -07:00
editors editors/nasmtok.pl: break nasmtok.json into lines 2026-07-04 19:58:07 -07:00
include files: formalize storing "mapped" file names in the filenames system 2026-07-06 17:08:01 -07:00
macros Disable other warnings in endstruc 2025-10-03 10:30:33 -07:00
misc build: only use @SET_MAKE@ in the top-level Makefile.in 2026-07-07 15:26:53 -07:00
Mkfiles Mkfiles/msvc.mak: make the docs: target actually work under real nmake 2026-07-07 15:26:53 -07:00
nasmlib file.c: include <windows.h> before <stringapiset.h> 2026-07-07 13:12:06 -07:00
nsis nsis: remove references to RDOFF tools 2022-11-08 18:22:25 -08:00
output Add --debug-prefix-map option 2026-07-04 19:22:48 -07:00
perllib Fix some typos 2022-01-09 17:34:35 +01:00
stdlib nasmlib: move filename_set_extension() into path.c 2025-12-15 09:58:42 -08:00
templates Rename "headers" directory to "templates", add .h template 2025-10-15 17:34:29 -07:00
test build: only use @SET_MAKE@ in the top-level Makefile.in 2026-07-07 15:26:53 -07:00
tools Mkfiles/msvc.mak: make the docs: target actually work under real nmake 2026-07-07 15:26:53 -07:00
travis Add --debug-prefix-map option 2026-07-04 19:22:48 -07:00
win windows host: add embedded manifest file 2024-01-29 17:19:32 -08:00
x86 x86/insns.pl, tools/testgen: share cc/scc condition-code tables 2026-07-02 00:05:47 -07:00
zlib zlib: yet one more portability hack 2025-09-05 20:08:18 -07:00
.editorconfig .editorconfig: hard tabs are still 8 spaces 2024-06-10 21:12:52 -07:00
.gitattributes gitattributes: don't try to merge the version file 2020-06-30 13:48:13 -07:00
.gitignore Rename travis.mk[.in] -> travis.mak[.in] 2026-07-06 14:09:02 -07:00
.travis.yml travis: Disable osx for a while 2018-10-17 21:40:14 +03:00
AUTHORS Correct name spelling and email address 2015-01-18 20:21:14 +02:00
autogen.sh autogen.sh: Use $PATH_SEPARATOR as a path separator of ACLOCAL_PATH 2025-10-03 10:29:57 -07:00
ChangeLog Fix some typos 2022-01-09 17:34:35 +01:00
CHANGES Move the revision history into the documentation 2008-07-14 02:45:57 -04:00
configure.ac Rename travis.mk[.in] -> travis.mak[.in] 2026-07-06 14:09:02 -07:00
INSTALL Fix some typos 2022-01-09 17:34:35 +01:00
LICENSE treewide: replace verbose copyright headers with SPDX tags 2025-10-01 11:45:31 -07:00
Makefile.in build: only use @SET_MAKE@ in the top-level Makefile.in 2026-07-07 15:26:53 -07:00
nasm.spec.in nasm.spec.in: change http:// to https:// 2025-10-09 17:19:54 -07:00
nasm.spec.sed nasm.spec: use a sed file to insert perl dependencies 2017-04-23 18:54:23 -07:00
nasm.txt Add --debug-prefix-map option 2026-07-04 19:22:48 -07:00
ndisasm.txt ndisasm: man -- Add missing -p option 2013-04-20 20:18:46 +04:00
README.md doc: remove references to sourceforge 2020-07-01 21:48:44 -07:00
SubmittingPatches SubmittingPatches: more up to date information about the patch format 2026-06-11 12:47:32 -07:00
travis.mak.in Rename travis.mk[.in] -> travis.mak[.in] 2026-07-06 14:09:02 -07:00
version NASM 3.02 2026-06-28 20:37:13 -07:00
version.pl Move editor help files to editors/, add NASM version number 2025-10-02 13:49:43 -07:00

NASM, the Netwide Assembler

master

Many many developers all over the net respect NASM for what it is: a widespread (thus netwide), portable (thus netwide!), very flexible and mature assembler tool with support for many output formats (thus netwide!!).

Now we have good news for you: NASM is licensed under the "simplified" (2-clause) BSD license. This means its development is open to even wider society of programmers wishing to improve their lovely assembler.

Visit our nasm.us website for more details.

With best regards, the NASM crew.