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
6DEFINES=-DNDEBUG -DGC_BUILD -D_WINDOWS -DGC_DLL -DALL_INTERIOR_POINTERS -D__STDC__ -DWIN32_THREADS
7CFLAGS=-Iinclude $(DEFINES) -wx -g
8LFLAGS=/ma/implib/co
9CC=sc
10
11.c.obj:
12	$(CC) -c $(CFLAGS) $*
13
14.cpp.obj:
15	$(CC) -c $(CFLAGS) -Aa $*
16
17OBJS=	\
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
42targets: gc.dll gc.lib gctest.exe
43
44gc.dll: $(OBJS) gc.def digimars.mak
45	sc -ogc.dll $(OBJS) -L$(LFLAGS) gc.def 	kernel32.lib user32.lib
46
47gc.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
55clean:
56	del gc.def
57	del $(OBJS)
58
59
60gctest.exe : gc.lib tests\test.obj
61	sc -ogctest.exe tests\test.obj gc.lib
62
63tests\test.obj : tests\test.c
64	$(CC) -c -g -DNDEBUG -DGC_BUILD -D_WINDOWS -DGC_DLL \
65	-DALL_INTERIOR_POINTERS -DWIN32_THREADS \
66	-Iinclude tests\test.c -otests\test.obj
67
68allchblk.obj: allchblk.c
69alloc.obj: alloc.c
70blacklst.obj: blacklst.c
71checksums.obj: checksums.c
72dbg_mlc.obj: dbg_mlc.c
73dyn_load.obj: dyn_load.c
74finalize.obj: finalize.c
75gc_cpp.obj: gc_cpp.cpp
76headers.obj: headers.c
77mach_dep.obj: mach_dep.c
78malloc.obj: malloc.c
79mallocx.obj: mallocx.c
80mark.obj: mark.c
81mark_rts.obj: mark_rts.c
82misc.obj: misc.c
83new_hblk.obj: new_hblk.c
84obj_map.obj: obj_map.c
85os_dep.obj: os_dep.c
86ptr_chck.obj: ptr_chck.c
87reclaim.obj: reclaim.c
88stubborn.obj: stubborn.c
89typd_mlc.obj: typd_mlc.c
90win32_threads.obj: win32_threads.c
91