nasm/Mkfiles
H. Peter Anvin (Intel) ff7a315acb nasmlib: move filename_set_extension() into path.c
Move filename_set_extension() into path.c, so it has access to the
filesystem-specific character constants. This prevents something like:

	nasm-code.d/foobar

... from getting truncated to ...

	nasm-code.bin

... instead of producing ...

	nasm-code.d/foobar.bin

Make the extension character (normally '.') configurable; this MIGHT
be usable on RISCOS at some point, although it is not entirely clear
that trying to make sense of RISCOS paths actually is meaningful,
because RISCOS compiler chains seem to do all kinds of path
translation magic trying to behave like other operating systems... it
might simply be more trouble than it is worth, especially for a
non-x86 platform.

As a side bonus, this removes the only use of strrchrnul(), so that
function can be dropped.

Signed-off-by: H. Peter Anvin (Intel) <hpa@zytor.com>
2025-12-15 09:58:42 -08:00
..

These are pre-created Makefiles for various platforms, use them if
GNU autoconf/automake packages are not supported on your system.

The Makefiles are:

  Filename      Target		Compiler	Tested with
  ---------------------------------------------------------------------------
  msvc.mak	Win32		MS Visual C++	Visual Visual Studio 2013-2022

	For building on a Win32 host using Microsoft Visual C++.

	Usage:	nmake /f Mkfiles\msvc.mak
	(Note: make sure you have a MSVC Developer Command Prompt console before
	       running the nmake command)

	If the following tools are installed, the full installer package can
	be built:
		1. Perl (5.6 or later), e.g. ActivePerl or StrawberryPerl
		   http://strawberryperl.com/
		2. Nullsoft Scriptable Install System (makensis)
		   http://nsis.sourceforge.net/Download
		3. Ghostscript (ps2pdf) or Acrobat Distriller (acrodist)
		   https://downloads.ghostscript.com/
		4. The Google Roboto and Roboto Mono fonts
		   https://github.com/googlefonts/
		5. The Perl module Font::TTF (can usually be installed
		   via the "CPAN Client" in your Perl distribution)
		   http://search.cpan.org/~bhallissy/Font-TTF/
		6. The Perl module Sort::Versions (can usually be installed
		   via the "CPAN Client" in your Perl distribution)
		   http://search.cpan.org/~neilb/Sort-Versions-1.62/lib/Sort/Versions.pm

	The tools need to be in your current path.  To build the
	installer package, run:

		nmake /f Mkfiles\msvc.mak everything nsis

	NOTE: the preferred way to build NASM on Windows is to use
	the standard configure script under the MSYS2 environment.
	See http://www.msys2.org/.


  Filename      Target		Compiler	Tested with
  ---------------------------------------------------------------------------
  openwcom.mak	DOS,Win32,OS/2	OpenWatcom C	OpenWatcom 1.7 (Win32)
		Linux (386)			OpenWatcom 1.9 (Linux)

	For building on a DOS, OS/2, Win32 or Linux host using OpenWatcom.
	OpenWatcom can be downloaded from http://www.openwatcom.org/.

	Usage:	wmake /f Mkfiles/openwcom.mak <target>

	<target> is dos, win32, os2, or linux386.