]> git.llucax.com Git - software/druntime.git/blob - src/gc/basic/win32.mak
Changed D 2.0 runtime to account for 'this' being changed from a pointer to a referen...
[software/druntime.git] / src / gc / basic / win32.mak
1 # Makefile to build the garbage collector D library for Win32
2 # Designed to work with DigitalMars make
3 # Targets:
4 #       make
5 #               Same as make all
6 #       make lib
7 #               Build the garbage collector library
8 #   make doc
9 #       Generate documentation
10 #       make clean
11 #               Delete unneeded files created by build process
12
13 LIB_TARGET=druntime-gc-basic.lib
14 LIB_MASK=druntime-gc-basic*.lib
15
16 CP=xcopy /y
17 RM=del /f
18 MD=mkdir
19
20 ADD_CFLAGS=
21 ADD_DFLAGS=
22
23 CFLAGS=-mn -6 -r $(ADD_CFLAGS)
24 #CFLAGS=-g -mn -6 -r $(ADD_CFLAGS)
25
26 DFLAGS=-release -O -inline -w -nofloat $(ADD_DFLAGS)
27 #DFLAGS=-g -w -nofloat $(ADD_DFLAGS)
28
29 TFLAGS=-O -inline -w  -nofloat $(ADD_DFLAGS)
30 #TFLAGS=-g -w -nofloat $(ADD_DFLAGS)
31
32 DOCFLAGS=-version=DDoc
33
34 CC=dmc
35 LC=lib
36 DC=dmd
37
38 LIB_DEST=..\..\..\lib
39
40 .DEFAULT: .asm .c .cpp .d .html .obj
41
42 .asm.obj:
43         $(CC) -c $<
44
45 .c.obj:
46         $(CC) -c $(CFLAGS) $< -o$@
47
48 .cpp.obj:
49         $(CC) -c $(CFLAGS) $< -o$@
50
51 .d.obj:
52         $(DC) -c $(DFLAGS) $< -of$@
53
54 .d.html:
55         $(DC) -c -o- $(DOCFLAGS) -Df$*.html $<
56 #       $(DC) -c -o- $(DOCFLAGS) -Df$*.html dmd.ddoc $<
57
58 targets : lib doc
59 all     : lib doc
60 lib     : basic.lib
61 doc     : basic.doc
62
63 ######################################################
64
65 ALL_OBJS= \
66     gc.obj \
67     gcalloc.obj \
68     gcbits.obj \
69     gcstats.obj \
70     gcx.obj
71
72 ######################################################
73
74 ALL_DOCS=
75
76 ######################################################
77
78 basic.lib : $(LIB_TARGET)
79
80 $(LIB_TARGET) : $(ALL_OBJS)
81         $(RM) $@
82         $(LC) -c -n $@ $(ALL_OBJS)
83
84 basic.doc : $(ALL_DOCS)
85         @echo No documentation available.
86
87 ######################################################
88
89 clean :
90         $(RM) /s *.di
91         $(RM) $(ALL_OBJS)
92         $(RM) $(ALL_DOCS)
93         $(RM) $(LIB_MASK)
94
95 install :
96         $(MD) $(LIB_DEST)
97         $(CP) $(LIB_MASK) $(LIB_DEST)\.