Workaround 'NULL==*flh is always true' cppcheck style warning in allocobj
[platform/upstream/libgc.git] / digimars.mak
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
4 \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
7 LFLAGS=/ma/implib/co\r
8 CC=sc\r
9 \r
10 .c.obj:\r
11         $(CC) -c $(CFLAGS) $*\r
12 \r
13 .cpp.obj:\r
14         $(CC) -c $(CFLAGS) -Aa $*\r
15 \r
16 OBJS=   \\r
17         allchblk.obj\\r
18         alloc.obj\\r
19         blacklst.obj\\r
20         checksums.obj\\r
21         dbg_mlc.obj\\r
22         fnlz_mlc.obj\\r
23         dyn_load.obj\\r
24         finalize.obj\\r
25         gc_badalc.obj\\r
26         gc_cpp.obj\\r
27         gcj_mlc.obj\\r
28         headers.obj\\r
29         mach_dep.obj\\r
30         malloc.obj\\r
31         mallocx.obj\\r
32         mark.obj\\r
33         mark_rts.obj\\r
34         misc.obj\\r
35         new_hblk.obj\\r
36         obj_map.obj\\r
37         os_dep.obj\\r
38         ptr_chck.obj\\r
39         reclaim.obj\\r
40         typd_mlc.obj\\r
41         win32_threads.obj\r
42 \r
43 targets: gc.dll gc.lib\r
44 \r
45 check: gctest.exe test_cpp.exe\r
46         gctest.exe\r
47         test_cpp.exe\r
48 \r
49 gc.lib: gc.dll\r
50 \r
51 gc.dll: $(OBJS) gc.def digimars.mak\r
52         $(CC) -ogc.dll $(OBJS) -L$(LFLAGS) gc.def kernel32.lib user32.lib\r
53 \r
54 gc.def: digimars.mak\r
55         echo LIBRARY GC >gc.def\r
56         echo DESCRIPTION "Boehm-Demers-Weiser Garbage Collector" >>gc.def\r
57         echo EXETYPE NT >>gc.def\r
58         echo EXPORTS >>gc.def\r
59         echo GC_is_visible_print_proc >>gc.def\r
60         echo GC_is_valid_displacement_print_proc >>gc.def\r
61 \r
62 clean:\r
63         del *.log gc.def gc.dll gc.lib gc.map gctest.map test_cpp.map\r
64         del tests\test.obj gctest.exe tests\test_cpp.obj test_cpp.exe\r
65         del $(OBJS)\r
66 \r
67 gctest.exe: gc.lib tests\test.obj\r
68         $(CC) -ogctest.exe tests\test.obj gc.lib\r
69 \r
70 tests\test.obj: tests\test.c\r
71         $(CC) -c $(CFLAGS) tests\test.c -otests\test.obj\r
72 \r
73 test_cpp.exe: gc.lib tests\test_cpp.obj\r
74         $(CC) -otest_cpp.exe tests\test_cpp.obj gc.lib\r
75 \r
76 tests\test_cpp.obj: tests\test_cpp.cc\r
77         $(CC) -c $(CFLAGS) -cpp tests\test_cpp.cc -otests\test_cpp.obj\r
78 \r
79 allchblk.obj: allchblk.c\r
80 alloc.obj: alloc.c\r
81 blacklst.obj: blacklst.c\r
82 checksums.obj: checksums.c\r
83 dbg_mlc.obj: dbg_mlc.c\r
84 dyn_load.obj: dyn_load.c\r
85 finalize.obj: finalize.c\r
86 fnlz_mlc.obj: fnlz_mlc.c\r
87 gc_badalc.obj: gc_badalc.cc gc_badalc.cpp\r
88 gc_cpp.obj: gc_cpp.cc gc_cpp.cpp\r
89 headers.obj: headers.c\r
90 mach_dep.obj: mach_dep.c\r
91 malloc.obj: malloc.c\r
92 mallocx.obj: mallocx.c\r
93 mark.obj: mark.c\r
94 mark_rts.obj: mark_rts.c\r
95 misc.obj: misc.c\r
96 new_hblk.obj: new_hblk.c\r
97 obj_map.obj: obj_map.c\r
98 os_dep.obj: os_dep.c\r
99 ptr_chck.obj: ptr_chck.c\r
100 reclaim.obj: reclaim.c\r
101 typd_mlc.obj: typd_mlc.c\r
102 win32_threads.obj: win32_threads.c\r