1 # Makefile to build the compiler runtime D library for Win32
\r
2 # Designed to work with DigitalMars make
\r
7 # Build the compiler runtime library
\r
9 # Generate documentation
\r
11 # Delete unneeded files created by build process
\r
13 LIB_TARGET=druntime-rt-dmd.lib
\r
14 LIB_MASK=druntime-rt-dmd*.lib
\r
20 CFLAGS=-mn -6 -r $(ADD_CFLAGS)
\r
21 #CFLAGS=-g -mn -6 -r $(ADD_CFLAGS)
\r
23 DFLAGS=-release -O -inline -w -nofloat $(ADD_DFLAGS)
\r
24 #DFLAGS=-g -w -nofloat $(ADD_DFLAGS)
\r
26 TFLAGS=-O -inline -w -nofloat $(ADD_DFLAGS)
\r
27 #TFLAGS=-g -w -nofloat $(ADD_DFLAGS)
\r
29 DOCFLAGS=-version=DDoc
\r
35 LIB_DEST=..\..\..\lib
\r
37 .DEFAULT: .asm .c .cpp .d .html .obj
\r
43 $(CC) -c $(CFLAGS) $< -o$@
\r
46 $(CC) -c $(CFLAGS) $< -o$@
\r
49 $(DC) -c $(DFLAGS) $< -of$@
\r
52 $(DC) -c -o- $(DOCFLAGS) -Df$*.html dmd.ddoc $<
\r
59 ######################################################
\r
90 # NOTE: trace.obj and cover.obj are not necessary for a successful build
\r
91 # as both are used for debugging features (profiling and coverage)
\r
92 # NOTE: a pre-compiled minit.obj has been provided in dmd for Win32 and
\r
93 # minit.asm is not used by dmd for linux
\r
103 typeinfo\ti_AC.obj \
\r
104 typeinfo\ti_Acdouble.obj \
\r
105 typeinfo\ti_Acfloat.obj \
\r
106 typeinfo\ti_Acreal.obj \
\r
107 typeinfo\ti_Adouble.obj \
\r
108 typeinfo\ti_Afloat.obj \
\r
109 typeinfo\ti_Ag.obj \
\r
110 typeinfo\ti_Aint.obj \
\r
111 typeinfo\ti_Along.obj \
\r
112 typeinfo\ti_Areal.obj \
\r
113 typeinfo\ti_Ashort.obj \
\r
114 typeinfo\ti_byte.obj \
\r
115 typeinfo\ti_C.obj \
\r
116 typeinfo\ti_cdouble.obj \
\r
117 typeinfo\ti_cfloat.obj \
\r
118 typeinfo\ti_char.obj \
\r
119 typeinfo\ti_creal.obj \
\r
120 typeinfo\ti_dchar.obj \
\r
121 typeinfo\ti_delegate.obj \
\r
122 typeinfo\ti_double.obj \
\r
123 typeinfo\ti_float.obj \
\r
124 typeinfo\ti_idouble.obj \
\r
125 typeinfo\ti_ifloat.obj \
\r
126 typeinfo\ti_int.obj \
\r
127 typeinfo\ti_ireal.obj \
\r
128 typeinfo\ti_long.obj \
\r
129 typeinfo\ti_ptr.obj \
\r
130 typeinfo\ti_real.obj \
\r
131 typeinfo\ti_short.obj \
\r
132 typeinfo\ti_ubyte.obj \
\r
133 typeinfo\ti_uint.obj \
\r
134 typeinfo\ti_ulong.obj \
\r
135 typeinfo\ti_ushort.obj \
\r
136 typeinfo\ti_void.obj \
\r
137 typeinfo\ti_wchar.obj
\r
144 ######################################################
\r
148 ######################################################
\r
150 dmd.lib : $(LIB_TARGET)
\r
152 $(LIB_TARGET) : $(ALL_OBJS)
\r
154 $(LC) -c -n $@ $(ALL_OBJS) minit.obj
\r
156 dmd.doc : $(ALL_DOCS)
\r
157 @echo No documentation available.
\r
159 ######################################################
\r
169 $(CP) $(LIB_MASK) $(LIB_DEST)\.
\r