]>
Commit | Line | Data |
---|---|---|
73ffefd0 | 1 | |
9110a741 BM |
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 | DEFINE SILENT \ | |
30 | parm=reg \ | |
31 | DEFINE __USE_SYSBASE | |
32 | ||
33 | ||
34 | SOPT= $(OPT) $(IGNORE) \ | |
35 | DEFINE AMIGA_SKIP_SEG \ | |
36 | DEFINE ATOMIC_UNCOLLECTABLE \ | |
37 | DEFINE GC_AMIGA_FASTALLOC \ | |
38 | DEFINE GC_AMIGA_RETRY \ | |
39 | DEFINE GC_AMIGA_PRINTSTATS \ | |
40 | DEFINE GC_AMIGA_GC | |
41 | ||
42 | ||
43 | #DEFINE ALL_INTERIOR_POINTERS \ | |
44 | ||
45 | ||
46 | SCOPT= $(SOPT) define GC_AMIGA_MAKINGLIB | |
47 | ||
48 | CSCOPT= $(OPT) DEFINE AMIGA IGNORE=100 IGNORE=161 | |
49 | ||
50 | #------------------LINKING---------------------------- | |
51 | ||
52 | ||
53 | all: gctest setjmp_t cord/cordtest | |
54 | ||
55 | clean: | |
56 | delete *.lib gctest setjmp_t *.o *.lnk cord/*.o cord/*.lib cord/*.lnk cord/cordtest | |
57 | smake | |
58 | ||
59 | test: setjmp_t gctest cord/cordtest | |
60 | setjmp_t | |
61 | gctest | |
62 | cord/cordtest | |
63 | ||
64 | gctest: gc$(CPU).lib GCAmigaOS$(CPU).lib test.o | |
65 | $(LINKER) LIB:c.o test.o TO gctest LIB gc$(CPU).lib LIB:sc.lib $(MATHLIB) | |
66 | ||
67 | setjmp_t: setjmp_t.o gc.h | |
68 | $(LINKER) LIB:c.o setjmp_t.o to setjmp_t lib LIB:sc.lib | |
69 | ||
70 | cord/cordtest: cord/cordtest.o cord/cord$(CPU).lib gc$(CPU).lib | |
71 | slink LIB:c.o cord/cordtest.o LIB $(MATHLIB) gc$(CPU).lib cord/cord$(CPU).lib LIB:sc.lib TO cord/cordtest | |
72 | ||
73 | ||
74 | #------------------LIBBING---------------------------- | |
75 | ||
76 | 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 | |
77 | ||
78 | gc$(CPU).lib: $(OBJS) | |
79 | $(LIBER) gc$(CPU).lib r $(OBJS) | |
80 | ||
81 | ||
82 | COBJS = cord/cordbscs.o cord/cordprnt.o cord/cordxtra.o | |
73ffefd0 | 83 | |
9110a741 BM |
84 | cord/cord$(CPU).lib: $(COBJS) |
85 | oml cord/cord$(CPU).lib r $(COBJS) | |
86 | ||
87 | #------------------COMPILING-------------------------- | |
88 | ||
89 | INC= gc_private.h gc_hdrs.h gc.h gcconfig.h | |
73ffefd0 TT |
90 | |
91 | alloc.o : alloc.c $(INC) | |
9110a741 BM |
92 | $(CC) alloc.c $(SCOPT) ignore=7 |
93 | ||
73ffefd0 | 94 | reclaim.o : reclaim.c $(INC) |
9110a741 BM |
95 | $(CC) reclaim.c $(SCOPT) |
96 | ||
73ffefd0 | 97 | allchblk.o : allchblk.c $(INC) |
9110a741 BM |
98 | $(CC) allchblk.c $(SCOPT) |
99 | ||
73ffefd0 | 100 | misc.o : misc.c $(INC) |
9110a741 BM |
101 | $(CC) misc.c $(SCOPT) |
102 | ||
103 | os_dep.o : os_dep.c $(INC) AmigaOS.c | |
104 | $(CC) os_dep.c $(SCOPT) | |
105 | ||
73ffefd0 | 106 | mark_rts.o : mark_rts.c $(INC) |
9110a741 BM |
107 | $(CC) mark_rts.c $(SCOPT) |
108 | ||
73ffefd0 | 109 | headers.o : headers.c $(INC) |
9110a741 BM |
110 | $(CC) headers.c $(SCOPT) |
111 | ||
73ffefd0 | 112 | mark.o : mark.c $(INC) |
9110a741 BM |
113 | $(CC) mark.c $(SCOPT) |
114 | ||
73ffefd0 | 115 | obj_map.o : obj_map.c $(INC) |
9110a741 BM |
116 | $(CC) obj_map.c $(SCOPT) |
117 | ||
73ffefd0 | 118 | blacklst.o : blacklst.c $(INC) |
9110a741 BM |
119 | $(CC) blacklst.c $(SCOPT) |
120 | ||
73ffefd0 | 121 | finalize.o : finalize.c $(INC) |
9110a741 BM |
122 | $(CC) finalize.c $(SCOPT) noopt #Could sas/c still have problems with this one? Gctest sometimes fails to finalize all. |
123 | ||
73ffefd0 | 124 | new_hblk.o : new_hblk.c $(INC) |
9110a741 BM |
125 | $(CC) new_hblk.c $(SCOPT) |
126 | ||
73ffefd0 | 127 | real_malloc.o : real_malloc.c $(INC) |
9110a741 BM |
128 | $(CC) real_malloc.c $(SCOPT) |
129 | ||
73ffefd0 | 130 | dyn_load.o : dyn_load.c $(INC) |
9110a741 BM |
131 | $(CC) dyn_load.c $(SCOPT) |
132 | ||
73ffefd0 | 133 | dbg_mlc.o : dbg_mlc.c $(INC) |
9110a741 BM |
134 | $(CC) dbg_mlc.c $(SCOPT) |
135 | ||
73ffefd0 | 136 | malloc.o : malloc.c $(INC) |
9110a741 BM |
137 | $(CC) malloc.c $(SCOPT) |
138 | ||
139 | mallocx.o : mallocx.c $(INC) | |
140 | $(CC) mallocx.c $(SCOPT) | |
141 | ||
73ffefd0 | 142 | stubborn.o : stubborn.c $(INC) |
9110a741 BM |
143 | $(CC) stubborn.c $(SCOPT) |
144 | ||
73ffefd0 | 145 | checksums.o : checksums.c $(INC) |
9110a741 BM |
146 | $(CC) checksums.c $(SCOPT) |
147 | ||
73ffefd0 | 148 | typd_mlc.o: typd_mlc.c $(INC) |
9110a741 BM |
149 | $(CC) typd_mlc.c $(SCOPT) |
150 | ||
73ffefd0 | 151 | mach_dep.o : mach_dep.c $(INC) |
9110a741 BM |
152 | $(CC) mach_dep.c $(SCOPT) |
153 | ||
73ffefd0 | 154 | ptr_chck.o: ptr_chck.c $(INC) |
9110a741 BM |
155 | $(CC) ptr_chck.c $(SCOPT) |
156 | ||
73ffefd0 | 157 | test.o : test.c $(INC) |
9110a741 | 158 | $(CC) test.c $(SOPT) |
73ffefd0 | 159 | |
9110a741 BM |
160 | setjmp_t: setjmp_t.c gc.h |
161 | $(CC) setjmp_t.c $(SOPT) | |
73ffefd0 | 162 | |
73ffefd0 | 163 | |
9110a741 BM |
164 | # cords: |
165 | ||
166 | cord/cordbscs.o: cord/cordbscs.c | |
167 | sc cord/cordbscs.c $(CSCOPT) | |
168 | ||
169 | cord/cordprnt.o: cord/cordprnt.c | |
170 | sc cord/cordprnt.c $(CSCOPT) | |
171 | ||
172 | cord/cordxtra.o: cord/cordxtra.c | |
173 | sc cord/cordxtra.c $(CSCOPT) | |
174 | ||
175 | cord/cordtest.o: cord/cordtest.c | |
176 | sc cord/cordtest.c $(CSCOPT) | |
73ffefd0 | 177 | |
73ffefd0 | 178 |