]> git.llucax.com Git - software/druntime.git/blob - src/dmd-win32.mak
restored support for setting gc handle
[software/druntime.git] / src / dmd-win32.mak
1 # Makefile to build the composite D runtime 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 runtime library
8 #   make doc
9 #       Generate documentation
10 #   make clean
11 #       Delete unneeded files created by build process
12
13 LIB_TARGET=druntime-dmd.lib
14 DUP_TARGET=druntime.lib
15 LIB_MASK=druntime*.lib
16
17 DIR_CC=common
18 DIR_RT=compiler\dmd
19 DIR_GC=gc\basic
20
21 LIB_CC=$(DIR_CC)\druntime-core.lib
22 LIB_RT=$(DIR_RT)\druntime-rt-dmd.lib
23 LIB_GC=$(DIR_GC)\druntime-gc-basic.lib
24
25 CP=xcopy /y
26 RM=del /f
27 MD=mkdir
28
29 CC=dmc
30 LC=lib
31 DC=dmd
32
33 LIB_DEST=..\lib
34
35 ADD_CFLAGS=
36 ADD_DFLAGS=
37
38 targets : lib doc
39 all     : lib doc
40
41 ######################################################
42
43 ALL_OBJS=
44
45 ######################################################
46
47 ALL_DOCS=
48
49 ######################################################
50
51 lib : $(ALL_OBJS)
52         cd $(DIR_CC)
53         make -fwin32.mak lib DC=$(DC) ADD_DFLAGS="$(ADD_DFLAGS)" ADD_CFLAGS="$(ADD_CFLAGS)"
54         cd ..
55         cd $(DIR_RT)
56         make -fwin32.mak lib DC=$(DC)
57         cd ..\..
58         cd $(DIR_GC)
59         make -fwin32.mak lib DC=$(DC) ADD_DFLAGS="$(ADD_DFLAGS)" ADD_CFLAGS="$(ADD_CFLAGS)"
60         cd ..\..
61         $(RM) $(LIB_TARGET)
62         $(LC) -c -n $(LIB_TARGET) $(LIB_CC) $(LIB_RT) $(LIB_GC)
63         $(RM) $(DUP_TARGET)
64         copy $(LIB_TARGET) $(DUP_TARGET)
65
66 doc : $(ALL_DOCS)
67         cd $(DIR_CC)
68         make -fwin32.mak doc DC=$(DC)
69         cd ..
70         cd $(DIR_RT)
71         make -fwin32.mak doc DC=$(DC)
72         cd ..\..
73         cd $(DIR_GC)
74         make -fwin32.mak doc DC=$(DC)
75         cd ..\..
76
77 ######################################################
78
79 clean :
80         $(RM) /s *.di
81         $(RM) $(ALL_OBJS)
82         $(RM) $(ALL_DOCS)
83         cd $(DIR_CC)
84         make -fwin32.mak clean
85         cd ..
86         cd $(DIR_RT)
87         make -fwin32.mak clean
88         cd ..\..
89         cd $(DIR_GC)
90         make -fwin32.mak clean
91         cd ..\..
92         $(RM) $(LIB_MASK)
93
94 install :
95         cd $(DIR_CC)
96         make -fwin32.mak install
97         cd ..
98         cd $(DIR_RT)
99         make -fwin32.mak install
100         cd ..\..
101         cd $(DIR_GC)
102         make -fwin32.mak install
103         cd ..\..
104         $(CP) $(LIB_MASK) $(LIB_DEST)\.