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