]> git.llucax.com Git - software/druntime.git/blob - src/compiler/dmd/win32.mak
Fixed a few mistakes regarding invariance, etc, between D1 and D2.
[software/druntime.git] / src / compiler / dmd / win32.mak
1 # Makefile to build the compiler runtime 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 compiler 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-rt-dmd.lib\r
14 LIB_MASK=druntime-rt-dmd*.lib\r
15 \r
16 CP=xcopy /y\r
17 RM=del /f\r
18 MD=mkdir\r
19 \r
20 CFLAGS=-mn -6 -r $(ADD_CFLAGS)\r
21 #CFLAGS=-g -mn -6 -r $(ADD_CFLAGS)\r
22 \r
23 DFLAGS=-release -O -inline -w -nofloat $(ADD_DFLAGS)\r
24 #DFLAGS=-g -w -nofloat $(ADD_DFLAGS)\r
25 \r
26 TFLAGS=-O -inline -w  -nofloat $(ADD_DFLAGS)\r
27 #TFLAGS=-g -w -nofloat $(ADD_DFLAGS)\r
28 \r
29 DOCFLAGS=-version=DDoc\r
30 \r
31 CC=dmc\r
32 LC=lib\r
33 DC=dmd\r
34 \r
35 LIB_DEST=..\..\..\lib\r
36 \r
37 .DEFAULT: .asm .c .cpp .d .html .obj\r
38 \r
39 .asm.obj:\r
40         $(CC) -c $<\r
41 \r
42 .c.obj:\r
43         $(CC) -c $(CFLAGS) $< -o$@\r
44 \r
45 .cpp.obj:\r
46         $(CC) -c $(CFLAGS) $< -o$@\r
47 \r
48 .d.obj:\r
49         $(DC) -c $(DFLAGS) $< -of$@\r
50 \r
51 .d.html:\r
52         $(DC) -c -o- $(DOCFLAGS) -Df$*.html dmd.ddoc $<\r
53 \r
54 targets : lib doc\r
55 all     : lib doc\r
56 lib     : dmd.lib\r
57 doc     : dmd.doc\r
58 \r
59 ######################################################\r
60 \r
61 OBJ_BASE= \\r
62     aaA.obj \\r
63     aApply.obj \\r
64     aApplyR.obj \\r
65     adi.obj \\r
66     arrayassign.obj \\r
67     arraybyte.obj \\r
68     arraycast.obj \\r
69     arraycat.obj \\r
70     arraydouble.obj \\r
71     arrayfloat.obj \\r
72     arrayint.obj \\r
73     arrayreal.obj \\r
74     arrayshort.obj \\r
75     cast_.obj \\r
76     complex.obj \\r
77     cover.obj \\r
78     critical.obj \\r
79     deh.obj \\r
80     dmain2.obj \\r
81     invariant.obj \\r
82     invariant_.obj \\r
83     lifetime.obj \\r
84     memory.obj \\r
85     memset.obj \\r
86     monitor.obj \\r
87     obj.obj \\r
88     object_.obj \\r
89     qsort.obj \\r
90     switch_.obj \\r
91     trace.obj\r
92 # NOTE: trace.obj and cover.obj are not necessary for a successful build\r
93 #       as both are used for debugging features (profiling and coverage)\r
94 # NOTE: a pre-compiled minit.obj has been provided in dmd for Win32 and\r
95 #       minit.asm is not used by dmd for linux\r
96 \r
97 OBJ_UTIL= \\r
98     util\console.obj \\r
99     util\cpuid.obj \\r
100     util\ctype.obj \\r
101     util\string.obj \\r
102     util\utf.obj\r
103 \r
104 OBJ_TI= \\r
105     typeinfo\ti_AC.obj \\r
106     typeinfo\ti_Acdouble.obj \\r
107     typeinfo\ti_Acfloat.obj \\r
108     typeinfo\ti_Acreal.obj \\r
109     typeinfo\ti_Adouble.obj \\r
110     typeinfo\ti_Afloat.obj \\r
111     typeinfo\ti_Ag.obj \\r
112     typeinfo\ti_Aint.obj \\r
113     typeinfo\ti_Along.obj \\r
114     typeinfo\ti_Areal.obj \\r
115     typeinfo\ti_Ashort.obj \\r
116     typeinfo\ti_byte.obj \\r
117     typeinfo\ti_C.obj \\r
118     typeinfo\ti_cdouble.obj \\r
119     typeinfo\ti_cfloat.obj \\r
120     typeinfo\ti_char.obj \\r
121     typeinfo\ti_creal.obj \\r
122     typeinfo\ti_dchar.obj \\r
123     typeinfo\ti_delegate.obj \\r
124     typeinfo\ti_double.obj \\r
125     typeinfo\ti_float.obj \\r
126     typeinfo\ti_idouble.obj \\r
127     typeinfo\ti_ifloat.obj \\r
128     typeinfo\ti_int.obj \\r
129     typeinfo\ti_ireal.obj \\r
130     typeinfo\ti_long.obj \\r
131     typeinfo\ti_ptr.obj \\r
132     typeinfo\ti_real.obj \\r
133     typeinfo\ti_short.obj \\r
134     typeinfo\ti_ubyte.obj \\r
135     typeinfo\ti_uint.obj \\r
136     typeinfo\ti_ulong.obj \\r
137     typeinfo\ti_ushort.obj \\r
138     typeinfo\ti_void.obj \\r
139     typeinfo\ti_wchar.obj\r
140 \r
141 ALL_OBJS= \\r
142     $(OBJ_BASE) \\r
143     $(OBJ_UTIL) \\r
144     $(OBJ_TI)\r
145 \r
146 ######################################################\r
147 \r
148 ALL_DOCS=\r
149 \r
150 ######################################################\r
151 \r
152 dmd.lib : $(LIB_TARGET)\r
153 \r
154 $(LIB_TARGET) : $(ALL_OBJS)\r
155         $(RM) $@\r
156         $(LC) -c -n $@ $(ALL_OBJS) minit.obj\r
157 \r
158 dmd.doc : $(ALL_DOCS)\r
159         @echo No documentation available.\r
160 \r
161 ######################################################\r
162 \r
163 clean :\r
164         $(RM) /s *.di\r
165         $(RM) $(ALL_OBJS)\r
166         $(RM) $(ALL_DOCS)\r
167         $(RM) $(LIB_MASK)\r
168 \r
169 install :\r
170         $(MD) $(LIB_DEST)\r
171         $(CP) $(LIB_MASK) $(LIB_DEST)\.\r