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