We have to use gnu as because the optimization level can change the code
[cacao.git] / src / boehm-gc / digimars.mak
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