51488
|
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
|