summaryrefslogtreecommitdiff
path: root/Mkfiles
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2002-04-30 20:54:58 +0000
committerH. Peter Anvin <hpa@zytor.com>2002-04-30 20:54:58 +0000
commitce14ce6fc4bf6a8a73bd7061177f8dfa696b37db (patch)
treef44620fa214c3d1c4ec5eed664fd538e24832f26 /Mkfiles
parent900fa5b26b8f1374416d6dfbdacfed65f10ae5eb (diff)
downloadnasm-ce14ce6fc4bf6a8a73bd7061177f8dfa696b37db.tar.gz
nasm-ce14ce6fc4bf6a8a73bd7061177f8dfa696b37db.tar.bz2
nasm-ce14ce6fc4bf6a8a73bd7061177f8dfa696b37db.zip
NASM 0.98p3.2
Diffstat (limited to 'Mkfiles')
-rw-r--r--Mkfiles/Makefile.bc2238
-rw-r--r--Mkfiles/Makefile.bor82
-rw-r--r--Mkfiles/Makefile.dj81
-rw-r--r--Mkfiles/Makefile.dos78
-rw-r--r--Mkfiles/Makefile.lcc110
-rw-r--r--Mkfiles/Makefile.sc114
-rw-r--r--Mkfiles/Makefile.scw114
-rw-r--r--Mkfiles/Makefile.unx97
-rw-r--r--Mkfiles/Makefile.vc77
-rw-r--r--Mkfiles/Makefile.wc119
-rw-r--r--Mkfiles/Makefile.wcw119
11 files changed, 1229 insertions, 0 deletions
diff --git a/Mkfiles/Makefile.bc2 b/Mkfiles/Makefile.bc2
new file mode 100644
index 0000000..92ec9d2
--- /dev/null
+++ b/Mkfiles/Makefile.bc2
@@ -0,0 +1,238 @@
+# Makefile for the Netwide Assembler under 16-bit DOS (aimed at Borland C)
+#
+# The Netwide Assembler is copyright (C) 1996 Simon Tatham and
+# Julian Hall. All rights reserved. The software is
+# redistributable under the licence given in the file "Licence"
+# distributed in the NASM archive.
+#
+# This makefile is made for compile NASM and NDISASM on a 16 bit dos
+# compiler like Microsoft C, or Borland C. This should work on all
+# verioson of Turbo C++ and Borland C++ from version 3.0 and upwords.
+# I'm not fully sure how it will handel on Microsoft C, but all the
+# switches are documented, and it shouldn't be a problem to change it
+# over.
+#
+# It does show a few of my preferances, like putting the OBJ files
+# in a seperat directory, but if you just set OBJD to '.', it will
+# drop them all in the current directory (though you still need to
+# make the directory it's self).
+#
+# Most everything is remarked, and explaned in full, it should be
+# easy to convert it to another compiler. I tried to make the devision
+# of information logical, and easy to follow.
+#
+# BEFORE YOU USE THIS MAKE FILE!!!
+#
+# Make sure the line below is set to the propper location of your standard
+# Libaries, if not you'll get some errors. Make sure to keep the trailing
+# backslash, as it's needed, and remeber to use \\ not \ as that will cause
+# some errors.
+#
+# Also inportant, if you get a DGROUP error when you compile NASM, remove
+# or comment out the 'NASMSize=l' line, and uncoment (remove the #) from the
+# NASMSize=h line. Then run 'make Clean' to delete the object files. Then run
+# make again to re-build NASM as huge.
+#
+# History:
+# 06/13/97: * Added the EXED varable for the location to put the EXE files.
+# * Because different versions of Borland and Turbo C have
+# different GROUPings for the DGROUP, some version, when you
+# compile NASM, you will get a DGROUP overflow error, making it
+# so NASM has to be compiled as huge. As this isn't a constant
+# through systems (and apperently some version of Borland,
+# compileing as huge causes some errors) the NASMSize verable
+# has been added to spicify what size of code you want to
+# compile as and defaults to large.
+# 06/16/97: * Added 'merge dupicate strings' to the options for compiles.
+
+NASMSize=l #Compile Nasm as Large
+#NASMSize=h #Compile Nasm as Huge
+
+LIB =c:\\tc\\lib\\ #location standard libaries
+
+OBJD=obj\\ #directory to put OBJ files in
+EXED=.\ #directory to put the EXE files.
+CC = tcc #compiler
+LINK = tlink #linker
+CCFLAGS = /d /c /O /A /m$(NASMSize) /n$(OBJD) #compiler flags for NASM
+ #/d=merge dupicate strings
+ #/c=compile only
+ #/O=Optimise jumps
+ #/A=ANSI standard C
+ #/m$(NASMSize>=the model to use
+ #/n$(OBJD)= put the OBJ files in the diectory given.
+
+DCCFLAGS = /d /c /O /A /mh /n$(OBJD) #compiler flags for NDISASM
+ #/d=merge dupicate strings
+ #/c=compile only
+ #/O=Optimise jumps
+ #/A=ANSI standard C
+ #/mh=Model huge
+ #/n$(OBJD)= put the OBJ files in the diectory given.
+ #NOTE: Huge model is used, and the array in insnsd.c is large enough to
+ #over size the d-group in large mode.
+
+LINKFLAGS = /c /x #linker flags
+ #/c=case segnificance on symboles
+ #/x=No map file at all
+
+LIBRARIES = #any libaries to add, out side of the standard libary
+EXE = .exe #executable file extention (keep the . as the start)
+OBJ = obj #OBJ file extention
+
+NASM_ASM=$(CC) $(CCFLAGS) $&.c #Command line for NASM
+DASM_ASM=$(CC) $(DCCFLAGS) $&.c #command line for NDISASM
+
+# NOTE: $& is used to create the file name, as it only gives the name it's
+# self, where as using $* would have give the full path of the file it
+# want's done. This becomes a problem if the OBJ files are in a seperate
+# directory, becuse it will then try to find the source file in the OBJ
+# dir.
+
+################################################################
+#The OBJ files that NASM is dependent on
+
+NASMOBJS = $(OBJD)nasm.$(OBJ) $(OBJD)nasmlib.$(OBJ) $(OBJD)float.$(OBJ) \
+ $(OBJD)insnsa.$(OBJ) $(OBJD)assemble.$(OBJ) $(OBJD)labels.$(OBJ) \
+ $(OBJD)parser.$(OBJ) $(OBJD)outform.$(OBJ) $(OBJD)preproc.$(OBJ) \
+ $(OBJD)listing.$(OBJ) $(OBJD)eval.$(OBJ)
+
+################################################################
+#The OBJ files that NDISASM is dependent on
+
+NDISASMOBJS = $(OBJD)ndisasm.$(OBJ) $(OBJD)disasm.$(OBJ) $(OBJD)sync.$(OBJ) \
+ $(OBJD)nasmlibd.$(OBJ) $(OBJD)insnsd.$(OBJ)
+
+################################################################
+#The OBJ file for the output formats.
+
+OUTOBJ= $(OBJD)outbin.$(OBJ) $(OBJD)outaout.$(OBJ) $(OBJD)outcoff.$(OBJ) \
+ $(OBJD)outelf.$(OBJ) $(OBJD)outobj.$(OBJ) $(OBJD)outas86.$(OBJ) \
+ $(OBJD)outrdf.$(OBJ) $(OBJD)outdbg.$(OBJ)
+
+
+################################################################
+# Build everything
+
+all : nasm$(EXE) ndisasm$(EXE)
+
+################################################################
+#NASM, NDISASM compile, I hope it's self explanitorie
+
+nasm$(EXE): $(NASMOBJS) $(OUTOBJ)
+ $(LINK) $(LINKFLAGS) @&&^ #command for the linker
+ $(LIB)c0$(NASMSize).obj $(NASMOBJS) $(OUTOBJ) #OBJ file list
+ $(EXED)nasm$(EXE) #EXE file name
+# No need of a map file
+ $(LIB)c$(NASMSize).lib $(LIBRARIES) #Libaries needed
+^
+
+ndisasm$(EXE): $(NDISASMOBJS)
+ $(LINK) $(LINKFLAGS) @&&^ #command for the linker
+ $(LIB)c0h.obj $(NDISASMOBJS) #OBJ file list
+ $(EXED)ndisasm$(EXE) #EXE file name
+# No need of a map file
+ $(LIB)ch.lib $(LIBRARIES) #Libaries needed
+^
+
+################################################################
+# Dependencies for all of NASM's obj files
+
+$(OBJD)assemble.$(OBJ): assemble.c nasm.h assemble.h insns.h
+ $(NASM_ASM)
+
+$(OBJD)float.$(OBJ): float.c nasm.h
+ $(NASM_ASM)
+
+$(OBJD)labels.$(OBJ): labels.c nasm.h nasmlib.h
+ $(NASM_ASM)
+
+$(OBJD)listing.$(OBJ): listing.c nasm.h nasmlib.h listing.h
+ $(NASM_ASM)
+
+$(OBJD)eval.$(OBJ): eval.c nasm.h nasmlib.h eval.h
+ $(NASM_ASM)
+
+$(OBJD)nasm.$(OBJ): nasm.c nasm.h nasmlib.h parser.h assemble.h labels.h \
+ listing.h outform.h
+ $(NASM_ASM)
+
+$(OBJD)nasmlib.$(OBJ): nasmlib.c nasm.h nasmlib.h
+ $(NASM_ASM)
+
+$(OBJD)parser.$(OBJ): parser.c nasm.h nasmlib.h parser.h float.h names.c
+ $(NASM_ASM)
+
+$(OBJD)preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h nasmlib.h
+ $(NASM_ASM)
+
+$(OBJD)insnsa.$(OBJ): insnsa.c nasm.h insns.h
+ $(NASM_ASM)
+
+################################################################
+# Dependencies for all of NDISASM's obj files
+
+$(OBJD)disasm.$(OBJ): disasm.c nasm.h disasm.h sync.h insns.h names.c
+ $(DASM_ASM)
+
+$(OBJD)ndisasm.$(OBJ): ndisasm.c nasm.h sync.h disasm.h
+ $(DASM_ASM)
+
+$(OBJD)sync.$(OBJ): sync.c sync.h
+ $(DASM_ASM)
+
+$(OBJD)insnsd.$(OBJ): insnsd.c nasm.h insns.h
+ $(DASM_ASM)
+
+# This is a kludge from the word go, as we can't use the nasmlib.obj compiled
+# for NASM, as it's could be the wrong model size, so we have to compile it
+# again as huge to make sure.
+#
+# So as not to overwrite the nasmlib.obj for NASM (if it did, that
+# could cause all kinds of problems) it compiles it into nasmlibd.obj.
+#
+# the -o... switch tells it the name to compile the obj file to, right here
+# $(OBJD)nasmlibd.obj
+
+$(OBJD)nasmlibd.$(OBJ): nasmlib.c nasm.h nasmlib.h
+ $(CC) $(DCCFLAGS) -o$(OBJD)nasmlibd.obj nasmlib.c
+
+################################################################
+# Dependencies for all of the output format's OBJ files
+
+$(OBJD)outas86.$(OBJ): outas86.c nasm.h nasmlib.h
+ $(NASM_ASM)
+
+$(OBJD)outaout.$(OBJ): outaout.c nasm.h nasmlib.h
+ $(NASM_ASM)
+
+$(OBJD)outbin.$(OBJ): outbin.c nasm.h nasmlib.h
+ $(NASM_ASM)
+
+$(OBJD)outcoff.$(OBJ): outcoff.c nasm.h nasmlib.h
+ $(NASM_ASM)
+
+$(OBJD)outdbg.$(OBJ): outdbg.c nasm.h nasmlib.h
+ $(NASM_ASM)
+
+$(OBJD)outelf.$(OBJ): outelf.c nasm.h nasmlib.h
+ $(NASM_ASM)
+
+$(OBJD)outobj.$(OBJ): outobj.c nasm.h nasmlib.h
+ $(NASM_ASM)
+
+$(OBJD)outrdf.$(OBJ): outrdf.c nasm.h nasmlib.h
+ $(NASM_ASM)
+
+$(OBJD)outform.$(OBJ): outform.c outform.h nasm.h
+ $(NASM_ASM)
+
+################################################################
+# A quick way to delete the OBJ files as well as the binaries.
+
+clean :
+ del $(OBJD)*.obj
+ del nasm$(EXE)
+ del ndisasm$(EXE)
+
+# Makefile created by Fox Cutter <lmb@comtch.iea.com> --01/27/97
diff --git a/Mkfiles/Makefile.bor b/Mkfiles/Makefile.bor
new file mode 100644
index 0000000..90e96fb
--- /dev/null
+++ b/Mkfiles/Makefile.bor
@@ -0,0 +1,82 @@
+# Makefile for the Netwide Assembler under 16-bit DOS
+#
+# The Netwide Assembler is copyright (C) 1996 Simon Tatham and
+# Julian Hall. All rights reserved. The software is
+# redistributable under the licence given in the file "Licence"
+# distributed in the NASM archive.
+#
+# This Makefile is designed to build NASM using a 16-bit DOS C
+# compiler such as Borland C, and has been tested with Borland C 2.3
+# and Borland Make.
+
+# CC = cl
+# CCFLAGS = /c /O /AL
+# LINK = cl
+CC = bcc
+CCFLAGS = -c -O -ml -A
+LINK = tlink /c /Lc:\bc\lib
+LINKFLAGS =
+LIBRARIES =
+EXE = .exe#
+OBJ = obj#
+
+.c.$(OBJ):
+ $(CC) $(CCFLAGS) $*.c
+
+NASMOBJS1 = nasm.$(OBJ) nasmlib.$(OBJ) float.$(OBJ) insnsa.$(OBJ)
+NASMOBJS2 = assemble.$(OBJ) labels.$(OBJ) parser.$(OBJ) outform.$(OBJ)
+NASMOBJS3 = outbin.$(OBJ) outaout.$(OBJ) outcoff.$(OBJ) outelf.$(OBJ)
+NASMOBJS4 = outobj.$(OBJ) outas86.$(OBJ) outdbg.$(OBJ) outrdf.$(OBJ)
+NASMOBJS5 = preproc.$(OBJ) listing.$(OBJ) eval.$(OBJ)
+
+NASMOBJS = $(NASMOBJS1) $(NASMOBJS2) $(NASMOBJS3) $(NASMOBJS4) $(NASMOBJS5)
+
+NDISASMOBJS = ndisasm.$(OBJ) disasm.$(OBJ) sync.$(OBJ) nasmlib.$(OBJ) \
+ insnsd.$(OBJ)
+
+all : nasm$(EXE) ndisasm$(EXE)
+
+# We have to have a horrible kludge here to get round the 128 character
+# limit, as usual...
+nasm$(EXE): $(NASMOBJS)
+# $(LINK) /Fenasm.exe a*.obj f*.obj insnsa.obj l*.obj na*.obj o*.obj p*.obj
+ echo c0l.obj $(NASMOBJS1) +> nasmobjs.tmp
+ echo $(NASMOBJS2) +>> nasmobjs.tmp
+ echo $(NASMOBJS3) +>> nasmobjs.tmp
+ echo $(NASMOBJS4) +>> nasmobjs.tmp
+ echo $(NASMOBJS5),nasm.exe,,cl.lib, >> nasmobjs.tmp
+ $(LINK) /Tde @nasmobjs.tmp
+
+ndisasm$(EXE): $(NDISASMOBJS)
+# $(LINK) /Fendisasm.exe $(NDISASMOBJS)
+ $(LINK) /Tde $(NDISASMOBJS),ndisasm.exe,,cl.lib,
+
+assemble.$(OBJ): assemble.c nasm.h assemble.h insns.h
+disasm.$(OBJ): disasm.c nasm.h disasm.h sync.h insns.h names.c
+eval.$(OBJ): eval.c nasm.h nasmlib.h eval.h
+float.$(OBJ): float.c nasm.h
+insnsa.$(OBJ): insnsa.c nasm.h insns.h
+insnsd.$(OBJ): insnsd.c nasm.h insns.h
+labels.$(OBJ): labels.c nasm.h nasmlib.h
+listing.$(OBJ): listing.c nasm.h nasmlib.h listing.h
+nasm.$(OBJ): nasm.c nasm.h nasmlib.h parser.h assemble.h labels.h \
+ listing.h outform.h
+nasmlib.$(OBJ): nasmlib.c nasm.h nasmlib.h
+ndisasm.$(OBJ): ndisasm.c nasm.h sync.h disasm.h
+outas86.$(OBJ): outas86.c nasm.h nasmlib.h
+outaout.$(OBJ): outaout.c nasm.h nasmlib.h
+outbin.$(OBJ): outbin.c nasm.h nasmlib.h
+outcoff.$(OBJ): outcoff.c nasm.h nasmlib.h
+outdbg.$(OBJ): outdbg.c nasm.h nasmlib.h
+outelf.$(OBJ): outelf.c nasm.h nasmlib.h
+outobj.$(OBJ): outobj.c nasm.h nasmlib.h
+outrdf.$(OBJ): outrdf.c nasm.h nasmlib.h
+outform.$(OBJ): outform.c outform.h nasm.h
+parser.$(OBJ): parser.c nasm.h nasmlib.h parser.h float.h names.c
+preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h nasmlib.h
+sync.$(OBJ): sync.c sync.h
+
+clean :
+ del *.obj
+ del nasm$(EXE)
+ del ndisasm$(EXE)
diff --git a/Mkfiles/Makefile.dj b/Mkfiles/Makefile.dj
new file mode 100644
index 0000000..6d932f3
--- /dev/null
+++ b/Mkfiles/Makefile.dj
@@ -0,0 +1,81 @@
+# host: dos
+# target: dos 32bit
+# Makefile for the Netwide Assembler
+#
+# The Netwide Assembler is copyright (C) 1996 Simon Tatham and
+# Julian Hall. All rights reserved. The software is
+# redistributable under the licence given in the file "Licence"
+# distributed in the NASM archive.
+
+# makefile designed for djgpp 2.xx
+# djgpp is GNU C compiler ported by mighty DJ Delorie
+# www.delorie.com and any simtel mirror
+
+# You may need to adjust these values.
+
+CC = gcc
+CFLAGS = -O2 -I.
+
+# You _shouldn't_ need to adjust anything below this line.
+
+.c.o:
+ $(CC) -c $(CFLAGS) $*.c
+
+NASM = nasm.o nasmlib.o float.o insnsa.o assemble.o labels.o \
+ parser.o outform.o outbin.o outaout.o outcoff.o outelf.o \
+ outobj.o outas86.o outrdf.o outdbg.o preproc.o listing.o \
+ eval.o
+
+NDISASM = ndisasm.o disasm.o sync.o nasmlib.o insnsd.o
+
+all: nasm.exe ndisasm.exe
+
+nasm.exe: $(NASM)
+ $(CC) -o $@ $(NASM)
+
+ndisasm.exe: $(NDISASM)
+ $(CC) -o $@ $(NDISASM)
+
+assemble.o: assemble.c nasm.h nasmlib.h assemble.h insns.h
+disasm.o: disasm.c nasm.h disasm.h sync.h insns.h names.c
+eval.o: eval.c eval.h nasm.h nasmlib.h
+float.o: float.c nasm.h
+insnsa.o: insnsa.c nasm.h insns.h
+insnsd.o: insnsd.c nasm.h insns.h
+labels.o: labels.c nasm.h nasmlib.h
+listing.o: listing.c nasm.h nasmlib.h listing.h
+nasm.o: nasm.c nasm.h nasmlib.h preproc.h parser.h assemble.h labels.h \
+ outform.h listing.h
+nasmlib.o: nasmlib.c nasm.h nasmlib.h
+ndisasm.o: ndisasm.c nasm.h nasmlib.h sync.h disasm.h
+outaout.o: outaout.c nasm.h nasmlib.h outform.h
+outas86.o: outas86.c nasm.h nasmlib.h outform.h
+outbin.o: outbin.c nasm.h nasmlib.h outform.h
+outcoff.o: outcoff.c nasm.h nasmlib.h outform.h
+outdbg.o: outdbg.c nasm.h nasmlib.h outform.h
+outelf.o: outelf.c nasm.h nasmlib.h outform.h
+outform.o: outform.c outform.h nasm.h
+outobj.o: outobj.c nasm.h nasmlib.h outform.h
+outrdf.o: outrdf.c nasm.h nasmlib.h outform.h
+parser.o: parser.c nasm.h nasmlib.h parser.h float.h names.c
+preproc.o: preproc.c nasm.h nasmlib.h macros.c
+sync.o: sync.c sync.h
+
+# These two source files are automagically generated from a single
+# instruction-table file by a Perl script. They're distributed,
+# though, so it isn't necessary to have Perl just to recompile NASM
+# from the distribution.
+
+insnsa.c insnsd.c: insns.dat insns.pl
+ perl insns.pl insns.dat
+
+# This source file is generated from the standard macros file
+# `standard.mac' by another Perl script. Again, it's part of the
+# standard distribution.
+
+macros.c: standard.mac macros.pl
+ perl macros.pl standard.mac
+
+clean:
+ rm -f *.o nasm ndisasm
+
diff --git a/Mkfiles/Makefile.dos b/Mkfiles/Makefile.dos
new file mode 100644
index 0000000..94403fc
--- /dev/null
+++ b/Mkfiles/Makefile.dos
@@ -0,0 +1,78 @@
+# Makefile for the Netwide Assembler under 16-bit DOS
+#
+# The Netwide Assembler is copyright (C) 1996 Simon Tatham and
+# Julian Hall. All rights reserved. The software is
+# redistributable under the licence given in the file "Licence"
+# distributed in the NASM archive.
+#
+# This Makefile is designed to build NASM using a 16-bit DOS C
+# compiler such as Microsoft C, provided you have a compatible MAKE.
+# It's been tested with Microsoft C 5.x plus Borland Make. (Yes, I
+# know it's silly, but...)
+
+CC = cl /c /O /AL /Gt
+QCL = qcl /c /AL /Gt
+LINK = cl
+LINKFLAGS =
+LIBRARIES =
+EXE = .exe#
+OBJ = obj#
+
+.c.$(OBJ):
+ $(CC) $*.c
+
+NASMOBJS = nasm.$(OBJ) nasmlib.$(OBJ) float.$(OBJ) insnsa.$(OBJ) \
+ assemble.$(OBJ) labels.$(OBJ) parser.$(OBJ) outform.$(OBJ) \
+ outbin.$(OBJ) outaout.$(OBJ) outcoff.$(OBJ) outelf.$(OBJ) \
+ outobj.$(OBJ) outas86.$(OBJ) outrdf.$(OBJ) outdbg.$(OBJ) \
+ preproc.$(OBJ) listing.$(OBJ) eval.$(OBJ)
+
+NDISASMOBJS = ndisasm.$(OBJ) disasm.$(OBJ) sync.$(OBJ) nasmlib.$(OBJ) \
+ insnsd.$(OBJ)
+
+all : nasm$(EXE) ndisasm$(EXE)
+
+# We have to have a horrible kludge here to get round the 128 character
+# limit, as usual...
+LINKOBJS = a*.obj e*.obj f*.obj insnsa.obj l*.obj na*.obj o*.obj p*.obj
+nasm$(EXE): $(NASMOBJS)
+ cl /Fenasm.exe /F 4000 $(LINKOBJS)
+
+ndisasm$(EXE): $(NDISASMOBJS)
+ cl /Fendisasm.exe $(NDISASMOBJS)
+
+assemble.$(OBJ): assemble.c nasm.h assemble.h insns.h
+disasm.$(OBJ): disasm.c nasm.h disasm.h sync.h insns.h names.c
+eval.$(OBJ): eval.c eval.h nasm.h nasmlib.h
+float.$(OBJ): float.c nasm.h
+labels.$(OBJ): labels.c nasm.h nasmlib.h
+listing.$(OBJ): listing.c nasm.h nasmlib.h listing.h
+nasm.$(OBJ): nasm.c nasm.h nasmlib.h parser.h assemble.h labels.h \
+ listing.h outform.h
+nasmlib.$(OBJ): nasmlib.c nasm.h nasmlib.h
+ndisasm.$(OBJ): ndisasm.c nasm.h sync.h disasm.h
+outas86.$(OBJ): outas86.c nasm.h nasmlib.h
+outaout.$(OBJ): outaout.c nasm.h nasmlib.h
+outbin.$(OBJ): outbin.c nasm.h nasmlib.h
+outcoff.$(OBJ): outcoff.c nasm.h nasmlib.h
+outdbg.$(OBJ): outdbg.c nasm.h nasmlib.h
+outelf.$(OBJ): outelf.c nasm.h nasmlib.h
+outobj.$(OBJ): outobj.c nasm.h nasmlib.h
+outrdf.$(OBJ): outrdf.c nasm.h nasmlib.h
+outform.$(OBJ): outform.c outform.h nasm.h
+parser.$(OBJ): parser.c nasm.h nasmlib.h parser.h float.h names.c
+preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h nasmlib.h
+sync.$(OBJ): sync.c sync.h
+
+# Another grotty hack: QC is less likely to run out of memory than
+# CL proper; and we don't need any optimisation in these modules
+# since they're just data.
+insnsa.$(OBJ): insnsa.c nasm.h insns.h
+ $(QCL) insnsa.c
+insnsd.$(OBJ): insnsd.c nasm.h insns.h
+ $(QCL) insnsd.c
+
+clean :
+ del *.obj
+ del nasm$(EXE)
+ del ndisasm$(EXE)
diff --git a/Mkfiles/Makefile.lcc b/Mkfiles/Makefile.lcc
new file mode 100644
index 0000000..1f6fdcb
--- /dev/null
+++ b/Mkfiles/Makefile.lcc
@@ -0,0 +1,110 @@
+# host: windows nt/95
+# target: windows nt/95
+# Makefile for the Netwide Assembler
+#
+# The Netwide Assembler is copyright (C) 1996 Simon Tatham and
+# Julian Hall. All rights reserved. The software is
+# redistributable under the licence given in the file "Licence"
+# distributed in the NASM archive.
+
+# makefile designed for lcc-win32
+# lcc-win32 is lcc (c compiler coded by guys from princeton uni)
+# ported to win32 by jacob navia
+# available at http://www.remcomp.com/lcc-win32/
+
+CFLAGS = -c -O -g2
+CC = lcc.exe $(CFLAGS)
+LFLAGS = -subsystem console -s
+LD = lcclnk.exe $(LFLAGS)
+OBJ = obj
+
+.c.${OBJ}:
+ $(CC) -o $@ $*.c
+
+NASM = nasm.${OBJ} nasmlib.${OBJ} float.${OBJ} insnsa.${OBJ} assemble.${OBJ} labels.${OBJ} \
+ parser.${OBJ} outform.${OBJ} outbin.${OBJ} outaout.${OBJ} outcoff.${OBJ} outelf.${OBJ} \
+ outobj.${OBJ} outas86.${OBJ} outrdf.${OBJ} outdbg.${OBJ} preproc.${OBJ} listing.${OBJ} \
+ eval.${OBJ}
+
+NDISASM = ndisasm.${OBJ} disasm.${OBJ} sync.${OBJ} nasmlib.${OBJ} insnsd.${OBJ}
+
+all: nasm ndisasm
+
+# linker response files
+# that may take long, too much spawning command.com :)
+NASM.LNK: makefile.lcc
+ echo nasm.$(OBJ) > NASM.LNK
+ echo nasmlib.$(OBJ) >> NASM.LNK
+ echo eval.$(OBJ) >> NASM.LNK
+ echo float.$(OBJ) >> NASM.LNK
+ echo insnsa.$(OBJ) >> NASM.LNK
+ echo assemble.$(OBJ) >> NASM.LNK
+ echo labels.$(OBJ) >> NASM.LNK
+ echo listing.$(OBJ) >> NASM.LNK
+ echo parser.$(OBJ) >> NASM.LNK
+ echo preproc.$(OBJ) >> NASM.LNK
+ echo outform.$(OBJ) >> NASM.LNK
+ echo outbin.$(OBJ) >> NASM.LNK
+ echo outaout.$(OBJ) >> NASM.LNK
+ echo outcoff.$(OBJ) >> NASM.LNK
+ echo outelf.$(OBJ) >> NASM.LNK
+ echo outobj.$(OBJ) >> NASM.LNK
+ echo outas86.$(OBJ) >> NASM.LNK
+ echo outrdf.$(OBJ) >> NASM.LNK
+ echo outdbg.$(OBJ) >> NASM.LNK
+
+NDISASM.LNK: makefile.lcc
+ echo ndisasm.$(OBJ) > NDISASM.LNK
+ echo disasm.$(OBJ) >> NDISASM.LNK
+ echo sync.$(OBJ) >> NDISASM.LNK
+ echo nasmlib.$(OBJ) >> NDISASM.LNK
+ echo insnsd.$(OBJ) >> NDISASM.LNK
+
+nasm: $(NASM) nasm.lnk
+ $(LD) -o nasm.exe @nasm.lnk
+
+ndisasm: $(NDISASM) ndisasm.lnk
+ $(LD) -o ndisasm.exe @ndisasm.lnk
+
+assemble.${OBJ}: assemble.c nasm.h nasmlib.h assemble.h insns.h
+disasm.${OBJ}: disasm.c nasm.h disasm.h sync.h insns.h names.c
+eval.${OBJ}: eval.c eval.h nasm.h nasmlib.h
+float.${OBJ}: float.c nasm.h
+insnsa.${OBJ}: insnsa.c nasm.h insns.h
+insnsd.${OBJ}: insnsd.c nasm.h insns.h
+labels.${OBJ}: labels.c nasm.h nasmlib.h
+listing.${OBJ}: listing.c nasm.h nasmlib.h listing.h
+nasm.${OBJ}: nasm.c nasm.h nasmlib.h preproc.h parser.h assemble.h labels.h \
+ outform.h listing.h
+nasmlib.${OBJ}: nasmlib.c nasm.h nasmlib.h
+ndisasm.${OBJ}: ndisasm.c nasm.h nasmlib.h sync.h disasm.h
+outaout.${OBJ}: outaout.c nasm.h nasmlib.h outform.h
+outas86.${OBJ}: outas86.c nasm.h nasmlib.h outform.h
+outbin.${OBJ}: outbin.c nasm.h nasmlib.h outform.h
+outcoff.${OBJ}: outcoff.c nasm.h nasmlib.h outform.h
+outdbg.${OBJ}: outdbg.c nasm.h nasmlib.h outform.h
+outelf.${OBJ}: outelf.c nasm.h nasmlib.h outform.h
+outform.${OBJ}: outform.c outform.h nasm.h
+outobj.${OBJ}: outobj.c nasm.h nasmlib.h outform.h
+outrdf.${OBJ}: outrdf.c nasm.h nasmlib.h outform.h
+parser.${OBJ}: parser.c nasm.h nasmlib.h parser.h float.h names.c
+preproc.${OBJ}: preproc.c nasm.h nasmlib.h macros.c
+sync.${OBJ}: sync.c sync.h
+
+# These two source files are automagically generated from a single
+# instruction-table file by a Perl script. They're distributed,
+# though, so it isn't necessary to have Perl just to recompile NASM
+# from the distribution.
+
+insnsa.c insnsd.c: insns.dat insns.pl
+ perl insns.pl insns.dat
+
+# This source file is generated from the standard macros file
+# `standard.mac' by another Perl script. Again, it's part of the
+# standard distribution.
+
+macros.c: standard.mac macros.pl
+ perl macros.pl standard.mac
+
+clean:
+ rm -f *.${OBJ} nasm.exe ndisasm.exe
diff --git a/Mkfiles/Makefile.sc b/Mkfiles/Makefile.sc
new file mode 100644
index 0000000..b5d0e35
--- /dev/null
+++ b/Mkfiles/Makefile.sc
@@ -0,0 +1,114 @@
+# Makefile for the Netwide Assembler under 32-bit DOS(tm)
+#
+# The Netwide Assembler is copyright (C) 1996 Simon Tatham and
+# Julian Hall. All rights reserved. The software is
+# redistributable under the licence given in the file "Licence"
+# distributed in the NASM archive.
+#
+# This Makefile is designed to build NASM using the 32-bit WIN32 C
+# compiler Symantec(tm) C++ 7.5, provided you have a MAKE-utility
+# that's compatible to SMAKE.
+
+CC = sc
+CCFLAGS = -c -a1 -mx -Nc -w2 -w7 -o+time -5
+# -5 optimize for pentium (tm)
+# -c compile only
+# -o-all no optimizations (to avoid problems in disasm.c)
+# -o+time optimize for speed
+# -o+space optimize for size
+# -A1 byte alignment for structures
+# -mn compile for Win32 executable
+# -mx compile for DOS386 (DOSX) executable
+# -Nc create COMDAT records
+# -w2 possible unattended assignment: off
+# -w7 for loops with empty instruction-body
+
+LINK = link
+LINKFLAGS = /noi /exet:DOSX
+# /noignorecase all symbols are case-sensitive
+# /exet:NT Exetype: NT (Win32)
+# /exet:DOSX Exetype: DOSX (DOS32)
+# /su:console Subsystem: Console (Console-App)
+
+LIBRARIES =
+EXE = .exe
+OBJ = obj
+
+.c.$(OBJ):
+ $(CC) $(CCFLAGS) $*.c
+
+
+#
+# modules needed for different programs
+#
+
+NASMOBJS = nasm.$(OBJ) nasmlib.$(OBJ) float.$(OBJ) insnsa.$(OBJ) \
+ assemble.$(OBJ) labels.$(OBJ) parser.$(OBJ) outform.$(OBJ) \
+ outbin.$(OBJ) outaout.$(OBJ) outcoff.$(OBJ) outelf.$(OBJ) \
+ outobj.$(OBJ) outas86.$(OBJ) outrdf.$(OBJ) outdbg.$(OBJ) \
+ preproc.$(OBJ) listing.$(OBJ) eval.$(OBJ)
+
+NDISASMOBJS = ndisasm.$(OBJ) disasm.$(OBJ) sync.$(OBJ) nasmlib.$(OBJ) \
+ insnsd.$(OBJ)
+
+
+#
+# programs to create
+#
+
+all : nasm$(EXE) ndisasm$(EXE)
+
+
+#
+# We have to have a horrible kludge here to get round the 128 character
+# limit, as usual... we'll simply use LNK-files :)
+#
+nasm$(EXE): $(NASMOBJS)
+ $(LINK) $(LINKFLAGS) @<<
+cx.obj $(NASMOBJS)
+nasm.exe
+<<
+
+ndisasm$(EXE): $(NDISASMOBJS)
+ $(LINK) $(LINKFLAGS) @<<
+cx.obj $(NDISASMOBJS)
+ndisasm.exe
+<<
+
+
+
+#
+# modules for programs
+#
+
+disasm.$(OBJ): disasm.c nasm.h disasm.h sync.h insns.h names.c
+assemble.$(OBJ): assemble.c nasm.h assemble.h insns.h
+eval.$(OBJ): eval.c nasm.h nasmlib.h eval.h
+float.$(OBJ): float.c nasm.h
+labels.$(OBJ): labels.c nasm.h nasmlib.h
+listing.$(OBJ): listing.c nasm.h nasmlib.h listing.h
+nasm.$(OBJ): nasm.c nasm.h nasmlib.h parser.h assemble.h labels.h \
+ listing.h outform.h
+nasmlib.$(OBJ): nasmlib.c nasm.h nasmlib.h
+ndisasm.$(OBJ): ndisasm.c nasm.h sync.h disasm.h
+outas86.$(OBJ): outas86.c nasm.h nasmlib.h
+outaout.$(OBJ): outaout.c nasm.h nasmlib.h
+outbin.$(OBJ): outbin.c nasm.h nasmlib.h
+outcoff.$(OBJ): outcoff.c nasm.h nasmlib.h
+outdbg.$(OBJ): outdbg.c nasm.h nasmlib.h
+outelf.$(OBJ): outelf.c nasm.h nasmlib.h
+outobj.$(OBJ): outobj.c nasm.h nasmlib.h
+outrdf.$(OBJ): outrdf.c nasm.h nasmlib.h
+outform.$(OBJ): outform.c outform.h nasm.h
+parser.$(OBJ): parser.c nasm.h nasmlib.h parser.h float.h names.c
+preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h nasmlib.h
+sync.$(OBJ): sync.c sync.h
+insnsa.$(OBJ): insnsa.c nasm.h insns.h
+insnsd.$(OBJ): insnsd.c nasm.h insns.h
+
+
+
+clean :
+ del *.obj
+ del nasm$(EXE)
+ del ndisasm$(EXE)
diff --git a/Mkfiles/Makefile.scw b/Mkfiles/Makefile.scw
new file mode 100644
index 0000000..6953b46
--- /dev/null
+++ b/Mkfiles/Makefile.scw
@@ -0,0 +1,114 @@
+# Makefile for the Netwide Assembler under 32-bit Windows(tm)
+#
+# The Netwide Assembler is copyright (C) 1996 Simon Tatham and
+# Julian Hall. All rights reserved. The software is
+# redistributable under the licence given in the file "Licence"
+# distributed in the NASM archive.
+#
+# This Makefile is designed to build NASM using the 32-bit WIN32 C
+# compiler Symantec(tm) C++ 7.5, provided you have a MAKE-utility
+# that's compatible to SMAKE.
+
+CC = sc
+CCFLAGS = -c -a1 -mn -Nc -w2 -w7 -o+time -5
+# -5 optimize for pentium (tm)
+# -c compile only
+# -o-all no optimizations (to avoid problems in disasm.c)
+# -o+time optimize for speed
+# -o+space optimize for size
+# -A1 byte alignment for structures
+# -mn compile for Win32 executable
+# -mx compile for DOS386 (DOSX) executable
+# -Nc create COMDAT records
+# -w2 possible unattended assignment: off
+# -w7 for loops with empty instruction-body
+
+LINK = link
+LINKFLAGS = /noi /exet:NT /su:console
+# /noignorecase all symbols are case-sensitive
+# /exet:NT Exetype: NT (Win32)
+# /exet:DOSX Exetype: DOSX (DOS32)
+# /su:console Subsystem: Console (Console-App)
+
+LIBRARIES =
+EXE = .exe
+OBJ = obj
+
+.c.$(OBJ):
+ $(CC) $(CCFLAGS) $*.c
+
+
+#
+# modules needed for different programs
+#
+
+NASMOBJS = nasm.$(OBJ) nasmlib.$(OBJ) float.$(OBJ) insnsa.$(OBJ) \
+ assemble.$(OBJ) labels.$(OBJ) parser.$(OBJ) outform.$(OBJ) \
+ outbin.$(OBJ) outaout.$(OBJ) outcoff.$(OBJ) outelf.$(OBJ) \
+ outobj.$(OBJ) outas86.$(OBJ) outrdf.$(OBJ) outdbg.$(OBJ) \
+ preproc.$(OBJ) listing.$(OBJ) eval.$(OBJ)
+
+NDISASMOBJS = ndisasm.$(OBJ) disasm.$(OBJ) sync.$(OBJ) nasmlib.$(OBJ) \
+ insnsd.$(OBJ)
+
+
+#
+# programs to create
+#
+
+all : nasmw$(EXE) ndisasmw$(EXE)
+
+
+#
+# We have to have a horrible kludge here to get round the 128 character
+# limit, as usual... we'll simply use LNK-files :)
+#
+nasmw$(EXE): $(NASMOBJS)
+ $(LINK) $(LINKFLAGS) @<<
+$(NASMOBJS)
+nasmw.exe;
+<<
+
+ndisasmw$(EXE): $(NDISASMOBJS)
+ $(LINK) $(LINKFLAGS) @<<
+$(NDISASMOBJS)
+ndisasmw.exe;
+<<
+
+
+
+#
+# modules for programs
+#
+
+disasm.$(OBJ): disasm.c nasm.h disasm.h sync.h insns.h names.c
+assemble.$(OBJ): assemble.c nasm.h assemble.h insns.h
+eval.$(OBJ): eval.c nasm.h nasmlib.h eval.h
+float.$(OBJ): float.c nasm.h
+labels.$(OBJ): labels.c nasm.h nasmlib.h
+listing.$(OBJ): listing.c nasm.h nasmlib.h listing.h
+nasm.$(OBJ): nasm.c nasm.h nasmlib.h parser.h assemble.h labels.h \
+ listing.h outform.h
+nasmlib.$(OBJ): nasmlib.c nasm.h nasmlib.h
+ndisasm.$(OBJ): ndisasm.c nasm.h sync.h disasm.h
+outas86.$(OBJ): outas86.c nasm.h nasmlib.h
+outaout.$(OBJ): outaout.c nasm.h nasmlib.h
+outbin.$(OBJ): outbin.c nasm.h nasmlib.h
+outcoff.$(OBJ): outcoff.c nasm.h nasmlib.h
+outdbg.$(OBJ): outdbg.c nasm.h nasmlib.h
+outelf.$(OBJ): outelf.c nasm.h nasmlib.h
+outobj.$(OBJ): outobj.c nasm.h nasmlib.h
+outrdf.$(OBJ): outrdf.c nasm.h nasmlib.h
+outform.$(OBJ): outform.c outform.h nasm.h
+parser.$(OBJ): parser.c nasm.h nasmlib.h parser.h float.h names.c
+preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h nasmlib.h
+sync.$(OBJ): sync.c sync.h
+insnsa.$(OBJ): insnsa.c nasm.h insns.h
+insnsd.$(OBJ): insnsd.c nasm.h insns.h
+
+
+
+clean :
+ del *.obj
+ del nasmw$(EXE)
+ del ndisasmw$(EXE)
diff --git a/Mkfiles/Makefile.unx b/Mkfiles/Makefile.unx
new file mode 100644
index 0000000..f74d544
--- /dev/null
+++ b/Mkfiles/Makefile.unx
@@ -0,0 +1,97 @@
+# Unix fall-back makefile for the Netwide Assembler. For use if
+# `configure' fails to generate a workable Makefile.
+#
+# The Netwide Assembler is copyright (C) 1996 Simon Tatham and
+# Julian Hall. All rights reserved. The software is
+# redistributable under the licence given in the file "Licence"
+# distributed in the NASM archive.
+
+# You may need to adjust these values.
+
+prefix = /usr/local
+CC = cc
+CFLAGS = -O -I.
+
+# You _shouldn't_ need to adjust anything below this line.
+
+exec_prefix = ${prefix}
+bindir = ${exec_prefix}/bin
+mandir = ${prefix}/man
+
+INSTALL = install -c
+INSTALL_PROGRAM = ${INSTALL}
+INSTALL_DATA = ${INSTALL} -m 644
+
+.c.o:
+ $(CC) -c $(CFLAGS) $*.c
+
+NASM = nasm.o nasmlib.o float.o insnsa.o assemble.o labels.o \
+ parser.o outform.o outbin.o outaout.o outcoff.o outelf.o \
+ outobj.o outas86.o outrdf.o outdbg.o preproc.o listing.o \
+ eval.o
+
+NDISASM = ndisasm.o disasm.o sync.o nasmlib.o insnsd.o
+
+all: nasm ndisasm
+
+nasm: $(NASM)
+ $(CC) -o nasm $(NASM)
+
+ndisasm: $(NDISASM)
+ $(CC) -o ndisasm $(NDISASM)
+
+assemble.o: assemble.c nasm.h nasmlib.h assemble.h insns.h
+disasm.o: disasm.c nasm.h disasm.h sync.h insns.h names.c
+eval.o: eval.c eval.h nasm.h nasmlib.h
+float.o: float.c nasm.h
+insnsa.o: insnsa.c nasm.h insns.h
+insnsd.o: insnsd.c nasm.h insns.h
+labels.o: labels.c nasm.h nasmlib.h
+listing.o: listing.c nasm.h nasmlib.h listing.h
+nasm.o: nasm.c nasm.h nasmlib.h preproc.h parser.h assemble.h labels.h \
+ outform.h listing.h
+nasmlib.o: nasmlib.c nasm.h nasmlib.h
+ndisasm.o: ndisasm.c nasm.h nasmlib.h sync.h disasm.h
+outaout.o: outaout.c nasm.h nasmlib.h outform.h
+outas86.o: outas86.c nasm.h nasmlib.h outform.h
+outbin.o: outbin.c nasm.h nasmlib.h outform.h
+outcoff.o: outcoff.c nasm.h nasmlib.h outform.h
+outdbg.o: outdbg.c nasm.h nasmlib.h outform.h
+outelf.o: outelf.c nasm.h nasmlib.h outform.h
+outform.o: outform.c outform.h nasm.h
+outobj.o: outobj.c nasm.h nasmlib.h outform.h
+outrdf.o: outrdf.c nasm.h nasmlib.h outform.h
+parser.o: parser.c nasm.h nasmlib.h parser.h float.h names.c
+preproc.o: preproc.c nasm.h nasmlib.h macros.c
+sync.o: sync.c sync.h
+
+# These two source files are automagically generated from a single
+# instruction-table file by a Perl script. They're distributed,
+# though, so it isn't necessary to have Perl just to recompile NASM
+# from the distribution.
+
+insnsa.c insnsd.c: insns.dat insns.pl
+ perl insns.pl insns.dat
+
+# This source file is generated from the standard macros file
+# `standard.mac' by another Perl script. Again, it's part of the
+# standard distribution.
+
+macros.c: standard.mac macros.pl
+ perl macros.pl standard.mac
+
+install: nasm ndisasm
+ $(INSTALL_PROGRAM) nasm $(bindir)/nasm
+ $(INSTALL_PROGRAM) ndisasm $(bindir)/ndisasm
+ $(INSTALL_DATA) nasm.1 $(mandir)/man1/nasm.1
+ $(INSTALL_DATA) ndisasm.1 $(mandir)/man1/ndisasm.1
+
+clean:
+ rm -f *.o nasm ndisasm
+ $(MAKE) -C rdoff clean
+
+rdf:
+ $(MAKE) -C rdoff
+
+rdf_install install_rdf:
+ $(MAKE) -C rdoff install
diff --git a/Mkfiles/Makefile.vc b/Mkfiles/Makefile.vc
new file mode 100644
index 0000000..80beba4
--- /dev/null
+++ b/Mkfiles/Makefile.vc
@@ -0,0 +1,77 @@
+# Makefile for the Netwide Assembler under Win32
+#
+# The Netwide Assembler is copyright (C) 1996 Simon Tatham and
+# Julian Hall. All rights reserved. The software is
+# redistributable under the licence given in the file "Licence"
+# distributed in the NASM archive.
+#
+# This Makefile is designed to build NASM as a Win32 command-
+# line executable. It's been tested with Visual C++ 1.10.
+
+CC = cl /c /O
+QCL = cl /c
+LINK = cl
+LINKFLAGS =
+LIBRARIES =
+EXE = .exe#
+OBJ = obj#
+SUFFIX = w# # by default, this makefile produces nasmw.exe and ndisasmw.exe
+
+.c.$(OBJ):
+ $(CC) $*.c
+
+NASMOBJS = nasm.$(OBJ) nasmlib.$(OBJ) float.$(OBJ) insnsa.$(OBJ) \
+ assemble.$(OBJ) labels.$(OBJ) parser.$(OBJ) outform.$(OBJ) \
+ outbin.$(OBJ) outaout.$(OBJ) outcoff.$(OBJ) outelf.$(OBJ) \
+ outobj.$(OBJ) outas86.$(OBJ) outrdf.$(OBJ) outdbg.$(OBJ) \
+ preproc.$(OBJ) listing.$(OBJ) eval.$(OBJ)
+
+NDISASMOBJS = ndisasm.$(OBJ) disasm.$(OBJ) sync.$(OBJ) nasmlib.$(OBJ) \
+ insnsd.$(OBJ)
+
+all : nasm$(SUFFIX)$(EXE) ndisasm$(SUFFIX)$(EXE)
+
+# We have to have a horrible kludge here to get round the 128 character
+# limit, as usual...
+LINKOBJS = a*.obj e*.obj f*.obj insnsa.obj l*.obj na*.obj o*.obj p*.obj
+nasm$(SUFFIX)$(EXE): $(NASMOBJS)
+ cl /Fenasm$(SUFFIX).exe $(LINKOBJS)
+
+ndisasm$(SUFFIX)$(EXE): $(NDISASMOBJS)
+ cl /Fendisasm$(SUFFIX).exe $(NDISASMOBJS)
+
+assemble.$(OBJ): assemble.c nasm.h assemble.h insns.h
+disasm.$(OBJ): disasm.c nasm.h disasm.h sync.h insns.h names.c
+eval.$(OBJ): eval.c nasm.h nasmlib.h eval.h
+float.$(OBJ): float.c nasm.h
+labels.$(OBJ): labels.c nasm.h nasmlib.h
+listing.$(OBJ): listing.c nasm.h nasmlib.h listing.h
+nasm.$(OBJ): nasm.c nasm.h nasmlib.h parser.h assemble.h labels.h \
+ listing.h outform.h
+nasmlib.$(OBJ): nasmlib.c nasm.h nasmlib.h
+ndisasm.$(OBJ): ndisasm.c nasm.h sync.h disasm.h
+outas86.$(OBJ): outas86.c nasm.h nasmlib.h
+outaout.$(OBJ): outaout.c nasm.h nasmlib.h
+outbin.$(OBJ): outbin.c nasm.h nasmlib.h
+outcoff.$(OBJ): outcoff.c nasm.h nasmlib.h
+outdbg.$(OBJ): outdbg.c nasm.h nasmlib.h
+outelf.$(OBJ): outelf.c nasm.h nasmlib.h
+outobj.$(OBJ): outobj.c nasm.h nasmlib.h
+outrdf.$(OBJ): outrdf.c nasm.h nasmlib.h
+outform.$(OBJ): outform.c outform.h nasm.h
+parser.$(OBJ): parser.c nasm.h nasmlib.h parser.h float.h names.c
+preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h nasmlib.h
+sync.$(OBJ): sync.c sync.h
+
+# Another grotty hack: QC is less likely to run out of memory than
+# CL proper; and we don't need any optimisation in these modules
+# since they're just data.
+insnsa.$(OBJ): insnsa.c nasm.h insns.h
+ $(QCL) insnsa.c
+insnsd.$(OBJ): insnsd.c nasm.h insns.h
+ $(QCL) insnsd.c
+
+clean :
+ del *.obj
+ del nasm$(SUFFIX)$(EXE)
+ del ndisasm$(SUFFIX)$(EXE)
diff --git a/Mkfiles/Makefile.wc b/Mkfiles/Makefile.wc
new file mode 100644
index 0000000..6f0d48a
--- /dev/null
+++ b/Mkfiles/Makefile.wc
@@ -0,0 +1,119 @@
+# host: watcom c (dos, windows, os/2)
+# target: dos 32bit
+# Makefile for the Netwide Assembler
+#
+# The Netwide Assembler is copyright (C) 1996 Simon Tatham and
+# Julian Hall. All rights reserved. The software is
+# redistributable under the licence given in the file "Licence"
+# distributed in the NASM archive.
+#
+# this makefile is designed for use with dos version of Watcom C 32 bit
+# compiler, it generates dos 32 bit executable
+# it has been tested with
+# borland make.exe 4.0
+# microsoft nmake.exe 1.3
+# watcom wmake.exe /u 3.2 (remember about that /u option :)
+#
+# all this should compile under watcom c 9.5, 10.0, 10.5 and 10.6
+# i dont know about 11.0 because i didnt yet see it
+
+CFLAGS = -fpi -mf -3r -s -bt=dos -oilrt
+# -fpi inline math + emulation
+# -mf flat model (isnt it by default :)
+# -3r 386 register calling (does everyone have pentium nowadays ?)
+# -s no stack checking
+# -bt=dos target system - dos
+# -oilrt mega cool optimization :)
+
+CC = wcc386.exe $(CFLAGS)
+# compiler
+LFLAGS = SYSTEM dos4g
+# linker flags
+# target system - dos4gw
+LD = wlink.exe $(LFLAGS)
+# linker
+OBJ = obj
+# whatever
+
+.c.$(OBJ):
+ $(CC) $*.c
+
+NASMOBJS = nasm.$(OBJ) nasmlib.$(OBJ) float.$(OBJ) insnsa.$(OBJ) \
+ assemble.$(OBJ) labels.$(OBJ) parser.$(OBJ) outform.$(OBJ) \
+ outbin.$(OBJ) outaout.$(OBJ) outcoff.$(OBJ) outelf.$(OBJ) \
+ outobj.$(OBJ) outas86.$(OBJ) outrdf.$(OBJ) outdbg.$(OBJ) \
+ preproc.$(OBJ) listing.$(OBJ) eval.$(OBJ)
+
+NDISASMOBJS = ndisasm.$(OBJ) disasm.$(OBJ) sync.$(OBJ) nasmlib.$(OBJ) \
+ insnsd.$(OBJ)
+
+all : nasm.exe ndisasm.exe
+ echo This is dummy command for dumb make
+
+nasm.exe: $(NASMOBJS) NASM.LNK
+ $(LD) @NASM.LNK
+
+ndisasm.exe: $(NDISASMOBJS) NDISASM.LNK
+ $(LD) @NDISASM.LNK
+
+# linker response files
+# that may take long, too much spawning command.com :)
+NASM.LNK: makefile.wc
+ echo N nasm.exe > NASM.LNK
+ echo F nasm.$(OBJ) >> NASM.LNK
+ echo F nasmlib.$(OBJ) >> NASM.LNK
+ echo F eval.$(OBJ) >> NASM.LNK
+ echo F float.$(OBJ) >> NASM.LNK
+ echo F insnsa.$(OBJ) >> NASM.LNK
+ echo F assemble.$(OBJ) >> NASM.LNK
+ echo F labels.$(OBJ) >> NASM.LNK
+ echo F listing.$(OBJ) >> NASM.LNK
+ echo F parser.$(OBJ) >> NASM.LNK
+ echo F preproc.$(OBJ) >> NASM.LNK
+ echo F outform.$(OBJ) >> NASM.LNK
+ echo F outbin.$(OBJ) >> NASM.LNK
+ echo F outaout.$(OBJ) >> NASM.LNK
+ echo F outcoff.$(OBJ) >> NASM.LNK
+ echo F outelf.$(OBJ) >> NASM.LNK
+ echo F outobj.$(OBJ) >> NASM.LNK
+ echo F outas86.$(OBJ) >> NASM.LNK
+ echo F outrdf.$(OBJ) >> NASM.LNK
+ echo F outdbg.$(OBJ) >> NASM.LNK
+
+NDISASM.LNK: makefile.wc
+ echo N ndisasm.exe > NDISASM.LNK
+ echo F ndisasm.$(OBJ) >> NDISASM.LNK
+ echo F disasm.$(OBJ) >> NDISASM.LNK
+ echo F sync.$(OBJ) >> NDISASM.LNK
+ echo F nasmlib.$(OBJ) >> NDISASM.LNK
+ echo F insnsd.$(OBJ) >> NDISASM.LNK
+
+assemble.$(OBJ): assemble.c nasm.h assemble.h insns.h
+disasm.$(OBJ): disasm.c nasm.h disasm.h sync.h insns.h names.c
+eval.$(OBJ): eval.c nasm.h nasmlib.h eval.h
+float.$(OBJ): float.c nasm.h
+insnsa.$(OBJ): insnsa.c nasm.h insns.h
+insnsd.$(OBJ): insnsd.c nasm.h insns.h
+labels.$(OBJ): labels.c nasm.h nasmlib.h
+listing.$(OBJ): listing.c nasm.h nasmlib.h listing.h
+nasm.$(OBJ): nasm.c nasm.h nasmlib.h parser.h assemble.h labels.h \
+ listing.h outform.h
+nasmlib.$(OBJ): nasmlib.c nasm.h nasmlib.h
+ndisasm.$(OBJ): ndisasm.c nasm.h sync.h disasm.h
+outas86.$(OBJ): outas86.c nasm.h nasmlib.h
+outaout.$(OBJ): outaout.c nasm.h nasmlib.h
+outbin.$(OBJ): outbin.c nasm.h nasmlib.h
+outcoff.$(OBJ): outcoff.c nasm.h nasmlib.h
+outelf.$(OBJ): outelf.c nasm.h nasmlib.h
+outobj.$(OBJ): outobj.c nasm.h nasmlib.h
+outform.$(OBJ): outform.c outform.h nasm.h
+parser.$(OBJ): parser.c nasm.h nasmlib.h parser.h float.h names.c
+preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h nasmlib.h
+sync.$(OBJ): sync.c sync.h
+
+clean :
+ del *.obj
+ del *.lnk
+ del nasm.exe
+ del ndisasm.exe
+
diff --git a/Mkfiles/Makefile.wcw b/Mkfiles/Makefile.wcw
new file mode 100644
index 0000000..d592c69
--- /dev/null
+++ b/Mkfiles/Makefile.wcw
@@ -0,0 +1,119 @@
+# host: watcom c (dos, windows, os/2)
+# target: windows nt character mode executable
+# Makefile for the Netwide Assembler
+#
+# The Netwide Assembler is copyright (C) 1996 Simon Tatham and
+# Julian Hall. All rights reserved. The software is
+# redistributable under the licence given in the file "Licence"
+# distributed in the NASM archive.
+#
+# this makefile is designed for use with of Watcom C 32 bit compiler
+# it generates win32 console (character mode) executable
+# it has been tested with
+# borland make.exe 4.0
+# microsoft nmake.exe 1.3
+# watcom wmake.exe /u 3.2 (remember about that /u option :)
+#
+# all this should compile under watcom c 9.5, 10.0, 10.5 and 10.6
+# i dont know about 11.0 because i didnt yet see it
+
+CFLAGS = -fpi -mf -3r -s -bt=dos -oilrt
+# -fpi inline math + emulation
+# -mf flat model (isnt it by default :)
+# -3r 386 register calling (does everyone have pentium nowadays ?)
+# -s no stack checking
+# -bt=nt target system - windows nt
+# -oilrt mega cool optimization :)
+
+CC = wcc386.exe $(CFLAGS)
+# compiler
+LFLAGS = SYSTEM nt
+# linker flags
+# target system nt - character mode
+LD = wlink.exe $(LFLAGS)
+# linker
+OBJ = obj
+# whatever
+
+.c.$(OBJ):
+ $(CC) $*.c
+
+NASMOBJS = nasm.$(OBJ) nasmlib.$(OBJ) float.$(OBJ) insnsa.$(OBJ) \
+ assemble.$(OBJ) labels.$(OBJ) parser.$(OBJ) outform.$(OBJ) \
+ outbin.$(OBJ) outaout.$(OBJ) outcoff.$(OBJ) outelf.$(OBJ) \
+ outobj.$(OBJ) outas86.$(OBJ) outrdf.$(OBJ) outdbg.$(OBJ) \
+ preproc.$(OBJ) listing.$(OBJ) eval.$(OBJ)
+
+NDISASMOBJS = ndisasm.$(OBJ) disasm.$(OBJ) sync.$(OBJ) nasmlib.$(OBJ) \
+ insnsd.$(OBJ)
+
+all : nasm.exe ndisasm.exe
+ echo This is dummy command for dumb make
+
+nasm.exe: $(NASMOBJS) NASM.LNK
+ $(LD) @NASM.LNK
+
+ndisasm.exe: $(NDISASMOBJS) NDISASM.LNK
+ $(LD) @NDISASM.LNK
+
+# linker response files
+# that may take long, too much spawning command.com :)
+NASM.LNK: makefile.wcw
+ echo N nasm.exe > NASM.LNK
+ echo F nasm.$(OBJ) >> NASM.LNK
+ echo F nasmlib.$(OBJ) >> NASM.LNK
+ echo F eval.$(OBJ) >> NASM.LNK
+ echo F float.$(OBJ) >> NASM.LNK
+ echo F insnsa.$(OBJ) >> NASM.LNK
+ echo F assemble.$(OBJ) >> NASM.LNK
+ echo F labels.$(OBJ) >> NASM.LNK
+ echo F listing.$(OBJ) >> NASM.LNK
+ echo F parser.$(OBJ) >> NASM.LNK
+ echo F preproc.$(OBJ) >> NASM.LNK
+ echo F outform.$(OBJ) >> NASM.LNK
+ echo F outbin.$(OBJ) >> NASM.LNK
+ echo F outaout.$(OBJ) >> NASM.LNK
+ echo F outcoff.$(OBJ) >> NASM.LNK
+ echo F outelf.$(OBJ) >> NASM.LNK
+ echo F outobj.$(OBJ) >> NASM.LNK
+ echo F outas86.$(OBJ) >> NASM.LNK
+ echo F outrdf.$(OBJ) >> NASM.LNK
+ echo F outdbg.$(OBJ) >> NASM.LNK
+
+NDISASM.LNK: makefile.wcw
+ echo N ndisasm.exe > NDISASM.LNK
+ echo F ndisasm.$(OBJ) >> NDISASM.LNK
+ echo F disasm.$(OBJ) >> NDISASM.LNK
+ echo F sync.$(OBJ) >> NDISASM.LNK
+ echo F nasmlib.$(OBJ) >> NDISASM.LNK
+ echo F insnsd.$(OBJ) >> NDISASM.LNK
+
+assemble.$(OBJ): assemble.c nasm.h assemble.h insns.h
+disasm.$(OBJ): disasm.c nasm.h disasm.h sync.h insns.h names.c
+eval.$(OBJ): eval.c nasm.h nasmlib.h eval.h
+float.$(OBJ): float.c nasm.h
+insnsa.$(OBJ): insnsa.c nasm.h insns.h
+insnsd.$(OBJ): insnsd.c nasm.h insns.h
+labels.$(OBJ): labels.c nasm.h nasmlib.h
+listing.$(OBJ): listing.c nasm.h nasmlib.h listing.h
+nasm.$(OBJ): nasm.c nasm.h nasmlib.h parser.h assemble.h labels.h \
+ listing.h outform.h
+nasmlib.$(OBJ): nasmlib.c nasm.h nasmlib.h
+ndisasm.$(OBJ): ndisasm.c nasm.h sync.h disasm.h
+outas86.$(OBJ): outas86.c nasm.h nasmlib.h
+outaout.$(OBJ): outaout.c nasm.h nasmlib.h
+outbin.$(OBJ): outbin.c nasm.h nasmlib.h
+outcoff.$(OBJ): outcoff.c nasm.h nasmlib.h
+outelf.$(OBJ): outelf.c nasm.h nasmlib.h
+outobj.$(OBJ): outobj.c nasm.h nasmlib.h
+outform.$(OBJ): outform.c outform.h nasm.h
+parser.$(OBJ): parser.c nasm.h nasmlib.h parser.h float.h names.c
+preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h nasmlib.h
+sync.$(OBJ): sync.c sync.h
+
+clean :
+ del *.obj
+ del *.lnk
+ del nasm.exe
+ del ndisasm.exe
+