summaryrefslogtreecommitdiff
path: root/Mkfiles
diff options
context:
space:
mode:
authorH. Peter Anvin <hpa@zytor.com>2002-04-30 21:01:08 +0000
committerH. Peter Anvin <hpa@zytor.com>2002-04-30 21:01:08 +0000
commit734b188090539eddf08e61c317415f566446691b (patch)
treeabc7516f5a80c8b0810f5018125eb5f95717ca76 /Mkfiles
parent1cd0e2d5bf50b2cc482cad7beb8f7dee6a81d57b (diff)
downloadnasm-734b188090539eddf08e61c317415f566446691b.tar.gz
nasm-734b188090539eddf08e61c317415f566446691b.tar.bz2
nasm-734b188090539eddf08e61c317415f566446691b.zip
NASM 0.98.09
Diffstat (limited to 'Mkfiles')
-rw-r--r--Mkfiles/Makefile.b3249
-rw-r--r--Mkfiles/Makefile.dl46
2 files changed, 87 insertions, 8 deletions
diff --git a/Mkfiles/Makefile.b32 b/Mkfiles/Makefile.b32
index 2e642d0..d83e6e0 100644
--- a/Mkfiles/Makefile.b32
+++ b/Mkfiles/Makefile.b32
@@ -7,13 +7,19 @@
#
# This Makefile is designed to build NASM with the latest
# version of Borland C++Builder and has been tested with
-# Borland C++ 5.3 (Borland C++Builder 3.0) and Borland C++ 5.4
-# (Borland C++Builder 4.0) in combination with
-# Borland MAKE versions 5.1 and 5.2
+# Borland C++ 5.5 (Borland C++Builder 5.0) in combination
+# Borland MAKE 5.2
+#
+# Additionally, the free Borland C++ Compiler 5.5 is supported;
+# see
+#
+# http://www.borland.com/bcppbuilder/freecompiler/
#
# MAKEFILE is maintained by Stefan.Hoffmeister@Econos.de
#
+srcdir=.
+BINDIR=e:\devel\bcb5\cbuilder5\bin
# If "BINDIR=C:\...." has not been defined on the command line
# assume that the binary files are in the same directory as the
@@ -35,15 +41,19 @@
CC=$(BINDIR)\bcc32
-CCFLAGS=-tWC -c -O2 -A
+CCFLAGS=-q -Q -tWC -c -O2 -A -w-8057
+ # /q: Suppress compiler identification banner
+ # /Q: Extended compiler error information
# /-tWC: Windows console mode application
# /c: Compile, do not link
# /O2: Optimize for speed
# /A: ANSI compatible code only
+ # /-w-8057: Turn off "Parameter <param> never used in function <func>" warning
LINK=$(BINDIR)\ilink32
-LINKFLAGS=/V4.0 /x /c /ap /L$(BINDIR)\..\LIB # /L -> default LIB directory
+LINKFLAGS=/V4.0 /q /x /c /ap /L$(BINDIR)\..\LIB # /L -> default LIB directory
# /V4.0: marked as Win95 / NT application in PE header
+ # /q: suppress command-line banner
# /x: no map file
# /c: case sensitive link
# /ap: link for 32-bit console application
@@ -131,7 +141,30 @@ parser.$(OBJ): parser.c nasm.h insnsi.h nasmlib.h parser.h float.h names.c insns
preproc.$(OBJ): preproc.c macros.c preproc.h nasm.h insnsi.h nasmlib.h
sync.$(OBJ): sync.c sync.h
+# These 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: InstructionData
+insnsd.c: InstructionData
+insnsi.h: InstructionData
+insnsn.c: InstructionData
+
+InstructionData: insns.dat insns.pl
+ perl $(srcdir)/insns.pl -a $(srcdir)/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 $(srcdir)/macros.pl $(srcdir)/standard.mac
+
clean:
- del *.obj
- del nasm$(SUFFIX)$(EXE)
- del ndisasm$(SUFFIX)$(EXE)
+ @-del /S *.obj 2> NUL 1>&2
+ @-del /S *.il? 2> NUL 1>&2
+ @-del /S *.tds 2> NUL 1>&2
+ @-del /S *.~* 2> NUL 1>&2
+ @-del /S nasm$(SUFFIX)$(EXE) 2> NUL 1>&2
+ @-del /S ndisasm$(SUFFIX)$(EXE) 2> NUL 1>&2
diff --git a/Mkfiles/Makefile.dl b/Mkfiles/Makefile.dl
new file mode 100644
index 0000000..db53e57
--- /dev/null
+++ b/Mkfiles/Makefile.dl
@@ -0,0 +1,46 @@
+# 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 David Lindauer's
+# cc386
+
+CC = cc386 /C+N
+LINK = valx -case -use32 -map
+LINKFLAGS =
+LIBRARIES =
+OBJ = obj
+
+.c.obj:
+ $(CC) $&
+ &nasm -fobj $&.ASM
+
+NDISASMOBJS = ndisasm.$(OBJ) disasm.$(OBJ) sync.$(OBJ) nasmlib.$(OBJ) \
+ insnsd.$(OBJ)
+
+NASMOBJS = nasm.$(OBJ) nasmlib.$(OBJ) eval.$(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) outrdf2.$(OBJ) outdbg.$(OBJ) \
+ preproc.$(OBJ) listing.$(OBJ) zoutieee.$(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 z*.obj
+nasm.exe: $(NASMOBJS)
+ $(LINK) \cc386\lib\c0dos $(LINKOBJS:.obj=),nasm,nasm,\cc386\lib\cldos
+
+ndisasm.exe: $(NDISASMOBJS)
+ $(LINK) \cc386\lib\c0dos.obj $(NDISASMOBJS:.obj=),ndisasm,ndisasm,\cc386\lib\cldos
+
+clean :
+ del *.asm
+ del *.obj
+ del *.map
+ del *.exe
+