1 # Makefile for the Netwide Assembler under OS/2 (aimed at Borland C++ for OS/2)
3 # The Netwide Assembler is copyright (C) 1996 Simon Tatham and
4 # Julian Hall. All rights reserved. The software is
5 # redistributable under the licence given in the file "Licence"
6 # distributed in the NASM archive.
8 # This makefile is made to compile NASMOS2 and NDISASM2
9 # using Borland C++ for OS/2.
11 #-------------------------------------------------------------------
13 #-------------------------------------------------------------------
15 .SUFFIXES : .rc .res .obj .c .cpp .asm .hlp .itl .ipf
17 #-------------------------------------------------------------------
19 #-------------------------------------------------------------------
23 # --------------------------------------------------------------------------
26 # v include full sybolic debugging information
27 # b force enums to be of type int
29 # --------------------------------------------------------------------------
31 CCFLAGS = /d /c /O /v /b
36 LINKFLAGS = /c /x #linker flags
37 #/c=case sIgnificance on symbols
38 #/x=No map file at all
40 LIBRARIES = #any libaries to add, out side of the standard libary
41 EXE = .exe #executable file extention (keep the . as the start)
42 OBJ = obj #OBJ file extention
44 # How to build an object file from a C file
46 $(CC) $(CCFLAGS) /o$*.$(OBJ) $*.c
49 ################################################################
50 #The OBJ files that NASM is dependent on
52 NASMOBJS = nasm.$(OBJ) nasmlib.$(OBJ) float.$(OBJ) \
53 insnsa.$(OBJ) assemble.$(OBJ) labels.$(OBJ) \
54 parser.$(OBJ) outform.$(OBJ) preproc.$(OBJ) \
55 listing.$(OBJ) eval.$(OBJ)
57 ################################################################
58 #The OBJ files that NDISASM is dependent on
60 NDISASMOBJS = ndisasm.$(OBJ) disasm.$(OBJ) sync.$(OBJ) \
61 nasmlib.$(OBJ) insnsd.$(OBJ)
63 ################################################################
64 #The OBJ file for the output formats.
66 OUTOBJ= output\\outbin.$(OBJ) output\\outaout.$(OBJ) output\\outcoff.$(OBJ) \
67 output\\outelf.$(OBJ) output\\outobj.$(OBJ) output\\outas86.$(OBJ) \
68 output\\outrdf.$(OBJ) output\\outdbg.$(OBJ) output\\outrdf2.$(OBJ) \
69 output\\outieee.$(OBJ)
72 ################################################################
75 all : nasmos2$(EXE) ndisasm2$(EXE)
77 ################################################################
78 #NASM, NDISASM compile, I hope it's self explanitory
80 nasmos2$(EXE): $(NASMOBJS) $(OUTOBJ)
81 $(LINK) $(LINKFLAGS) @&&! #command for the linker
82 C02 $(NASMOBJS) $(OUTOBJ) #OBJ file list
83 $(EXED)nasmos2$(EXE) #EXE file name
85 $(LIBS) #Libaries needed
86 NASMOS2.DEF #Link Definition file
89 ndisasm2$(EXE): $(NDISASMOBJS)
90 $(LINK) $(LINKFLAGS) @&&! #command for the linker
91 c02.obj $(NDISASMOBJS) #OBJ file list
92 $(EXED)ndisasm2$(EXE) #EXE file name
94 $(LIBS) $(LIBRARIES) #Libaries needed
102 # Makefile created by Chuck Crayne <ccrayne@pacific.net> --05/4/99
103 # Based on Makefile.bc2 by Fox Cutter <lmb@comtch.iea.com> --01/27/97
105 #-- Magic hints to mkdep.pl --#
106 # @object-ending: ".$(OBJ)"
107 # @path-separator: "\\"
108 #-- Everything below is generated by mkdep.pl - do not edit --#
109 assemble.$(OBJ): assemble.c insns.h assemble.h regvals.c nasm.h regs.h \
110 insnsi.h nasmlib.h version.h
111 disasm.$(OBJ): disasm.c insns.h regs.c sync.h names.c nasm.h disasm.h regs.h \
112 insnsn.c insnsi.h version.h regdis.c
113 eval.$(OBJ): eval.c nasm.h regs.h labels.h nasmlib.h version.h eval.h
114 float.$(OBJ): float.c nasm.h regs.h version.h
115 insnsa.$(OBJ): insnsa.c insns.h nasm.h regs.h insnsi.h version.h
116 insnsd.$(OBJ): insnsd.c insns.h nasm.h regs.h insnsi.h version.h
117 insnsn.$(OBJ): insnsn.c
118 labels.$(OBJ): labels.c nasm.h regs.h nasmlib.h version.h
119 listing.$(OBJ): listing.c listing.h nasm.h regs.h nasmlib.h version.h
120 macros.$(OBJ): macros.c
121 names.$(OBJ): names.c regs.c insnsn.c
122 nasm.$(OBJ): nasm.c listing.h preproc.h insns.h outform.h assemble.h \
123 parser.h nasm.h regs.h labels.h insnsi.h nasmlib.h version.h eval.h
124 nasmlib.$(OBJ): nasmlib.c insns.h regs.c names.c nasm.h regs.h insnsn.c \
125 insnsi.h nasmlib.h version.h
126 ndisasm.$(OBJ): ndisasm.c insns.h sync.h nasm.h disasm.h regs.h insnsi.h \
128 outform.$(OBJ): outform.c outform.h nasm.h regs.h version.h
129 output\\outaout.$(OBJ): output\\outaout.c outform.h nasm.h regs.h nasmlib.h \
131 output\\outas86.$(OBJ): output\\outas86.c outform.h nasm.h regs.h nasmlib.h \
133 output\\outbin.$(OBJ): output\\outbin.c outform.h nasm.h regs.h nasmlib.h \
135 output\\outcoff.$(OBJ): output\\outcoff.c outform.h nasm.h regs.h nasmlib.h \
137 output\\outdbg.$(OBJ): output\\outdbg.c outform.h nasm.h regs.h nasmlib.h \
139 output\\outelf.$(OBJ): output\\outelf.c outform.h nasm.h regs.h nasmlib.h \
141 output\\outieee.$(OBJ): output\\outieee.c outform.h nasm.h regs.h nasmlib.h \
143 output\\outobj.$(OBJ): output\\outobj.c outform.h nasm.h regs.h nasmlib.h \
145 output\\outrdf.$(OBJ): output\\outrdf.c outform.h nasm.h regs.h nasmlib.h \
147 output\\outrdf2.$(OBJ): output\\outrdf2.c outform.h nasm.h regs.h nasmlib.h \
149 parser.$(OBJ): parser.c insns.h parser.h nasm.h regs.h insnsi.h regflags.c \
150 float.h nasmlib.h version.h
151 preproc.$(OBJ): preproc.c nasm.h macros.c regs.h nasmlib.h version.h
152 regdis.$(OBJ): regdis.c
153 regflags.$(OBJ): regflags.c
155 regvals.$(OBJ): regvals.c
156 sync.$(OBJ): sync.c sync.h