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