1 |
# |
2 |
# $Id: Makefile.skel,v 1.22 2006/06/17 10:49:16 debug Exp $ |
3 |
# |
4 |
# Makefile for GXemul src/cpus |
5 |
# |
6 |
|
7 |
CFLAGS=$(CWARNINGS) $(COPTIM) $(XINCLUDE) $(DINCLUDE) |
8 |
|
9 |
OBJS=$(CPU_ARCHS) $(CPU_BACKENDS) |
10 |
TOOLS=generate_head generate_tail $(CPU_TOOLS) |
11 |
|
12 |
|
13 |
all: $(TOOLS) |
14 |
$(MAKE) buildobjs |
15 |
|
16 |
|
17 |
buildobjs: $(OBJS) |
18 |
|
19 |
|
20 |
$(OBJS): Makefile |
21 |
|
22 |
|
23 |
|
24 |
############################################################################### |
25 |
|
26 |
cpu_alpha.o: cpu_alpha.c cpu_alpha_instr.c cpu_dyntrans.c ../memory_rw.c \ |
27 |
tmp_alpha_head.c tmp_alpha_tail.c |
28 |
|
29 |
cpu_alpha_instr.c: cpu_alpha_instr_alu.c tmp_alpha_misc.c |
30 |
|
31 |
tmp_alpha_misc.c: cpu_alpha_instr_loadstore.c generate_alpha_misc |
32 |
./generate_alpha_misc > tmp_alpha_misc.c |
33 |
|
34 |
tmp_alpha_head.c: generate_head |
35 |
./generate_head alpha Alpha > tmp_alpha_head.c |
36 |
|
37 |
tmp_alpha_tail.c: generate_tail |
38 |
./generate_tail alpha Alpha > tmp_alpha_tail.c |
39 |
|
40 |
|
41 |
############################################################################### |
42 |
|
43 |
cpu_arm.o: cpu_arm.c cpu_arm_instr.c cpu_dyntrans.c ../memory_rw.c \ |
44 |
tmp_arm_head.c tmp_arm_tail.c |
45 |
|
46 |
cpu_arm_instr.c: cpu_arm_instr_misc.c |
47 |
|
48 |
tmp_arm_loadstore.c: cpu_arm_instr_loadstore.c generate_arm_loadstore |
49 |
./generate_arm_loadstore > tmp_arm_loadstore.c |
50 |
|
51 |
tmp_arm_multi.c: generate_arm_multi cpu_arm_multi.txt |
52 |
./generate_arm_multi `cat cpu_arm_multi.txt` > tmp_arm_multi.c |
53 |
|
54 |
tmp_arm_dpi.c: cpu_arm_instr_dpi.c generate_arm_dpi |
55 |
./generate_arm_dpi > tmp_arm_dpi.c |
56 |
|
57 |
tmp_arm_r0.c: generate_arm_r |
58 |
./generate_arm_r 0x000 0x0ff > tmp_arm_r0.c |
59 |
tmp_arm_r1.c: generate_arm_r |
60 |
./generate_arm_r 0x100 0x1ff > tmp_arm_r1.c |
61 |
tmp_arm_r2.c: generate_arm_r |
62 |
./generate_arm_r 0x200 0x2ff > tmp_arm_r2.c |
63 |
tmp_arm_r3.c: generate_arm_r |
64 |
./generate_arm_r 0x300 0x3ff > tmp_arm_r3.c |
65 |
tmp_arm_r4.c: generate_arm_r |
66 |
./generate_arm_r 0x400 0x4ff > tmp_arm_r4.c |
67 |
tmp_arm_r5.c: generate_arm_r |
68 |
./generate_arm_r 0x500 0x5ff > tmp_arm_r5.c |
69 |
tmp_arm_r6.c: generate_arm_r |
70 |
./generate_arm_r 0x600 0x6ff > tmp_arm_r6.c |
71 |
tmp_arm_r7.c: generate_arm_r |
72 |
./generate_arm_r 0x700 0x7ff > tmp_arm_r7.c |
73 |
tmp_arm_r8.c: generate_arm_r |
74 |
./generate_arm_r 0x800 0x8ff > tmp_arm_r8.c |
75 |
tmp_arm_r9.c: generate_arm_r |
76 |
./generate_arm_r 0x900 0x9ff > tmp_arm_r9.c |
77 |
tmp_arm_ra.c: generate_arm_r |
78 |
./generate_arm_r 0xa00 0xaff > tmp_arm_ra.c |
79 |
tmp_arm_rb.c: generate_arm_r |
80 |
./generate_arm_r 0xb00 0xbff > tmp_arm_rb.c |
81 |
tmp_arm_rc.c: generate_arm_r |
82 |
./generate_arm_r 0xc00 0xcff > tmp_arm_rc.c |
83 |
tmp_arm_rd.c: generate_arm_r |
84 |
./generate_arm_r 0xd00 0xdff > tmp_arm_rd.c |
85 |
tmp_arm_re.c: generate_arm_r |
86 |
./generate_arm_r 0xe00 0xeff > tmp_arm_re.c |
87 |
tmp_arm_rf.c: generate_arm_r |
88 |
./generate_arm_r 0xf00 0xfff > tmp_arm_rf.c |
89 |
|
90 |
tmp_arm_r.c: generate_arm_r |
91 |
./generate_arm_r 0 0 > tmp_arm_r.c |
92 |
|
93 |
tmp_arm_head.c: generate_head |
94 |
./generate_head arm ARM > tmp_arm_head.c |
95 |
|
96 |
tmp_arm_tail.c: generate_tail |
97 |
./generate_tail arm ARM > tmp_arm_tail.c |
98 |
|
99 |
|
100 |
############################################################################### |
101 |
|
102 |
cpu_avr.o: cpu_avr.c cpu_avr_instr.c cpu_dyntrans.c ../memory_rw.c \ |
103 |
tmp_avr_head.c tmp_avr_tail.c |
104 |
|
105 |
tmp_avr_head.c: generate_head |
106 |
./generate_head avr AVR > tmp_avr_head.c |
107 |
|
108 |
tmp_avr_tail.c: generate_tail |
109 |
./generate_tail avr AVR > tmp_avr_tail.c |
110 |
|
111 |
|
112 |
############################################################################### |
113 |
|
114 |
cpu_hppa.o: cpu_hppa.c cpu_hppa_instr.c cpu_dyntrans.c ../memory_rw.c \ |
115 |
tmp_hppa_head.c tmp_hppa_tail.c |
116 |
|
117 |
tmp_hppa_head.c: generate_head |
118 |
./generate_head hppa HPPA > tmp_hppa_head.c |
119 |
|
120 |
tmp_hppa_tail.c: generate_tail |
121 |
./generate_tail hppa HPPA > tmp_hppa_tail.c |
122 |
|
123 |
|
124 |
############################################################################### |
125 |
|
126 |
cpu_i960.o: cpu_i960.c cpu_i960_instr.c cpu_dyntrans.c ../memory_rw.c \ |
127 |
tmp_i960_head.c tmp_i960_tail.c |
128 |
|
129 |
tmp_i960_head.c: generate_head |
130 |
./generate_head i960 i960 > tmp_i960_head.c |
131 |
|
132 |
tmp_i960_tail.c: generate_tail |
133 |
./generate_tail i960 i960 > tmp_i960_tail.c |
134 |
|
135 |
|
136 |
############################################################################### |
137 |
|
138 |
cpu_ia64.o: cpu_ia64.c cpu_ia64_instr.c cpu_dyntrans.c ../memory_rw.c \ |
139 |
tmp_ia64_head.c tmp_ia64_tail.c |
140 |
|
141 |
tmp_ia64_head.c: generate_head |
142 |
./generate_head ia64 IA64 > tmp_ia64_head.c |
143 |
|
144 |
tmp_ia64_tail.c: generate_tail |
145 |
./generate_tail ia64 IA64 > tmp_ia64_tail.c |
146 |
|
147 |
|
148 |
############################################################################### |
149 |
|
150 |
cpu_m68k.o: cpu_m68k.c cpu_m68k_instr.c cpu_dyntrans.c ../memory_rw.c \ |
151 |
tmp_m68k_head.c tmp_m68k_tail.c |
152 |
|
153 |
tmp_m68k_head.c: generate_head |
154 |
./generate_head m68k M68K > tmp_m68k_head.c |
155 |
|
156 |
tmp_m68k_tail.c: generate_tail |
157 |
./generate_tail m68k M68K > tmp_m68k_tail.c |
158 |
|
159 |
|
160 |
############################################################################### |
161 |
|
162 |
cpu_mips.o: cpu_mips.c cpu_dyntrans.c memory_mips.c \ |
163 |
cpu_mips_instr.c tmp_mips_loadstore.c tmp_mips_head.c tmp_mips_tail.c |
164 |
|
165 |
memory_mips.c: ../memory_rw.c memory_mips_v2p.c |
166 |
|
167 |
tmp_mips_loadstore.c: cpu_mips_instr_loadstore.c generate_mips_loadstore |
168 |
./generate_mips_loadstore > tmp_mips_loadstore.c |
169 |
|
170 |
tmp_mips_head.c: generate_head |
171 |
./generate_head mips MIPS > tmp_mips_head.c |
172 |
|
173 |
tmp_mips_tail.c: generate_tail |
174 |
./generate_tail mips MIPS > tmp_mips_tail.c |
175 |
|
176 |
|
177 |
############################################################################### |
178 |
|
179 |
cpu_ppc.o: cpu_ppc.c cpu_ppc_instr.c cpu_dyntrans.c memory_ppc.c \ |
180 |
../memory_rw.c tmp_ppc_head.c tmp_ppc_tail.c tmp_ppc_loadstore.c |
181 |
|
182 |
tmp_ppc_loadstore.c: cpu_ppc_instr_loadstore.c generate_ppc_loadstore |
183 |
./generate_ppc_loadstore > tmp_ppc_loadstore.c |
184 |
|
185 |
tmp_ppc_head.c: generate_head |
186 |
./generate_head ppc PPC > tmp_ppc_head.c |
187 |
|
188 |
tmp_ppc_tail.c: generate_tail |
189 |
./generate_tail ppc PPC > tmp_ppc_tail.c |
190 |
|
191 |
|
192 |
############################################################################### |
193 |
|
194 |
cpu_sh.o: cpu_sh.c cpu_sh_instr.c cpu_dyntrans.c ../memory_rw.c \ |
195 |
tmp_sh_head.c tmp_sh_tail.c |
196 |
|
197 |
tmp_sh_head.c: generate_head |
198 |
./generate_head sh SH > tmp_sh_head.c |
199 |
|
200 |
tmp_sh_tail.c: generate_tail |
201 |
./generate_tail sh SH > tmp_sh_tail.c |
202 |
|
203 |
|
204 |
############################################################################### |
205 |
|
206 |
cpu_sparc.o: cpu_sparc.c cpu_sparc_instr.c cpu_dyntrans.c ../memory_rw.c \ |
207 |
tmp_sparc_head.c tmp_sparc_tail.c |
208 |
|
209 |
tmp_sparc_head.c: generate_head |
210 |
./generate_head sparc SPARC > tmp_sparc_head.c |
211 |
|
212 |
tmp_sparc_tail.c: generate_tail |
213 |
./generate_tail sparc SPARC > tmp_sparc_tail.c |
214 |
|
215 |
|
216 |
############################################################################### |
217 |
|
218 |
cpu_x86.o: cpu_x86.c cpu_x86_instr.c cpu_dyntrans.c ../memory_rw.c \ |
219 |
memory_x86.c tmp_x86_head.c tmp_x86_tail.c |
220 |
|
221 |
tmp_x86_head.c: generate_head |
222 |
./generate_head x86 x86 > tmp_x86_head.c |
223 |
|
224 |
tmp_x86_tail.c: generate_tail |
225 |
./generate_tail x86 x86 > tmp_x86_tail.c |
226 |
|
227 |
|
228 |
############################################################################### |
229 |
|
230 |
clean: |
231 |
rm -f $(OBJS) $(TOOLS) *core tmp_*.c *.gmon experiment_arm_multi |
232 |
|
233 |
clean_all: clean |
234 |
rm -f Makefile |
235 |
|