1 # Makefile to build Hans Boehm garbage collector using the Digital Mars
\r
2 # compiler from www.digitalmars.com
\r
3 # Written by Walter Bright
\r
5 DEFINES=-D_WINDOWS -DGC_DLL -DGC_THREADS -DGC_DISCOVER_TASK_THREADS -DALL_INTERIOR_POINTERS -DENABLE_DISCLAIM -DGC_ATOMIC_UNCOLLECTABLE -DGC_GCJ_SUPPORT -DJAVA_FINALIZATION -DNO_EXECUTE_PERMISSION -DUSE_MUNMAP
\r
6 CFLAGS=-Iinclude -Ilibatomic_ops\src $(DEFINES) -wx -g
\r
11 $(CC) -c $(CFLAGS) $*
\r
14 $(CC) -c $(CFLAGS) -Aa $*
\r
42 targets: gc.dll gc.lib
\r
44 check: gctest.exe test_cpp.exe
\r
50 gc.dll: $(OBJS) gc.def digimars.mak
\r
51 $(CC) -ogc.dll $(OBJS) -L$(LFLAGS) gc.def kernel32.lib user32.lib
\r
53 gc.def: digimars.mak
\r
54 echo LIBRARY GC >gc.def
\r
55 echo DESCRIPTION "Boehm-Demers-Weiser Garbage Collector" >>gc.def
\r
56 echo EXETYPE NT >>gc.def
\r
57 echo EXPORTS >>gc.def
\r
58 echo GC_is_visible_print_proc >>gc.def
\r
59 echo GC_is_valid_displacement_print_proc >>gc.def
\r
62 del *.log gc.def gc.dll gc.lib gc.map gctest.map test_cpp.map
\r
63 del tests\test.obj gctest.exe tests\test_cpp.obj test_cpp.exe
\r
66 gctest.exe: gc.lib tests\test.obj
\r
67 $(CC) -ogctest.exe tests\test.obj gc.lib
\r
69 tests\test.obj: tests\test.c
\r
70 $(CC) -c $(CFLAGS) tests\test.c -otests\test.obj
\r
72 test_cpp.exe: gc.lib tests\test_cpp.obj
\r
73 $(CC) -otest_cpp.exe tests\test_cpp.obj gc.lib
\r
75 tests\test_cpp.obj: tests\test_cpp.cc
\r
76 $(CC) -c $(CFLAGS) -cpp tests\test_cpp.cc -otests\test_cpp.obj
\r
78 allchblk.obj: allchblk.c
\r
80 blacklst.obj: blacklst.c
\r
81 checksums.obj: checksums.c
\r
82 dbg_mlc.obj: dbg_mlc.c
\r
83 dyn_load.obj: dyn_load.c
\r
84 finalize.obj: finalize.c
\r
85 fnlz_mlc.obj: fnlz_mlc.c
\r
86 gc_cpp.obj: gc_cpp.cc gc_cpp.cpp
\r
87 headers.obj: headers.c
\r
88 mach_dep.obj: mach_dep.c
\r
89 malloc.obj: malloc.c
\r
90 mallocx.obj: mallocx.c
\r
92 mark_rts.obj: mark_rts.c
\r
94 new_hblk.obj: new_hblk.c
\r
95 obj_map.obj: obj_map.c
\r
96 os_dep.obj: os_dep.c
\r
97 ptr_chck.obj: ptr_chck.c
\r
98 reclaim.obj: reclaim.c
\r
99 typd_mlc.obj: typd_mlc.c
\r
100 win32_threads.obj: win32_threads.c
\r