1
by Ryan Murray
Import upstream version 6.0+6.1alpha4 |
1 |
# Makefile to build Hans Boehm garbage collector using the Digital Mars
|
2 |
# compiler from www.digitalmars.com
|
|
3 |
# Written by Walter Bright
|
|
4 |
||
5 |
||
6 |
DEFINES=-DNDEBUG -DSILENT -DGC_BUILD -D_WINDOWS -DGC_DLL -DALL_INTERIOR_POINTERS -D__STDC__ -DWIN32_THREADS |
|
7 |
CFLAGS=-Iinclude $(DEFINES) -wx -g |
|
8 |
LFLAGS=/ma/implib/co |
|
9 |
CC=sc |
|
10 |
||
11 |
.c.obj: |
|
12 |
$(CC) -c $(CFLAGS) $* |
|
13 |
||
14 |
.cpp.obj: |
|
15 |
$(CC) -c $(CFLAGS) -Aa $* |
|
16 |
||
17 |
OBJS= \ |
|
18 |
allchblk.obj\
|
|
19 |
alloc.obj\
|
|
20 |
blacklst.obj\
|
|
21 |
checksums.obj\
|
|
22 |
dbg_mlc.obj\
|
|
23 |
dyn_load.obj\
|
|
24 |
finalize.obj\
|
|
25 |
gc_cpp.obj\
|
|
26 |
headers.obj\
|
|
27 |
mach_dep.obj\
|
|
28 |
malloc.obj\
|
|
29 |
mallocx.obj\
|
|
30 |
mark.obj\
|
|
31 |
mark_rts.obj\
|
|
32 |
misc.obj\
|
|
33 |
new_hblk.obj\
|
|
34 |
obj_map.obj\
|
|
35 |
os_dep.obj\
|
|
36 |
ptr_chck.obj\
|
|
37 |
reclaim.obj\
|
|
38 |
stubborn.obj\
|
|
39 |
typd_mlc.obj\
|
|
40 |
win32_threads.obj |
|
41 |
||
42 |
targets: gc.dll gc.lib gctest.exe |
|
43 |
||
44 |
gc.dll: $(OBJS) gc.def digimars.mak |
|
45 |
sc -ogc.dll $(OBJS) -L$(LFLAGS) gc.def kernel32.lib user32.lib |
|
46 |
||
47 |
gc.def: digimars.mak |
|
48 |
echo LIBRARY GC >gc.def
|
|
49 |
echo DESCRIPTION "Hans Boehm Garbage Collector" >>gc.def |
|
50 |
echo EXETYPE NT >>gc.def
|
|
51 |
echo EXPORTS >>gc.def
|
|
52 |
echo GC_is_visible_print_proc >>gc.def
|
|
53 |
echo GC_is_valid_displacement_print_proc >>gc.def
|
|
54 |
||
55 |
clean: |
|
56 |
del gc.def |
|
57 |
del $(OBJS) |
|
58 |
||
59 |
||
60 |
gctest.exe : gc.lib tests\test.obj |
|
61 |
sc -ogctest.exe tests\test.obj gc.lib
|
|
62 |
||
63 |
tests\test.obj : tests\test.c |
|
64 |
$(CC) -c -g -DNDEBUG -DSILENT -DGC_BUILD -D_WINDOWS -DGC_DLL \ |
|
65 |
-DALL_INTERIOR_POINTERS -DWIN32_THREADS \
|
|
66 |
-Iinclude tests\test.c -otests\test.obj |
|
67 |
||
68 |
allchblk.obj: allchblk.c |
|
69 |
alloc.obj: alloc.c |
|
70 |
blacklst.obj: blacklst.c |
|
71 |
checksums.obj: checksums.c |
|
72 |
dbg_mlc.obj: dbg_mlc.c |
|
73 |
dyn_load.obj: dyn_load.c |
|
74 |
finalize.obj: finalize.c |
|
75 |
gc_cpp.obj: gc_cpp.cpp |
|
76 |
headers.obj: headers.c |
|
77 |
mach_dep.obj: mach_dep.c |
|
78 |
malloc.obj: malloc.c |
|
79 |
mallocx.obj: mallocx.c |
|
80 |
mark.obj: mark.c |
|
81 |
mark_rts.obj: mark_rts.c |
|
82 |
misc.obj: misc.c |
|
83 |
new_hblk.obj: new_hblk.c |
|
84 |
obj_map.obj: obj_map.c |
|
85 |
os_dep.obj: os_dep.c |
|
86 |
ptr_chck.obj: ptr_chck.c |
|
87 |
reclaim.obj: reclaim.c |
|
88 |
stubborn.obj: stubborn.c |
|
89 |
typd_mlc.obj: typd_mlc.c |
|
90 |
win32_threads.obj: win32_threads.c |