]>
Commit | Line | Data |
---|---|---|
7c673cae FG |
1 | |
2 | # Rewritten smakefile for amiga / sas/c. -Kjetil M. | |
3 | # Dont use the cord-package if you define parm=both or parm=reg. | |
4 | ||
5 | ||
6 | #----------------TOOLS-------------------------------- | |
7 | CC=sc | |
8 | LINKER=slink | |
9 | LIBER=oml | |
10 | ||
11 | #----------------CPU OPTIONS-------------------------- | |
12 | ||
13 | CPU=68060 | |
14 | ||
15 | #----------------FPU OPTIONS-------------------------- | |
16 | ||
17 | MATH=8 | |
18 | MATHLIB=LIB:scm881.lib | |
19 | ||
20 | #----------------COMPILER OPTIONS--------------------- | |
21 | ||
22 | IGNORE= IGNORE=85 IGNORE=154 IGNORE=161 IGNORE=100 | |
23 | ||
24 | OPTIMIZE=optimize optimizetime optglobal optimizerdepth=100 optimizerpeephole optloop OPTSCHED optimizerinlocal optimizerrecurdepth=100 | |
25 | # optimizerinline optimizercomplexity=100 | |
26 | ||
27 | OPT= $(OPTIMIZE) CPU=$(CPU) math=$(MATH) NOSTACKCHECK VERBOSE \ | |
28 | MAPHUNK NOVERSION NOICONS nodebug \ | |
29 | parm=reg \ | |
30 | DEFINE __USE_SYSBASE | |
31 | ||
32 | ||
33 | SOPT= $(OPT) $(IGNORE) \ | |
34 | DEFINE AMIGA_SKIP_SEG \ | |
35 | DEFINE ATOMIC_UNCOLLECTABLE \ | |
36 | DEFINE GC_AMIGA_FASTALLOC \ | |
37 | DEFINE GC_AMIGA_RETRY \ | |
38 | DEFINE GC_AMIGA_PRINTSTATS \ | |
39 | DEFINE GC_AMIGA_GC | |
40 | ||
41 | ||
42 | #DEFINE ALL_INTERIOR_POINTERS \ | |
43 | ||
44 | ||
45 | SCOPT= $(SOPT) define GC_AMIGA_MAKINGLIB | |
46 | ||
47 | CSCOPT= $(OPT) DEFINE AMIGA IGNORE=100 IGNORE=161 | |
48 | ||
49 | #------------------LINKING---------------------------- | |
50 | ||
51 | ||
52 | all: gctest setjmp_t cord/cordtest | |
53 | ||
54 | clean: | |
55 | delete *.lib gctest setjmp_t *.o *.lnk cord/*.o cord/*.lib cord/*.lnk cord/cordtest | |
56 | smake | |
57 | ||
58 | test: setjmp_t gctest cord/cordtest | |
59 | setjmp_t | |
60 | gctest | |
61 | cord/cordtest | |
62 | ||
63 | gctest: gc$(CPU).lib GCAmigaOS$(CPU).lib test.o | |
64 | $(LINKER) LIB:c.o test.o TO gctest LIB gc$(CPU).lib LIB:sc.lib $(MATHLIB) | |
65 | ||
66 | setjmp_t: setjmp_t.o gc.h | |
67 | $(LINKER) LIB:c.o setjmp_t.o to setjmp_t lib LIB:sc.lib | |
68 | ||
69 | cord/cordtest: cord/cordtest.o cord/cord$(CPU).lib gc$(CPU).lib | |
70 | slink LIB:c.o cord/cordtest.o LIB $(MATHLIB) gc$(CPU).lib cord/cord$(CPU).lib LIB:sc.lib TO cord/cordtest | |
71 | ||
72 | ||
73 | #------------------LIBBING---------------------------- | |
74 | ||
75 | OBJS= alloc.o reclaim.o allchblk.o misc.o mach_dep.o os_dep.o mark_rts.o headers.o mark.o obj_map.o blacklst.o finalize.o new_hblk.o real_malloc.o dyn_load.o dbg_mlc.o malloc.o stubborn.o checksums.o typd_mlc.o ptr_chck.o mallocx.o | |
76 | ||
77 | gc$(CPU).lib: $(OBJS) | |
78 | $(LIBER) gc$(CPU).lib r $(OBJS) | |
79 | ||
80 | ||
81 | COBJS = cord/cordbscs.o cord/cordprnt.o cord/cordxtra.o | |
82 | ||
83 | cord/cord$(CPU).lib: $(COBJS) | |
84 | oml cord/cord$(CPU).lib r $(COBJS) | |
85 | ||
86 | #------------------COMPILING-------------------------- | |
87 | ||
88 | INC= gc_private.h gc_hdrs.h gc.h gcconfig.h | |
89 | ||
90 | alloc.o : alloc.c $(INC) | |
91 | $(CC) alloc.c $(SCOPT) ignore=7 | |
92 | ||
93 | reclaim.o : reclaim.c $(INC) | |
94 | $(CC) reclaim.c $(SCOPT) | |
95 | ||
96 | allchblk.o : allchblk.c $(INC) | |
97 | $(CC) allchblk.c $(SCOPT) | |
98 | ||
99 | misc.o : misc.c $(INC) | |
100 | $(CC) misc.c $(SCOPT) | |
101 | ||
102 | os_dep.o : os_dep.c $(INC) AmigaOS.c | |
103 | $(CC) os_dep.c $(SCOPT) | |
104 | ||
105 | mark_rts.o : mark_rts.c $(INC) | |
106 | $(CC) mark_rts.c $(SCOPT) | |
107 | ||
108 | headers.o : headers.c $(INC) | |
109 | $(CC) headers.c $(SCOPT) | |
110 | ||
111 | mark.o : mark.c $(INC) | |
112 | $(CC) mark.c $(SCOPT) | |
113 | ||
114 | obj_map.o : obj_map.c $(INC) | |
115 | $(CC) obj_map.c $(SCOPT) | |
116 | ||
117 | blacklst.o : blacklst.c $(INC) | |
118 | $(CC) blacklst.c $(SCOPT) | |
119 | ||
120 | finalize.o : finalize.c $(INC) | |
121 | $(CC) finalize.c $(SCOPT) noopt #Could sas/c still have problems with this one? Gctest sometimes fails to finalize all. | |
122 | ||
123 | new_hblk.o : new_hblk.c $(INC) | |
124 | $(CC) new_hblk.c $(SCOPT) | |
125 | ||
126 | real_malloc.o : real_malloc.c $(INC) | |
127 | $(CC) real_malloc.c $(SCOPT) | |
128 | ||
129 | dyn_load.o : dyn_load.c $(INC) | |
130 | $(CC) dyn_load.c $(SCOPT) | |
131 | ||
132 | dbg_mlc.o : dbg_mlc.c $(INC) | |
133 | $(CC) dbg_mlc.c $(SCOPT) | |
134 | ||
135 | malloc.o : malloc.c $(INC) | |
136 | $(CC) malloc.c $(SCOPT) | |
137 | ||
138 | mallocx.o : mallocx.c $(INC) | |
139 | $(CC) mallocx.c $(SCOPT) | |
140 | ||
141 | stubborn.o : stubborn.c $(INC) | |
142 | $(CC) stubborn.c $(SCOPT) | |
143 | ||
144 | checksums.o : checksums.c $(INC) | |
145 | $(CC) checksums.c $(SCOPT) | |
146 | ||
147 | typd_mlc.o: typd_mlc.c $(INC) | |
148 | $(CC) typd_mlc.c $(SCOPT) | |
149 | ||
150 | mach_dep.o : mach_dep.c $(INC) | |
151 | $(CC) mach_dep.c $(SCOPT) | |
152 | ||
153 | ptr_chck.o: ptr_chck.c $(INC) | |
154 | $(CC) ptr_chck.c $(SCOPT) | |
155 | ||
156 | test.o : test.c $(INC) | |
157 | $(CC) test.c $(SOPT) | |
158 | ||
159 | setjmp_t: setjmp_t.c gc.h | |
160 | $(CC) setjmp_t.c $(SOPT) | |
161 | ||
162 | ||
163 | # cords: | |
164 | ||
165 | cord/cordbscs.o: cord/cordbscs.c | |
166 | sc cord/cordbscs.c $(CSCOPT) | |
167 | ||
168 | cord/cordprnt.o: cord/cordprnt.c | |
169 | sc cord/cordprnt.c $(CSCOPT) | |
170 | ||
171 | cord/cordxtra.o: cord/cordxtra.c | |
172 | sc cord/cordxtra.c $(CSCOPT) | |
173 | ||
174 | cord/cordtest.o: cord/cordtest.c | |
175 | sc cord/cordtest.c $(CSCOPT) | |
176 | ||
177 |