]> git.llucax.com Git - software/druntime.git/blob - src/gc/stub/win32.mak
Added static data segment support to the new Runtime.loadLibrary() features. This...
[software/druntime.git] / src / gc / stub / 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-stub.lib
14 LIB_MASK=druntime-gc-stub*.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
30 TFLAGS=-O -inline -w  -nofloat $(ADD_DFLAGS)
31 #TFLAGS=-g -w -nofloat $(ADD_DFLAGS)
32
33 DOCFLAGS=-version=DDoc
34
35 CC=dmc
36 LC=lib
37 DC=dmd
38
39 LIB_DEST=..\..\..\lib
40
41 .DEFAULT: .asm .c .cpp .d .html .obj
42
43 .asm.obj:
44         $(CC) -c $<
45
46 .c.obj:
47         $(CC) -c $(CFLAGS) $< -o$@
48
49 .cpp.obj:
50         $(CC) -c $(CFLAGS) $< -o$@
51
52 .d.obj:
53         $(DC) -c $(DFLAGS) $< -of$@
54
55 .d.html:
56         $(DC) -c -o- $(DOCFLAGS) -Df$*.html $<
57 #       $(DC) -c -o- $(DOCFLAGS) -Df$*.html dmd.ddoc $<
58
59 targets : lib doc
60 all     : lib doc
61 lib     : stub.lib
62 doc     : stub.doc
63
64 ######################################################
65
66 ALL_OBJS= \
67     gc.obj
68
69 ######################################################
70
71 ALL_DOCS=
72
73 ######################################################
74
75 stub.lib : $(LIB_TARGET)
76
77 $(LIB_TARGET) : $(ALL_OBJS)
78         $(RM) $@
79         $(LC) -c -n $@ $(ALL_OBJS)
80
81 stub.doc : $(ALL_DOCS)
82         @echo No documentation available.
83
84 ######################################################
85
86 clean :
87         $(RM) /s *.di
88         $(RM) $(ALL_OBJS)
89         $(RM) $(ALL_DOCS)
90         $(RM) $(LIB_MASK)
91
92 install :
93         $(MD) $(LIB_DEST)
94         $(CP) $(LIB_MASK) $(LIB_DEST)\.
95         copy gc.obj $(LIB_DEST)\gcstub.obj