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\\outelf32.$(OBJ) output\\outelf64.$(OBJ) \
68 output\\outobj.$(OBJ) output\\outas86.$(OBJ) \
69 output\\outrdf.$(OBJ) output\\outdbg.$(OBJ) output\\outrdf2.$(OBJ) \
70 output\\outieee.$(OBJ)
73 ################################################################
76 all : nasmos2$(EXE) ndisasm2$(EXE)
78 ################################################################
79 #NASM, NDISASM compile, I hope it's self explanitory
81 nasmos2$(EXE): $(NASMOBJS) $(OUTOBJ)
82 $(LINK) $(LINKFLAGS) @&&! #command for the linker
83 C02 $(NASMOBJS) $(OUTOBJ) #OBJ file list
84 $(EXED)nasmos2$(EXE) #EXE file name
86 $(LIBS) #Libaries needed
87 NASMOS2.DEF #Link Definition file
90 ndisasm2$(EXE): $(NDISASMOBJS)
91 $(LINK) $(LINKFLAGS) @&&! #command for the linker
92 c02.obj $(NDISASMOBJS) #OBJ file list
93 $(EXED)ndisasm2$(EXE) #EXE file name
95 $(LIBS) $(LIBRARIES) #Libaries needed
103 # Makefile created by Chuck Crayne <ccrayne@pacific.net> --05/4/99
104 # Based on Makefile.bc2 by Fox Cutter <lmb@comtch.iea.com> --01/27/97
106 #-- Magic hints to mkdep.pl --#
107 # @object-ending: ".$(OBJ)"
108 # @path-separator: "\\"
109 #-- Everything below is generated by mkdep.pl - do not edit --#
110 assemble.$(OBJ): assemble.c preproc.h insns.h regs.h regflags.c config.h \
111 version.h nasmlib.h nasm.h regvals.c insnsi.h assemble.h
112 disasm.$(OBJ): disasm.c insns.h sync.h regdis.c regs.h config.h regs.c \
113 version.h nasm.h insnsn.c names.c insnsi.h disasm.h
114 eval.$(OBJ): eval.c labels.h eval.h regs.h config.h version.h nasmlib.h \
116 float.$(OBJ): float.c regs.h config.h version.h nasm.h
117 insnsa.$(OBJ): insnsa.c insns.h regs.h config.h version.h nasm.h insnsi.h
118 insnsd.$(OBJ): insnsd.c insns.h regs.h config.h version.h nasm.h insnsi.h
119 insnsn.$(OBJ): insnsn.c
120 labels.$(OBJ): labels.c regs.h config.h version.h nasmlib.h nasm.h
121 listing.$(OBJ): listing.c regs.h config.h version.h nasmlib.h nasm.h \
123 macros.$(OBJ): macros.c
124 names.$(OBJ): names.c regs.c insnsn.c
125 nasm.$(OBJ): nasm.c labels.h preproc.h insns.h parser.h eval.h regs.h \
126 outform.h config.h version.h nasmlib.h nasm.h stdscan.h assemble.h insnsi.h \
128 nasmlib.$(OBJ): nasmlib.c insns.h regs.h config.h regs.c version.h nasmlib.h \
129 nasm.h insnsn.c names.c insnsi.h
130 ndisasm.$(OBJ): ndisasm.c insns.h sync.h regs.h config.h version.h nasmlib.h \
131 nasm.h insnsi.h disasm.h
132 outform.$(OBJ): outform.c regs.h config.h outform.h version.h nasm.h
133 output\\outaout.$(OBJ): output\\outaout.c regs.h outform.h config.h \
134 version.h nasmlib.h nasm.h stdscan.h
135 output\\outas86.$(OBJ): output\\outas86.c regs.h outform.h config.h \
136 version.h nasmlib.h nasm.h
137 output\\outbin.$(OBJ): output\\outbin.c labels.h eval.h regs.h outform.h \
138 config.h version.h nasmlib.h nasm.h stdscan.h
139 output\\outcoff.$(OBJ): output\\outcoff.c regs.h outform.h config.h \
140 version.h nasmlib.h nasm.h
141 output\\outdbg.$(OBJ): output\\outdbg.c regs.h outform.h config.h version.h \
143 output\\outelf32.$(OBJ): output\\outelf32.c regs.h outform.h config.h \
144 version.h nasmlib.h nasm.h stdscan.h
145 output\\outelf64.$(OBJ): output\\outelf64.c regs.h outform.h config.h \
146 version.h nasmlib.h nasm.h stdscan.h
147 output\\outieee.$(OBJ): output\\outieee.c regs.h outform.h config.h \
148 version.h nasmlib.h nasm.h
149 output\\outmacho.$(OBJ): output\\outmacho.c compiler.h regs.h outform.h \
150 config.h version.h nasmlib.h nasm.h
151 output\\outobj.$(OBJ): output\\outobj.c regs.h outform.h config.h version.h \
152 nasmlib.h nasm.h stdscan.h
153 output\\outrdf.$(OBJ): output\\outrdf.c regs.h outform.h config.h version.h \
155 output\\outrdf2.$(OBJ): output\\outrdf2.c rdoff\\rdoff.h regs.h outform.h \
156 config.h version.h nasmlib.h nasm.h
157 parser.$(OBJ): parser.c insns.h parser.h float.h regs.h regflags.c config.h \
158 version.h nasmlib.h nasm.h stdscan.h insnsi.h
159 preproc.$(OBJ): preproc.c macros.c regs.h config.h version.h nasmlib.h \
161 regdis.$(OBJ): regdis.c
162 regflags.$(OBJ): regflags.c
164 regvals.$(OBJ): regvals.c
165 stdscan.$(OBJ): stdscan.c insns.h regs.h config.h version.h nasmlib.h nasm.h \
167 sync.$(OBJ): sync.c sync.h
168 tokhash.$(OBJ): tokhash.c insns.h regs.h config.h version.h nasm.h insnsi.h