1#
2# Makefile for racket basic sources
3#
4
5srcdir = @srcdir@
6builddir = @builddir@
7
8CC = @CC@
9
10MZSRC = $(srcdir)
11
12CFLAGS = @CFLAGS@ @COMPFLAGS@ @PROFFLAGS@
13CPPFLAGS = @PREFLAGS@
14RKTIO_INC = -I$(srcdir)/../../rktio -I../rktio
15ALL_CFLAGS = $(CFLAGS) -I$(builddir)/.. -I$(srcdir)/../include -I$(srcdir)/../../version $(RKTIO_INC) $(CPPFLAGS) @OPTIONS@ @MZOPTIONS@
16LTO=@LTO@ # Need for replacement of EXTRA_GMP_OBJ which carries the variable
17
18OBJS =  salloc.@LTO@ \
19	bignum.@LTO@ \
20	bool.@LTO@ \
21	char.@LTO@ \
22	compenv.@LTO@ \
23	compile.@LTO@ \
24	complex.@LTO@ \
25	dynext.@LTO@ \
26	env.@LTO@ \
27	error.@LTO@ \
28	eval.@LTO@ \
29	file.@LTO@ \
30	fun.@LTO@ \
31	future.@LTO@ \
32        gmp.@LTO@ \
33	hash.@LTO@ \
34	jit.@LTO@ \
35	jitalloc.@LTO@ \
36	jitarith.@LTO@ \
37	jitcall.@LTO@ \
38	jitcommon.@LTO@ \
39	jitinline.@LTO@ \
40	jitprep.@LTO@ \
41	jitstack.@LTO@ \
42	jitstate.@LTO@ \
43	letrec_check.@LTO@ \
44	linklet.@LTO@ \
45	list.@LTO@ \
46	marshal.@LTO@ \
47	mzrt.@LTO@ \
48	network.@LTO@ \
49	numarith.@LTO@ \
50	number.@LTO@ \
51	numcomp.@LTO@ \
52	numstr.@LTO@ \
53	optimize.@LTO@ \
54	place.@LTO@ \
55	port.@LTO@ \
56	portfun.@LTO@ \
57	print.@LTO@ \
58        rational.@LTO@ \
59	read.@LTO@ \
60	regexp.@LTO@ \
61	resolve.@LTO@ \
62	sema.@LTO@ \
63	setjmpup.@LTO@ \
64	sfs.@LTO@ \
65	sort.@LTO@ \
66	startup.@LTO@ \
67	string.@LTO@ \
68	struct.@LTO@ \
69	symbol.@LTO@ \
70	syntax.@LTO@ \
71	thread.@LTO@ \
72	type.@LTO@ \
73        unwind.@LTO@ \
74        validate.@LTO@ \
75	vector.@LTO@ \
76	@EXTRA_GMP_OBJ@
77
78SRCS =  $(srcdir)/salloc.c \
79	$(srcdir)/bignum.c \
80	$(srcdir)/bool.c \
81	$(srcdir)/char.c \
82	$(srcdir)/compenv.c \
83	$(srcdir)/compile.c \
84	$(srcdir)/complex.c \
85	$(srcdir)/dynext.c \
86	$(srcdir)/env.c \
87	$(srcdir)/error.c \
88	$(srcdir)/eval.c \
89	$(srcdir)/file.c \
90	$(srcdir)/fun.c \
91	$(srcdir)/future.c \
92	$(srcdir)/gmp/gmp.c \
93	$(srcdir)/hash.c \
94	$(srcdir)/jit.c \
95	$(srcdir)/jitalloc.c \
96	$(srcdir)/jitarith.c \
97	$(srcdir)/jitcall.c \
98	$(srcdir)/jitcommon.c \
99	$(srcdir)/jitinline.c \
100	$(srcdir)/jitprep.c \
101	$(srcdir)/jitstack.c \
102	$(srcdir)/jitstate.c \
103	$(srcdir)/letrec_check.c \
104	$(srcdir)/linklet.c \
105	$(srcdir)/list.c \
106	$(srcdir)/marshal.c \
107	$(srcdir)/mzrt.c \
108	$(srcdir)/network.c \
109	$(srcdir)/numarith.c \
110	$(srcdir)/number.c \
111	$(srcdir)/numcomp.c \
112	$(srcdir)/numstr.c \
113	$(srcdir)/optimize.c \
114	$(srcdir)/place.c \
115	$(srcdir)/port.c \
116	$(srcdir)/portfun.c \
117	$(srcdir)/print.c \
118	$(srcdir)/rational.c \
119	$(srcdir)/read.c \
120	$(srcdir)/regexp.c \
121	$(srcdir)/resolve.c \
122	$(srcdir)/sema.c \
123	$(srcdir)/setjmpup.c \
124	$(srcdir)/sfs.c \
125	$(srcdir)/startup.c \
126	$(srcdir)/string.c \
127	$(srcdir)/struct.c \
128	$(srcdir)/symbol.c \
129	$(srcdir)/syntax.c \
130	$(srcdir)/thread.c \
131	$(srcdir)/type.c \
132	$(srcdir)/unwind/libunwind.c \
133	$(srcdir)/validate.c \
134	$(srcdir)/vector.c
135
136wrong:
137	echo Make from the directory above this one
138
139all:
140	$(MAKE) mzobjects
141
142mzheaders: $(srcdir)/schemex.h $(srcdir)/schemexm.h $(srcdir)/schemex.inc $(srcdir)/schexn.h schsys.h \
143           $(srcdir)/../include/racket.exp $(srcdir)/../include/mzwin.def $(srcdir)/../include/gmzwin.def \
144           $(srcdir)/../include/racket3m.exp $(srcdir)/../include/mzwin3m.def
145
146mzobjects: $(OBJS)
147
148# Linked into 3m:
149plain-objs: unwind.@LTO@
150
151$(srcdir)/schemex.h : $(srcdir)/schemef.h $(srcdir)/makex.rkt
152	racket $(srcdir)/makex.rkt < $(srcdir)/schemef.h > $(srcdir)/schemex.h
153
154$(srcdir)/schemexm.h : $(srcdir)/schemef.h $(srcdir)/makex.rkt
155	racket $(srcdir)/makex.rkt --list < $(srcdir)/schemef.h > $(srcdir)/schemexm.h
156
157$(srcdir)/schemex.inc : $(srcdir)/schemef.h $(srcdir)/makex.rkt
158	racket $(srcdir)/makex.rkt --assign < $(srcdir)/schemef.h > $(srcdir)/schemex.inc
159
160$(srcdir)/../include/racket.exp : $(srcdir)/schemef.h $(srcdir)/makex.rkt
161	racket $(srcdir)/makex.rkt --exports < $(srcdir)/schemef.h > $(srcdir)/../include/racket.exp
162
163$(srcdir)/../include/racket3m.exp : $(srcdir)/schemef.h $(srcdir)/makex.rkt
164	racket $(srcdir)/makex.rkt --exports --precisegc < $(srcdir)/schemef.h > $(srcdir)/../include/racket3m.exp
165
166$(srcdir)/../include/mzwin.def : $(srcdir)/schemef.h $(srcdir)/makex.rkt
167	racket $(srcdir)/makex.rkt --winex < $(srcdir)/schemef.h > $(srcdir)/../include/mzwin.def
168
169$(srcdir)/../include/mzwin3m.def : $(srcdir)/schemef.h $(srcdir)/makex.rkt
170	racket $(srcdir)/makex.rkt --winex --gwinex --precisegc < $(srcdir)/schemef.h > $(srcdir)/../include/mzwin3m.def
171
172$(srcdir)/../include/gmzwin.def : $(srcdir)/schemef.h $(srcdir)/makex.rkt
173	racket $(srcdir)/makex.rkt --gwinex < $(srcdir)/schemef.h > $(srcdir)/../include/gmzwin.def
174
175schsys.h : $(srcdir)/sysname
176	echo -n "#define SCHEME_PLATFORM_LIBRARY_SUBPATH " > schsys.h
177	$(srcdir)/sysname >> schsys.h
178
179depend:
180	makedepend -- $(ALL_CFLAGS) -- $(SRCS)
181
182clean:
183	/bin/rm -f *.@LTO@ schsys.h
184
185salloc.@LTO@: $(srcdir)/salloc.c
186	$(CC) $(ALL_CFLAGS) -c $(srcdir)/salloc.c -o salloc.@LTO@
187bignum.@LTO@: $(srcdir)/bignum.c $(srcdir)/bgnfloat.inc
188	$(CC) $(ALL_CFLAGS) -c $(srcdir)/bignum.c -o bignum.@LTO@
189bool.@LTO@: $(srcdir)/bool.c
190	$(CC) $(ALL_CFLAGS) -c $(srcdir)/bool.c -o bool.@LTO@
191char.@LTO@: $(srcdir)/char.c
192	$(CC) $(ALL_CFLAGS) -c $(srcdir)/char.c -o char.@LTO@
193compenv.@LTO@: $(srcdir)/compenv.c
194	$(CC) $(ALL_CFLAGS) -c $(srcdir)/compenv.c -o compenv.@LTO@
195compile.@LTO@: $(srcdir)/compile.c
196	$(CC) $(ALL_CFLAGS) -c $(srcdir)/compile.c -o compile.@LTO@
197complex.@LTO@: $(srcdir)/complex.c
198	$(CC) $(ALL_CFLAGS) -c $(srcdir)/complex.c -o complex.@LTO@
199dynext.@LTO@: $(srcdir)/dynext.c
200	$(CC) $(ALL_CFLAGS) -c $(srcdir)/dynext.c -o dynext.@LTO@
201env.@LTO@: $(srcdir)/env.c
202	$(CC) $(ALL_CFLAGS) -c $(srcdir)/env.c -o env.@LTO@
203error.@LTO@: $(srcdir)/error.c
204	$(CC) $(ALL_CFLAGS) -c $(srcdir)/error.c -o error.@LTO@
205eval.@LTO@: $(srcdir)/eval.c $(srcdir)/schapp.inc $(srcdir)/schnapp.inc
206	$(CC) $(ALL_CFLAGS) -c $(srcdir)/eval.c -o eval.@LTO@
207file.@LTO@: $(srcdir)/file.c
208	$(CC) $(ALL_CFLAGS) -c $(srcdir)/file.c -o file.@LTO@
209fun.@LTO@: $(srcdir)/fun.c
210	$(CC) $(ALL_CFLAGS) -c $(srcdir)/fun.c -o fun.@LTO@
211future.@LTO@: $(srcdir)/future.c
212	$(CC) $(ALL_CFLAGS) -c $(srcdir)/future.c -o future.@LTO@
213gmp.@LTO@: $(srcdir)/gmp/gmp.c $(srcdir)/gmp/gmplonglong.h \
214           $(srcdir)/gmp/gmp.h $(srcdir)/gmp/gmp-impl.h $(srcdir)/gmp/gmp-mparam.h \
215           $(srcdir)/../include/schthread.h $(srcdir)/../sconfig.h
216	$(CC) $(ALL_CFLAGS) -c $(srcdir)/gmp/gmp.c -o gmp.@LTO@
217hash.@LTO@: $(srcdir)/hash.c $(srcdir)/hamt_subset.inc
218	$(CC) $(ALL_CFLAGS) -c $(srcdir)/hash.c -o hash.@LTO@
219jit.@LTO@: $(srcdir)/jit.c
220	$(CC) $(ALL_CFLAGS) -c $(srcdir)/jit.c -o jit.@LTO@
221jitalloc.@LTO@: $(srcdir)/jitalloc.c
222	$(CC) $(ALL_CFLAGS) -c $(srcdir)/jitalloc.c -o jitalloc.@LTO@
223jitarith.@LTO@: $(srcdir)/jitarith.c
224	$(CC) $(ALL_CFLAGS) -c $(srcdir)/jitarith.c -o jitarith.@LTO@
225jitcall.@LTO@: $(srcdir)/jitcall.c
226	$(CC) $(ALL_CFLAGS) -c $(srcdir)/jitcall.c -o jitcall.@LTO@
227jitcommon.@LTO@: $(srcdir)/jitcommon.c
228	$(CC) $(ALL_CFLAGS) -c $(srcdir)/jitcommon.c -o jitcommon.@LTO@
229jitinline.@LTO@: $(srcdir)/jitinline.c
230	$(CC) $(ALL_CFLAGS) -c $(srcdir)/jitinline.c -o jitinline.@LTO@
231jitprep.@LTO@: $(srcdir)/jitprep.c
232	$(CC) $(ALL_CFLAGS) -c $(srcdir)/jitprep.c -o jitprep.@LTO@
233jitstack.@LTO@: $(srcdir)/jitstack.c
234	$(CC) $(ALL_CFLAGS) -c $(srcdir)/jitstack.c -o jitstack.@LTO@
235jitstate.@LTO@: $(srcdir)/jitstate.c
236	$(CC) $(ALL_CFLAGS) -c $(srcdir)/jitstate.c -o jitstate.@LTO@
237letrec_check.@LTO@: $(srcdir)/letrec_check.c
238	$(CC) $(ALL_CFLAGS) -c $(srcdir)/letrec_check.c -o letrec_check.@LTO@
239linklet.@LTO@: $(srcdir)/linklet.c
240	$(CC) $(ALL_CFLAGS) -c $(srcdir)/linklet.c -o linklet.@LTO@
241list.@LTO@: $(srcdir)/list.c
242	$(CC) $(ALL_CFLAGS) -c $(srcdir)/list.c -o list.@LTO@
243marshal.@LTO@: $(srcdir)/marshal.c
244	$(CC) $(ALL_CFLAGS) -c $(srcdir)/marshal.c -o marshal.@LTO@
245mzrt.@LTO@: $(srcdir)/mzrt.c
246	$(CC) $(ALL_CFLAGS) -c $(srcdir)/mzrt.c -o mzrt.@LTO@
247network.@LTO@: $(srcdir)/network.c
248	$(CC) $(ALL_CFLAGS) -c $(srcdir)/network.c -o network.@LTO@
249numarith.@LTO@: $(srcdir)/numarith.c
250	$(CC) $(ALL_CFLAGS) -c $(srcdir)/numarith.c -o numarith.@LTO@
251number.@LTO@: $(srcdir)/number.c
252	$(CC) $(ALL_CFLAGS) -c $(srcdir)/number.c -o number.@LTO@
253numcomp.@LTO@: $(srcdir)/numcomp.c
254	$(CC) $(ALL_CFLAGS) -c $(srcdir)/numcomp.c -o numcomp.@LTO@
255numstr.@LTO@: $(srcdir)/numstr.c
256	$(CC) $(ALL_CFLAGS) -c $(srcdir)/numstr.c -o numstr.@LTO@
257optimize.@LTO@: $(srcdir)/optimize.c
258	$(CC) $(ALL_CFLAGS) -c $(srcdir)/optimize.c -o optimize.@LTO@
259place.@LTO@: $(srcdir)/place.c
260	$(CC) $(ALL_CFLAGS) -c $(srcdir)/place.c -o place.@LTO@
261port.@LTO@: $(srcdir)/port.c
262	$(CC) $(ALL_CFLAGS) -c $(srcdir)/port.c -o port.@LTO@
263portfun.@LTO@: $(srcdir)/portfun.c
264	$(CC) $(ALL_CFLAGS) -c $(srcdir)/portfun.c -o portfun.@LTO@
265print.@LTO@: $(srcdir)/print.c
266	$(CC) $(ALL_CFLAGS) -c $(srcdir)/print.c -o print.@LTO@
267rational.@LTO@: $(srcdir)/rational.c $(srcdir)/ratfloat.inc
268	$(CC) $(ALL_CFLAGS) -c $(srcdir)/rational.c -o rational.@LTO@
269read.@LTO@: $(srcdir)/read.c
270	$(CC) $(ALL_CFLAGS) -c $(srcdir)/read.c -o read.@LTO@
271regexp.@LTO@: $(srcdir)/regexp.c
272	$(CC) $(ALL_CFLAGS) -c $(srcdir)/regexp.c -o regexp.@LTO@
273resolve.@LTO@: $(srcdir)/resolve.c
274	$(CC) $(ALL_CFLAGS) -c $(srcdir)/resolve.c -o resolve.@LTO@
275sema.@LTO@: $(srcdir)/sema.c
276	$(CC) $(ALL_CFLAGS) -c $(srcdir)/sema.c -o sema.@LTO@
277setjmpup.@LTO@: $(srcdir)/setjmpup.c
278	$(CC) $(ALL_CFLAGS) -c $(srcdir)/setjmpup.c -o setjmpup.@LTO@
279sfs.@LTO@: $(srcdir)/sfs.c
280	$(CC) $(ALL_CFLAGS) -c $(srcdir)/sfs.c -o sfs.@LTO@
281sort.@LTO@: $(srcdir)/sort.c
282	$(CC) $(ALL_CFLAGS) -c $(srcdir)/sort.c -o sort.@LTO@
283startup.@LTO@: $(srcdir)/startup.c
284	$(CC) $(ALL_CFLAGS) -c $(srcdir)/startup.c -I.. -I$(srcdir) -o startup.@LTO@
285string.@LTO@: $(srcdir)/string.c
286	$(CC) $(ALL_CFLAGS) -c $(srcdir)/string.c -I. -o string.@LTO@
287struct.@LTO@: $(srcdir)/struct.c
288	$(CC) $(ALL_CFLAGS) -c $(srcdir)/struct.c -o struct.@LTO@
289symbol.@LTO@: $(srcdir)/symbol.c
290	$(CC) $(ALL_CFLAGS) -c $(srcdir)/symbol.c -o symbol.@LTO@
291syntax.@LTO@: $(srcdir)/syntax.c
292	$(CC) $(ALL_CFLAGS) -c $(srcdir)/syntax.c -o syntax.@LTO@
293thread.@LTO@: $(srcdir)/thread.c
294	$(CC) $(ALL_CFLAGS) -c $(srcdir)/thread.c -o thread.@LTO@
295type.@LTO@: $(srcdir)/type.c
296	$(CC) $(ALL_CFLAGS) -c $(srcdir)/type.c -o type.@LTO@
297unwind.@LTO@: $(srcdir)/unwind/libunwind.c $(srcdir)/unwind/libunwind.h $(srcdir)/unwind/libunwind_i.h
298	$(CC) $(ALL_CFLAGS) -c $(srcdir)/unwind/libunwind.c -o unwind.@LTO@
299validate.@LTO@: $(srcdir)/validate.c
300	$(CC) $(ALL_CFLAGS) -c $(srcdir)/validate.c -o validate.@LTO@
301vector.@LTO@: $(srcdir)/vector.c
302	$(CC) $(ALL_CFLAGS) -c $(srcdir)/vector.c -o vector.@LTO@
303
304gmp_alpha_gcc.@LTO@: $(srcdir)/gmp/gmp_alpha_gcc.s
305	$(AS) -o gmp_alpha_gcc.@LTO@ $(srcdir)/gmp/gmp_alpha_gcc.s
306gmp_arm_gcc.@LTO@: $(srcdir)/gmp/gmp_arm_gcc.s
307	$(CC) -o gmp_arm_gcc.@LTO@ -c $(srcdir)/gmp/gmp_arm_gcc.S
308
309SCONFIG = $(srcdir)/../sconfig.h $(srcdir)/../uconfig.h ../mzconfig.h
310
311# More dependencies
312
313COMMON_HEADERS = $(srcdir)/schpriv.h $(srcdir)/schexn.h $(SCONFIG) $(srcdir)/../include/scheme.h \
314                 $(srcdir)/../include/schthread.h $(srcdir)/mzrt.h $(srcdir)/mzrt_cas.inc \
315                 $(srcdir)/longdouble/longdouble.h $(srcdir)/../utils/schiptr.h
316RKTIO_HEADERS =  $(srcdir)/schrktio.h \
317                 $(srcdir)/../../rktio/rktio.h $(srcdir)/../../rktio/rktio_platform.h \
318                 ../rktio/rktio_config.h
319
320JIT_HEADERS = $(srcdir)/jit.h $(srcdir)/jitfpu.h $(srcdir)/stypes.h \
321        $(srcdir)/lightning/i386/core.h $(srcdir)/lightning/i386/core-common.h \
322        $(srcdir)/lightning/i386/asm.h $(srcdir)/lightning/i386/asm-common.h \
323        $(srcdir)/lightning/i386/funcs.h $(srcdir)/lightning/i386/funcs-common.h \
324        $(srcdir)/lightning/i386/fp.h $(srcdir)/lightning/i386/fp-sse.h \
325	$(srcdir)/lightning/i386/fp-common.h $(srcdir)/lightning/i386/fp-extfpu.h \
326        $(srcdir)/lightning/ppc/core.h $(srcdir)/lightning/ppc/core-common.h \
327        $(srcdir)/lightning/ppc/asm.h $(srcdir)/lightning/ppc/asm-common.h \
328        $(srcdir)/lightning/ppc/funcs.h $(srcdir)/lightning/ppc/funcs-common.h \
329        $(srcdir)/lightning/ppc/fp.h $(srcdir)/lightning/ppc/fp-common.h \
330        $(srcdir)/lightning/arm/core.h $(srcdir)/lightning/arm/core-common.h \
331        $(srcdir)/lightning/arm/asm.h $(srcdir)/lightning/arm/asm-common.h \
332        $(srcdir)/lightning/arm/funcs.h $(srcdir)/lightning/arm/funcs-common.h \
333        $(srcdir)/lightning/arm/fp.h $(srcdir)/lightning/arm/fp-common.h \
334        $(srcdir)/lightning/arm/fp-vfp.h $(srcdir)/lightning/arm/fp-swf.h \
335        $(srcdir)/future.h $(srcdir)/jit_ts.c $(srcdir)/jit_ts_protos.h
336
337salloc.@LTO@: $(COMMON_HEADERS) $(RKTIOHEADERS) $(srcdir)/mzmark_salloc.inc
338bignum.@LTO@: $(COMMON_HEADERS) \
339          $(srcdir)/stypes.h
340bool.@LTO@: $(COMMON_HEADERS) \
341          $(srcdir)/stypes.h $(srcdir)/mzeqchk.inc
342char.@LTO@: $(COMMON_HEADERS) \
343        $(srcdir)/stypes.h  $(srcdir)/schuchar.inc
344compenv.@LTO@: $(COMMON_HEADERS)  \
345         $(srcdir)/stypes.h $(srcdir)/mzmark_compenv.inc
346compile.@LTO@: $(COMMON_HEADERS)  \
347         $(srcdir)/stypes.h  $(srcdir)/mzmark_compile.inc
348complex.@LTO@: $(COMMON_HEADERS)  \
349         $(srcdir)/stypes.h
350dynext.@LTO@: $(COMMON_HEADERS)  \
351         $(srcdir)/stypes.h $(srcdir)/schemef.h \
352         $(srcdir)/../../version/racket_version.h
353env.@LTO@: $(COMMON_HEADERS) \
354        $(srcdir)/stypes.h  $(srcdir)/schminc.h $(srcdir)/mzmark_env.inc
355error.@LTO@: $(COMMON_HEADERS) \
356        $(srcdir)/stypes.h
357eval.@LTO@: $(COMMON_HEADERS) \
358        $(srcdir)/stypes.h $(srcdir)/mzmark_eval.inc \
359        $(srcdir)/schmach.h $(srcdir)/mzstkchk.h $(srcdir)/schrunst.h \
360        $(srcdir)/future.h
361file.@LTO@: $(COMMON_HEADERS) $(RKTIOHEADERS) \
362        $(srcdir)/stypes.h
363fun.@LTO@: $(COMMON_HEADERS) $(RKTIOHEADERS) \
364        $(srcdir)/stypes.h $(srcdir)/mzmark_fun.inc $(srcdir)/schmap.inc \
365        $(srcdir)/future.h
366future.@LTO@: $(COMMON_HEADERS) $(srcdir)/future.h $(SCONFIG) \
367        $(srcdir)/stypes.h $(srcdir)/mzmark_future.inc \
368        $(srcdir)/jit_ts_future_glue.c $(srcdir)/jit_ts_runtime_glue.c $(srcdir)/jit_ts_protos.h
369hash.@LTO@: $(COMMON_HEADERS) \
370        $(srcdir)/stypes.h $(srcdir)/mzmark_hash.inc
371jit.@LTO@: $(COMMON_HEADERS) $(JIT_HEADERS)  $(srcdir)/mzmark_jit.inc
372jitalloc.@LTO@: $(COMMON_HEADERS) $(JIT_HEADERS)
373jitarith.@LTO@: $(COMMON_HEADERS) $(JIT_HEADERS)
374jitcall.@LTO@: $(COMMON_HEADERS) $(JIT_HEADERS)
375jitcommon.@LTO@: $(COMMON_HEADERS) $(JIT_HEADERS)
376jitinline.@LTO@: $(COMMON_HEADERS) $(JIT_HEADERS)
377jitprep.@LTO@: $(COMMON_HEADERS) \
378        $(srcdir)/stypes.h
379jitstack.@LTO@: $(COMMON_HEADERS) $(JIT_HEADERS) $(srcdir)/codetab.inc \
380        $(srcdir)/unwind/libunwind.h
381jitstate.@LTO@: $(COMMON_HEADERS) $(JIT_HEADERS)
382letrec_check.@LTO@: $(COMMON_HEADERS) \
383        $(srcdir)/stypes.h
384linklet.@LTO@: $(COMMON_HEADERS) \
385        $(srcdir)/stypes.h
386list.@LTO@: $(COMMON_HEADERS) \
387        $(srcdir)/stypes.h
388marshal.@LTO@: $(COMMON_HEADERS) \
389        $(srcdir)/stypes.h
390mzrt.@LTO@: $(COMMON_HEADERS)
391network.@LTO@: $(COMMON_HEADERS) $(RKTIO_HEADERS) \
392        $(srcdir)/stypes.h $(srcdir)/mzmark_network.inc
393numarith.@LTO@: $(COMMON_HEADERS) \
394         $(srcdir)/stypes.h $(srcdir)/nummacs.h
395number.@LTO@: $(COMMON_HEADERS) \
396         $(srcdir)/stypes.h $(srcdir)/nummacs.h \
397         $(srcdir)/longdouble/longdouble.c
398numcomp.@LTO@: $(COMMON_HEADERS) \
399         $(srcdir)/stypes.h $(srcdir)/nummacs.h
400numstr.@LTO@: $(COMMON_HEADERS) \
401         $(srcdir)/stypes.h  $(srcdir)/random.inc $(srcdir)/newrandom.inc
402optimize.@LTO@: $(COMMON_HEADERS) \
403         $(srcdir)/stypes.h $(srcdir)/mzmark_optimize.inc
404place.@LTO@: $(COMMON_HEADERS) $(RKTIO_HEADERS) \
405        $(srcdir)/stypes.h $(srcdir)/mzmark_place.inc
406port.@LTO@: $(COMMON_HEADERS) $(RKTIO_HEADERS) \
407        $(srcdir)/stypes.h $(srcdir)/mzmark_port.inc
408portfun.@LTO@: $(COMMON_HEADERS) $(RKTIO_HEADERS) $(srcdir)/../../version/racket_version.h \
409        $(srcdir)/stypes.h $(srcdir)/mzmark_portfun.inc
410print.@LTO@: $(COMMON_HEADERS) $(srcdir)/stypes.h $(srcdir)/schcpt.h \
411          $(srcdir)/../../version/racket_version.h $(SCONFIG) $(srcdir)/mzmark_print.inc \
412          $(srcdir)/print_vector.inc
413thread.@LTO@: $(COMMON_HEADERS) $(RKTIO_HEADERS) \
414         $(srcdir)/stypes.h $(srcdir)/mzmark_thread.inc
415rational.@LTO@: $(COMMON_HEADERS) \
416         $(srcdir)/stypes.h
417read.@LTO@: $(COMMON_HEADERS) \
418        $(srcdir)/schcpt.h $(srcdir)/../../version/racket_version.h $(srcdir)/schminc.h \
419        $(srcdir)/stypes.h $(srcdir)/mzmark_read.inc
420regexp.@LTO@:  $(COMMON_HEADERS) \
421        $(srcdir)/stypes.h $(srcdir)/mzmark_regexp.inc $(srcdir)/schrx.h
422resolve.@LTO@:  $(COMMON_HEADERS) \
423        $(srcdir)/stypes.h $(srcdir)/mzmark_resolve.inc
424setjmpup.@LTO@: $(COMMON_HEADERS) \
425         $(srcdir)/stypes.h   $(srcdir)/schmach.h
426sfs.@LTO@: $(COMMON_HEADERS) \
427         $(srcdir)/stypes.h $(srcdir)/mzmark_sfs.inc
428sort.@LTO@: $(COMMON_HEADERS) \
429         $(srcdir)/stypes.h
430startup.@LTO@: $(COMMON_HEADERS) $(srcdir)/../../version/racket_version.h \
431         $(srcdir)/stypes.h  $(srcdir)/schminc.h $(srcdir)/startup.inc ../cstartup.inc \
432         $(srcdir)/startup-glue.inc
433string.@LTO@: $(COMMON_HEADERS) $(RKTIO_HEADERS) \
434         $(srcdir)/stypes.h    $(srcdir)/../../version/racket_version.h $(srcdir)/mzmark_string.inc $(srcdir)/strops.inc \
435         $(srcdir)/schustr.inc $(srcdir)/systype.inc
436struct.@LTO@: $(COMMON_HEADERS) \
437         $(srcdir)/stypes.h $(srcdir)/mzmark_struct.inc
438syntax.@LTO@: $(COMMON_HEADERS) \
439         $(srcdir)/stypes.h $(srcdir)/mzmark_syntax.inc
440symbol.@LTO@: $(COMMON_HEADERS) \
441         $(srcdir)/stypes.h
442sema.@LTO@: $(COMMON_HEADERS) \
443         $(srcdir)/stypes.h $(srcdir)/mzmark_sema.inc
444type.@LTO@: $(COMMON_HEADERS) \
445        $(srcdir)/stypes.h $(srcdir)/mzmark_type.inc
446vector.@LTO@: $(COMMON_HEADERS) \
447         $(srcdir)/stypes.h
448validate.@LTO@: $(COMMON_HEADERS) \
449         $(srcdir)/stypes.h $(srcdir)/mzmark_validate.inc
450
451# If "cstartup.inc" hasn't been built, yet, create it as
452# a redirect to "startup.inc"
453../cstartup.inc:
454	echo '#include "startup.inc"' > ../cstartup.inc
455