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