3 CFLAGS_DBG32
= -D_DEBUG
4 CFLAGS_REL32
= -D_NDEBUG
-O3
5 CFLAGS_DBG64
= -D_DEBUG
-m64
6 CFLAGS_REL64
= -D_NDEBUG
-O3
-m64
11 SRC_SRC
= cpu.
cpp dumper.
cpp tmpalloc.
cpp memmgr.
cpp \
12 bblock.
cpp bblock_impl.
cpp function.
cpp function_impl.
cpp \
13 callingconvention.
cpp callingconvention_impl.
cpp \
14 host.
cpp machine.
cpp virtualregister.
cpp spillslotinfo.
cpp \
15 cfg_analysis.
cpp codegenerator.
cpp dfg_analysis.
cpp adt_bitmap.
cpp
16 SRC_X86
= x86_32_callingconvention.
cpp x86_64_callingconvention.
cpp \
17 x86_32_machine.
cpp x86_64_machine.
cpp x86_32_regs.
cpp x86_64_regs.
cpp \
18 x86_32_insinfo.
cpp x86_64_insinfo.
cpp x86_32_dumper.
cpp x86_64_dumper.
cpp \
19 x86_32_codegen.
cpp x86_64_codegen.
cpp x86_32_ins2reg.
cpp x86_64_ins2reg.
cpp
20 SRC_UNITTEST
= test_unittest.
cpp test_main.
cpp test_fnctypeinfo.
cpp \
21 test_adt_range.
cpp test_adt_slice.
cpp test_callingconvention.
cpp \
22 test_simplefunction.
cpp test_adt_bitmap.
cpp test_adt_tmpvector.
cpp \
23 test_adt_heap.
cpp test_adt_smallheap.
cpp \
24 test_bitfuncs.
cpp test_power2funcs.
cpp test_cfg_analysis.
cpp \
25 test_simplecodegen.
cpp test_asm.
cpp \
26 test_asm_x86_32_ins.
cpp test_asm_x86_32_reg.
cpp test_asm_x86_32_ext.
cpp \
27 test_asm_x86_64_ins.
cpp test_asm_x86_64_reg.
cpp test_asm_x86_64_ext.
cpp \
28 test_allinstructions.
cpp test_dfg_analysis.
cpp
29 X86_INS
= x86_arith.ins x86_mov_set.ins x86_other.ins x86_other_vex.ins \
30 x86_simd_arith.ins x86_simd_blend.ins x86_simd_cvt.ins \
31 x86_simd_insext.ins x86_simd_mov.ins x86_simd_shuffle.ins\
32 x86_simd_arith_vex.ins x86_simd_blend_vex.ins x86_simd_cvt_vex.ins \
33 x86_simd_insext_vex.ins x86_simd_mov_vex.ins x86_simd_shuffle_vex.ins \
34 x86_cf.ins x86_addrmode.ins
35 PREFIXES_LIBSRC
= dbg32_ rel32_ dbg64_ rel64_
36 PREFIXES_TESTSRC
= test32_ test64_ testd32_ testd64_
40 BINDATADIR
= _bin
/data
41 TEST_NAMES
= $(patsubst %.
cpp,%.o
,$(SRC_SRC
))
42 LIBOBJ_NAMES
= $(addprefix src_
,$(patsubst %.
cpp,%.o
,$(SRC_SRC
))) \
43 $(addprefix x86_
,$(patsubst %.
cpp,%.o
,$(SRC_X86
)))
44 LIBOBJS_DEBUG32
= $(addprefix $(OBJDIR
)/dbg32_
,$(LIBOBJ_NAMES
))
45 LIBOBJS_RELEASE32
= $(addprefix $(OBJDIR
)/rel32_
,$(LIBOBJ_NAMES
))
46 LIBOBJS_DEBUG64
= $(addprefix $(OBJDIR
)/dbg64_
,$(LIBOBJ_NAMES
))
47 LIBOBJS_RELEASE64
= $(addprefix $(OBJDIR
)/rel64_
,$(LIBOBJ_NAMES
))
48 UNITTESTOBJS_DEBUG32
= $(addprefix $(OBJDIR
)/testd32_
,$(patsubst test_
%.
cpp,%.o
,$(SRC_UNITTEST
)))
49 UNITTESTOBJS_DEBUG64
= $(addprefix $(OBJDIR
)/testd64_
,$(patsubst test_
%.
cpp,%.o
,$(SRC_UNITTEST
)))
50 UNITTESTOBJS_RELEASE32
= $(addprefix $(OBJDIR
)/test32_
,$(patsubst test_
%.
cpp,%.o
,$(SRC_UNITTEST
)))
51 UNITTESTOBJS_RELEASE64
= $(addprefix $(OBJDIR
)/test64_
,$(patsubst test_
%.
cpp,%.o
,$(SRC_UNITTEST
)))
52 OBJPREFIX_SRC
= $(addprefix $(OBJDIR
)/,$(addsuffix src_
,$(PREFIXES_LIBSRC
)))
53 OBJPREFIX_X86
= $(addprefix $(OBJDIR
)/,$(addsuffix x86_
,$(PREFIXES_LIBSRC
)))
54 OBJPREFIX_TEST
= $(addprefix $(OBJDIR
)/,$(PREFIXES_TESTSRC
))
55 AS32_FILES
= $(addprefix $(BINDATADIR
)/,$(patsubst x86_
%.ins
,x86_32_
%.
as,$(X86_INS
)))
56 AS64_FILES
= $(addprefix $(BINDATADIR
)/,$(patsubst x86_
%.ins
,x86_64_
%.
as,$(X86_INS
)))
58 #all : debug release tests
62 $(RM
) $(subst /,$(SEP
),_objs
/*)
63 $(RM
) $(subst /,$(SEP
),_lib
/*)
64 $(RM
) $(subst /,$(SEP
),_bin
/*)
67 debug
: $(LIBDIR
)/jitcs_debug32.a
$(LIBDIR
)/jitcs_debug64.a
69 release
: $(LIBDIR
)/jitcs_release32.a
$(LIBDIR
)/jitcs_release64.a
70 tests
: $(BINDIR
)/test_cpuinfo32.exe
$(BINDIR
)/test_cpuinfo64.exe \
71 $(AS32_FILES
) $(AS64_FILES
) \
72 $(BINDIR
)/unittestsd32.exe
$(BINDIR
)/unittestsd64.exe \
73 $(BINDIR
)/unittests32.exe
$(BINDIR
)/unittests64.exe
75 lua
: include/jitcs_x86_32_cons.h
include/jitcs_x86_64_cons.h \
76 include/jitcs_x86_32_insids.h
include/jitcs_x86_64_insids.h \
77 include/jitcs_x86_32_regs.h
include/jitcs_x86_64_regs.h \
78 include/jitcs_x86_32_machine.h
include/jitcs_x86_64_machine.h \
79 src
/x86
/jitcs_int_x86_32_machine.h src
/x86
/jitcs_int_x86_64_machine.h \
80 src
/x86
/jitcs_int_x86_32_dumper.h src
/x86
/jitcs_int_x86_64_dumper.h \
81 src
/x86
/jitcs_int_x86_32_regs.h src
/x86
/jitcs_int_x86_64_regs.h \
82 src
/x86
/src
/x86_32_callingconvention.
cpp src
/x86
/src
/x86_64_callingconvention.
cpp \
83 src
/x86
/src
/x86_32_codegen.
cpp src
/x86
/src
/x86_64_codegen.
cpp \
84 src
/x86
/src
/x86_32_dumper.
cpp src
/x86
/src
/x86_64_dumper.
cpp \
85 src
/x86
/src
/x86_32_ins2reg.
cpp src
/x86
/src
/x86_64_ins2reg.
cpp \
86 src
/x86
/src
/x86_32_insinfo.
cpp src
/x86
/src
/x86_64_insinfo.
cpp \
87 src
/x86
/src
/x86_32_machine.
cpp src
/x86
/src
/x86_64_machine.
cpp \
88 src
/x86
/src
/x86_32_regs.
cpp src
/x86
/src
/x86_64_regs.
cpp
90 include/jitcs_x86_32_cons.h
: include/jitcs_x86_xx_cons.lh \
91 src
/data
/x86_inslist.dat src
/data
/x86_insalias.dat \
92 tools
/template2source.lua
93 $(LUA
) tools
/template2source.lua
$< 32 $@
94 include/jitcs_x86_64_cons.h
: include/jitcs_x86_xx_cons.lh \
95 src
/data
/x86_inslist.dat src
/data
/x86_insalias.dat \
96 tools
/template2source.lua
97 $(LUA
) tools
/template2source.lua
$< 64 $@
98 include/jitcs_x86_32_insids.h
: include/jitcs_x86_xx_insids.lh \
99 src
/data
/x86_inslist.dat src
/data
/x86_insalias.dat \
100 tools
/template2source.lua
101 $(LUA
) tools
/template2source.lua
$< 32 $@
102 include/jitcs_x86_64_insids.h
: include/jitcs_x86_xx_insids.lh \
103 src
/data
/x86_inslist.dat src
/data
/x86_insalias.dat \
104 tools
/template2source.lua
105 $(LUA
) tools
/template2source.lua
$< 64 $@
106 include/jitcs_x86_32_regs.h
: include/jitcs_x86_xx_regs.lh src
/data
/x86_reglist.dat \
107 tools
/template2source.lua
108 $(LUA
) tools
/template2source.lua
$< 32 $@
109 include/jitcs_x86_64_regs.h
: include/jitcs_x86_xx_regs.lh src
/data
/x86_reglist.dat \
110 tools
/template2source.lua
111 $(LUA
) tools
/template2source.lua
$< 64 $@
112 include/jitcs_x86_32_machine.h
: include/jitcs_x86_xx_machine.lh \
113 tools
/template2source.lua
114 $(LUA
) tools
/template2source.lua
$< 32 $@
115 include/jitcs_x86_64_machine.h
: include/jitcs_x86_xx_machine.lh \
116 tools
/template2source.lua
117 $(LUA
) tools
/template2source.lua
$< 64 $@
118 src
/x86
/jitcs_int_x86_32_machine.h
: src
/x86
/jitcs_int_x86_xx_machine.lh \
119 tools
/template2source.lua
120 $(LUA
) tools
/template2source.lua
$< 32 $@
121 src
/x86
/jitcs_int_x86_64_machine.h
: src
/x86
/jitcs_int_x86_xx_machine.lh \
122 tools
/template2source.lua
123 $(LUA
) tools
/template2source.lua
$< 64 $@
124 src
/x86
/jitcs_int_x86_32_regs.h
: src
/x86
/jitcs_int_x86_xx_regs.lh src
/data
/x86_reglist.dat \
125 tools
/template2source.lua
126 $(LUA
) tools
/template2source.lua
$< 32 $@
127 src
/x86
/jitcs_int_x86_64_regs.h
: src
/x86
/jitcs_int_x86_xx_regs.lh src
/data
/x86_reglist.dat \
128 tools
/template2source.lua
129 $(LUA
) tools
/template2source.lua
$< 64 $@
130 src
/x86
/jitcs_int_x86_32_dumper.h
: src
/x86
/jitcs_int_x86_xx_dumper.lh \
131 tools
/template2source.lua
132 $(LUA
) tools
/template2source.lua
$< 32 $@
133 src
/x86
/jitcs_int_x86_64_dumper.h
: src
/x86
/jitcs_int_x86_xx_dumper.lh \
134 tools
/template2source.lua
135 $(LUA
) tools
/template2source.lua
$< 64 $@
136 src
/x86
/src
/x86_32_callingconvention.
cpp : src
/x86
/src
/x86_xx_callingconvention.lcpp \
137 src
/data
/x86_reglist.dat \
138 tools
/template2source.lua
139 $(LUA
) tools
/template2source.lua
$< 32 $@
140 src
/x86
/src
/x86_64_callingconvention.
cpp : src
/x86
/src
/x86_xx_callingconvention.lcpp \
141 src
/data
/x86_reglist.dat \
142 tools
/template2source.lua
143 $(LUA
) tools
/template2source.lua
$< 64 $@
144 src
/x86
/src
/x86_32_machine.
cpp : src
/x86
/src
/x86_xx_machine.lcpp src
/data
/x86_reglist.dat \
145 tools
/template2source.lua
146 $(LUA
) tools
/template2source.lua
$< 32 $@
147 src
/x86
/src
/x86_64_machine.
cpp : src
/x86
/src
/x86_xx_machine.lcpp src
/data
/x86_reglist.dat \
148 tools
/template2source.lua
149 $(LUA
) tools
/template2source.lua
$< 64 $@
150 src
/x86
/src
/x86_32_regs.
cpp : src
/x86
/src
/x86_xx_regs.lcpp src
/data
/x86_reglist.dat \
151 tools
/template2source.lua
152 $(LUA
) tools
/template2source.lua
$< 32 $@
153 src
/x86
/src
/x86_64_regs.
cpp : src
/x86
/src
/x86_xx_regs.lcpp src
/data
/x86_reglist.dat \
154 tools
/template2source.lua
155 $(LUA
) tools
/template2source.lua
$< 64 $@
156 src
/x86
/src
/x86_32_insinfo.
cpp : src
/x86
/src
/x86_xx_insinfo.lcpp src
/data
/x86_reglist.dat \
157 tools
/template2source.lua src
/data
/x86_inslist.dat
158 $(LUA
) tools
/template2source.lua
$< 32 $@
159 src
/x86
/src
/x86_64_insinfo.
cpp : src
/x86
/src
/x86_xx_insinfo.lcpp src
/data
/x86_reglist.dat \
160 tools
/template2source.lua src
/data
/x86_inslist.dat
161 $(LUA
) tools
/template2source.lua
$< 64 $@
162 src
/x86
/src
/x86_32_dumper.
cpp : src
/x86
/src
/x86_xx_dumper.lcpp src
/data
/x86_reglist.dat \
163 tools
/template2source.lua src
/data
/x86_inslist.dat
164 $(LUA
) tools
/template2source.lua
$< 32 $@
165 src
/x86
/src
/x86_64_dumper.
cpp : src
/x86
/src
/x86_xx_dumper.lcpp src
/data
/x86_reglist.dat \
166 tools
/template2source.lua src
/data
/x86_inslist.dat
167 $(LUA
) tools
/template2source.lua
$< 64 $@
168 src
/x86
/src
/x86_32_codegen.
cpp : src
/x86
/src
/x86_xx_codegen.lcpp src
/data
/x86_inslist.dat \
169 tools
/template2source.lua
170 $(LUA
) tools
/template2source.lua
$< 32 $@
171 src
/x86
/src
/x86_64_codegen.
cpp : src
/x86
/src
/x86_xx_codegen.lcpp src
/data
/x86_inslist.dat \
172 tools
/template2source.lua
173 $(LUA
) tools
/template2source.lua
$< 64 $@
174 src
/x86
/src
/x86_32_ins2reg.
cpp : src
/x86
/src
/x86_xx_ins2reg.lcpp src
/data
/x86_reglist.dat \
175 tools
/template2source.lua src
/data
/x86_inslist.dat
176 $(LUA
) tools
/template2source.lua
$< 32 $@
177 src
/x86
/src
/x86_64_ins2reg.
cpp : src
/x86
/src
/x86_xx_ins2reg.lcpp src
/data
/x86_reglist.dat \
178 tools
/template2source.lua src
/data
/x86_inslist.dat
179 $(LUA
) tools
/template2source.lua
$< 64 $@
181 tests
/test_asm_x86_32.h
: tests
/test_asm_x86_xx.lh \
182 tools
/template2source.lua
183 $(LUA
) tools
/template2source.lua
$< 32 $@
184 tests
/test_asm_x86_64.h
: tests
/test_asm_x86_xx.lh \
185 tools
/template2source.lua
186 $(LUA
) tools
/template2source.lua
$< 64 $@
187 tests
/test_asm_x86_32_reg.
cpp : tests
/test_asm_x86_xx_reg.lcpp \
188 src
/data
/x86_reglist.dat \
189 tools
/template2source.lua
190 $(LUA
) tools
/template2source.lua
$< 32 $@
191 tests
/test_asm_x86_64_reg.
cpp : tests
/test_asm_x86_xx_reg.lcpp \
192 src
/data
/x86_reglist.dat \
193 tools
/template2source.lua
194 $(LUA
) tools
/template2source.lua
$< 64 $@
195 tests
/test_asm_x86_32_ins.
cpp : tests
/test_asm_x86_xx_ins.lcpp \
196 src
/data
/x86_inslist.dat src
/data
/x86_reglist.dat \
197 src
/data
/x86_insalias.dat \
198 tools
/template2source.lua
199 $(LUA
) tools
/template2source.lua
$< 32 $@
200 tests
/test_asm_x86_64_ins.
cpp : tests
/test_asm_x86_xx_ins.lcpp \
201 src
/data
/x86_inslist.dat src
/data
/x86_reglist.dat \
202 src
/data
/x86_insalias.dat \
203 tools
/template2source.lua
204 $(LUA
) tools
/template2source.lua
$< 64 $@
205 tests
/test_asm_x86_32_ext.
cpp : tests
/test_asm_x86_xx_ext.lcpp \
206 tools
/template2source.lua
207 $(LUA
) tools
/template2source.lua
$< 32 $@
208 tests
/test_asm_x86_64_ext.
cpp : tests
/test_asm_x86_xx_ext.lcpp \
209 tools
/template2source.lua
210 $(LUA
) tools
/template2source.lua
$< 64 $@
213 src
/data
/x86_inslist.dat
: src
/data
/x86_inslist.ltxt tools
/x86_inslist2data.lua
214 $(LUA
) tools
/x86_inslist2data.lua
$< $@
215 src
/data
/x86_insalias.dat
: src
/data
/x86_insalias.ltxt tools
/x86_insalias2data.lua
216 $(LUA
) tools
/x86_insalias2data.lua
$< $@
218 $(LIBDIR
)/jitcs_debug32.a
: $(LIBOBJS_DEBUG32
) |
$(LIBDIR
)
220 $(LIBDIR
)/jitcs_release32.a
: $(LIBOBJS_RELEASE32
) |
$(LIBDIR
)
222 $(LIBDIR
)/jitcs_debug64.a
: |
$(LIBDIR
)
224 $(LIBDIR
)/jitcs_release64.a
: |
$(LIBDIR
)
227 $(BINDIR
)/test_cpuinfo32.exe
: tests
/cpuinfo.
cpp $(LIBDIR
)/jitcs_release32.a \
228 include/jitcs_cpu.h \
230 $(CC
) -o
$@
$(CFLAGS
) $(CFLAGS_REL32
) $< $(LIBDIR
)/jitcs_release32.a
231 $(BINDIR
)/test_cpuinfo64.exe
: |
$(BINDIR
)
233 $(BINDIR
)/unittests32.exe
: $(UNITTESTOBJS_RELEASE32
) $(LIBDIR
)/jitcs_release32.a \
234 |
$(BINDIR
) $(BINDATADIR
)
235 $(CC
) -o
$@
$(CFLAGS
) $(CFLAGS_REL32
) $(UNITTESTOBJS_RELEASE32
) $(LIBDIR
)/jitcs_release32.a
236 $(BINDIR
)/unittestsd32.exe
: $(UNITTESTOBJS_DEBUG32
) $(LIBDIR
)/jitcs_debug32.a \
237 |
$(BINDIR
) $(BINDATADIR
)
238 $(CC
) -o
$@
$(CFLAGS
) $(CFLAGS_DBG32
) $(UNITTESTOBJS_DEBUG32
) $(LIBDIR
)/jitcs_debug32.a
239 $(BINDIR
)/unittests64.exe
: |
$(BINDIR
) $(BINDATADIR
)
241 $(BINDIR
)/unittestsd64.exe
: |
$(BINDIR
) $(BINDATADIR
)
244 $(OBJDIR
)/dbg32_src_
%.dep
: src
/src
/%.
cpp
245 $(CC
) -o
$@
-MM
-MT
$(patsubst %.dep
,%.o
,$@
) -MT
$@
-I .
/src
$(CFLAGS
) $(CFLAGS_DBG32
) $<
246 $(OBJDIR
)/rel32_src_
%.dep
: src
/src
/%.
cpp
247 $(CC
) -o
$@
-MM
-MT
$(patsubst %.dep
,%.o
,$@
) -MT
$@
-I .
/src
$(CFLAGS
) $(CFLAGS_REL32
) $<
248 $(OBJDIR
)/dbg64_src_
%.dep
: src
/src
/%.
cpp
249 $(CC
) -o
$@
-MM
-MT
$(patsubst %.dep
,%.o
,$@
) -MT
$@
-I .
/src
$(CFLAGS
) $(CFLAGS_DBG64
) $<
250 $(OBJDIR
)/rel64_src_
%.dep
: src
/src
/%.
cpp
251 $(CC
) -o
$@
-MM
-MT
$(patsubst %.dep
,%.o
,$@
) -MT
$@
-I .
/src
$(CFLAGS
) $(CFLAGS_REL64
) $<
252 $(OBJDIR
)/dbg32_x86_
%.dep
: src
/x86
/src
/%.
cpp
253 $(CC
) -o
$@
-MM
-MT
$(patsubst %.dep
,%.o
,$@
) -MT
$@
-I .
/src
$(CFLAGS
) $(CFLAGS_DBG32
) $<
254 $(OBJDIR
)/rel32_x86_
%.dep
: src
/x86
/src
/%.
cpp
255 $(CC
) -o
$@
-MM
-MT
$(patsubst %.dep
,%.o
,$@
) -MT
$@
-I .
/src
$(CFLAGS
) $(CFLAGS_REL32
) $<
256 $(OBJDIR
)/dbg64_x86_
%.dep
: src
/x86
/src
/%.
cpp
257 $(CC
) -o
$@
-MM
-MT
$(patsubst %.dep
,%.o
,$@
) -MT
$@
-I .
/src
$(CFLAGS
) $(CFLAGS_DBG64
) $<
258 $(OBJDIR
)/rel64_x86_
%.dep
: src
/x86
/src
/%.
cpp
259 $(CC
) -o
$@
-MM
-MT
$(patsubst %.dep
,%.o
,$@
) -MT
$@
-I .
/src
$(CFLAGS
) $(CFLAGS_REL64
) $<
260 $(OBJDIR
)/test32_
%.dep
: tests
/test_
%.
cpp
261 $(CC
) -o
$@
-MM
-MT
$(patsubst %.dep
,%.o
,$@
) -MT
$@
-I .
/tests
-I .
/src
$(CFLAGS
) $(CFLAGS_REL32
) $<
262 $(OBJDIR
)/testd32_
%.dep
: tests
/test_
%.
cpp
263 $(CC
) -o
$@
-MM
-MT
$(patsubst %.dep
,%.o
,$@
) -MT
$@
-I .
/tests
-I .
/src
$(CFLAGS
) $(CFLAGS_DBG32
) $<
264 $(OBJDIR
)/test64_
%.dep
: tests
/test_
%.
cpp
265 $(CC
) -o
$@
-MM
-MT
$(patsubst %.dep
,%.o
,$@
) -MT
$@
-I .
/tests
-I .
/src
$(CFLAGS
) $(CFLAGS_REL64
) $<
266 $(OBJDIR
)/testd64_
%.dep
: tests
/test_
%.
cpp
267 $(CC
) -o
$@
-MM
-MT
$(patsubst %.dep
,%.o
,$@
) -MT
$@
-I .
/tests
-I .
/src
$(CFLAGS
) $(CFLAGS_DBG64
) $<
269 ifneq ($(MAKECMDGOALS
),clean)
270 include $(LIBOBJS_DEBUG32
:.o
=.dep
)
271 include $(LIBOBJS_RELEASE32
:.o
=.dep
)
272 include $(UNITTESTOBJS_DEBUG32
:.o
=.dep
)
273 include $(UNITTESTOBJS_RELEASE32
:.o
=.dep
)
276 $(OBJDIR
)/dbg32_src_
%.o
: src
/src
/%.
cpp
277 $(CC
) -o
$@
-c
-I .
/src
$(CFLAGS
) $(CFLAGS_DBG32
) $<
278 $(OBJDIR
)/rel32_src_
%.o
: src
/src
/%.
cpp
279 $(CC
) -o
$@
-c
-I .
/src
$(CFLAGS
) $(CFLAGS_REL32
) $<
280 $(OBJDIR
)/dbg64_src_
%.o
: src
/src
/%.
cpp
281 $(CC
) -o
$@
-c
-I .
/src
$(CFLAGS
) $(CFLAGS_DBG64
) $<
282 $(OBJDIR
)/rel64_src_
%.o
: src
/src
/%.
cpp
283 $(CC
) -o
$@
-c
-I .
/src
$(CFLAGS
) $(CFLAGS_REL64
) $<
284 $(OBJDIR
)/dbg32_x86_
%.o
: src
/x86
/src
/%.
cpp
285 $(CC
) -o
$@
-c
-I .
/src
$(CFLAGS
) $(CFLAGS_DBG32
) $<
286 $(OBJDIR
)/rel32_x86_
%.o
: src
/x86
/src
/%.
cpp
287 $(CC
) -o
$@
-c
-I .
/src
$(CFLAGS
) $(CFLAGS_REL32
) $<
288 $(OBJDIR
)/dbg64_x86_
%.o
: src
/x86
/src
/%.
cpp
289 $(CC
) -o
$@
-c
-I .
/src
$(CFLAGS
) $(CFLAGS_DBG64
) $<
290 $(OBJDIR
)/rel64_x86_
%.o
: src
/x86
/src
/%.
cpp
291 $(CC
) -o
$@
-c
-I .
/src
$(CFLAGS
) $(CFLAGS_REL64
) $<
292 $(OBJDIR
)/test32_
%.o
: tests
/test_
%.
cpp
293 $(CC
) -o
$@
-c
-I .
/tests
-I .
/src
$(CFLAGS
) $(CFLAGS_REL32
) $<
294 $(OBJDIR
)/testd32_
%.o
: tests
/test_
%.
cpp
295 $(CC
) -o
$@
-c
-I .
/tests
-I .
/src
$(CFLAGS
) $(CFLAGS_DBG32
) $<
296 $(OBJDIR
)/test64_
%.o
: tests
/test_
%.
cpp
297 $(CC
) -o
$@
-c
-I .
/tests
-I .
/src
$(CFLAGS
) $(CFLAGS_REL64
) $<
298 $(OBJDIR
)/testd64_
%.o
: tests
/test_
%.
cpp
299 $(CC
) -o
$@
-c
-I .
/tests
-I .
/src
$(CFLAGS
) $(CFLAGS_DBG64
) $<
301 $(BINDATADIR
)/x86_32_
%.
as : tests
/x86
/x86_
%.ins tools
/x86_instool.lua
302 $(LUA
) tools
/x86_instool.lua ins2nasm32
$< $(OBJDIR
)/n32_
$*.nasm
303 $(NASM
) -o
$(OBJDIR
)/n32_
$*.bin
-l
$(OBJDIR
)/n32_
$*.lst
$(OBJDIR
)/n32_
$*.nasm
304 $(LUA
) tools
/x86_instool.lua nasm2as32
$< $(OBJDIR
)/n32_
$*.lst
$@
305 $(BINDATADIR
)/x86_64_
%.
as : tests
/x86
/x86_
%.ins tools
/x86_instool.lua
306 $(LUA
) tools
/x86_instool.lua ins2nasm64
$< $(OBJDIR
)/n64_
$*.nasm
307 $(NASM
) -o
$(OBJDIR
)/n64_
$*.bin
-l
$(OBJDIR
)/n64_
$*.lst
$(OBJDIR
)/n64_
$*.nasm
308 $(LUA
) tools
/x86_instool.lua nasm2as64
$< $(OBJDIR
)/n64_
$*.lst
$@
310 $(LIBOBJS_DEBUG32
) $(LIBOBJS_RELEASE32
) \
311 $(LIBOBJS_DEBUG64
) $(LIBOBJS_RELEASE64
) \
312 $(UNITTESTOBJS_RELEASE32
) : |
$(OBJDIR
)
313 $(BINDATADIR
): |
$(BINDIR
)
314 $(OBJDIR
) $(LIBDIR
) $(BINDIR
) $(BINDATADIR
):
315 mkdir
$(subst /,$(SEP
),$@
)