comparison druntime/src/compiler/dmd/posix.mak @ 759:d3eb054172f9

Added copy of druntime from DMD 2.020 modified for LDC.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Tue, 11 Nov 2008 01:52:37 +0100
parents
children
comparison
equal deleted inserted replaced
758:f04dde6e882c 759:d3eb054172f9
1 # Makefile to build the compiler runtime D library for Linux
2 # Designed to work with GNU make
3 # Targets:
4 # make
5 # Same as make all
6 # make lib
7 # Build the compiler runtime library
8 # make doc
9 # Generate documentation
10 # make clean
11 # Delete unneeded files created by build process
12
13 LIB_TARGET=libdruntime-rt-dmd.a
14 LIB_MASK=libdruntime-rt-dmd*.a
15
16 CP=cp -f
17 RM=rm -f
18 MD=mkdir -p
19
20 CFLAGS=-O $(ADD_CFLAGS)
21 #CFLAGS=-g $(ADD_CFLAGS)
22
23 DFLAGS=-release -O -inline -w -nofloat $(ADD_DFLAGS)
24 #DFLAGS=-g -w -nofloat $(ADD_DFLAGS)
25
26 TFLAGS=-O -inline -w -nofloat $(ADD_DFLAGS)
27 #TFLAGS=-g -w -nofloat $(ADD_DFLAGS)
28
29 DOCFLAGS=-version=DDoc
30
31 CC=gcc
32 LC=$(AR) -qsv
33 DC=dmd
34
35 LIB_DEST=../../../lib
36
37 .SUFFIXES: .s .S .c .cpp .d .html .o
38
39 .s.o:
40 $(CC) -c $(CFLAGS) $< -o$@
41
42 .S.o:
43 $(CC) -c $(CFLAGS) $< -o$@
44
45 .c.o:
46 $(CC) -c $(CFLAGS) $< -o$@
47
48 .cpp.o:
49 g++ -c $(CFLAGS) $< -o$@
50
51 .d.o:
52 $(DC) -c $(DFLAGS) $< -of$@
53
54 .d.html:
55 $(DC) -c -o- $(DOCFLAGS) -Df$*.html dmd.ddoc $<
56
57 targets : lib doc
58 all : lib doc
59 lib : dmd.lib
60 doc : dmd.doc
61
62 ######################################################
63
64 OBJ_BASE= \
65 aaA.o \
66 aApply.o \
67 aApplyR.o \
68 adi.o \
69 alloca.o \
70 arrayassign.o \
71 arraybyte.o \
72 arraycast.o \
73 arraycat.o \
74 arraydouble.o \
75 arrayfloat.o \
76 arrayint.o \
77 arrayreal.o \
78 arrayshort.o \
79 cast_.o \
80 cmath2.o \
81 complex.o \
82 cover.o \
83 critical.o \
84 deh2.o \
85 dmain2.o \
86 invariant.o \
87 invariant_.o \
88 lifetime.o \
89 llmath.o \
90 memory.o \
91 memset.o \
92 monitor.o \
93 obj.o \
94 object_.o \
95 qsort.o \
96 switch_.o \
97 trace.o
98 # NOTE: trace.obj and cover.obj are not necessary for a successful build
99 # as both are used for debugging features (profiling and coverage)
100 # NOTE: a pre-compiled minit.obj has been provided in dmd for Win32 and
101 # minit.asm is not used by dmd for linux
102 # NOTE: deh.o is only needed for Win32, linux uses deh2.o
103
104 OBJ_UTIL= \
105 util/console.o \
106 util/cpuid.o \
107 util/ctype.o \
108 util/string.o \
109 util/utf.o
110
111 OBJ_TI= \
112 typeinfo/ti_AC.o \
113 typeinfo/ti_Acdouble.o \
114 typeinfo/ti_Acfloat.o \
115 typeinfo/ti_Acreal.o \
116 typeinfo/ti_Adouble.o \
117 typeinfo/ti_Afloat.o \
118 typeinfo/ti_Ag.o \
119 typeinfo/ti_Aint.o \
120 typeinfo/ti_Along.o \
121 typeinfo/ti_Areal.o \
122 typeinfo/ti_Ashort.o \
123 typeinfo/ti_byte.o \
124 typeinfo/ti_C.o \
125 typeinfo/ti_cdouble.o \
126 typeinfo/ti_cfloat.o \
127 typeinfo/ti_char.o \
128 typeinfo/ti_creal.o \
129 typeinfo/ti_dchar.o \
130 typeinfo/ti_delegate.o \
131 typeinfo/ti_double.o \
132 typeinfo/ti_float.o \
133 typeinfo/ti_idouble.o \
134 typeinfo/ti_ifloat.o \
135 typeinfo/ti_int.o \
136 typeinfo/ti_ireal.o \
137 typeinfo/ti_long.o \
138 typeinfo/ti_ptr.o \
139 typeinfo/ti_real.o \
140 typeinfo/ti_short.o \
141 typeinfo/ti_ubyte.o \
142 typeinfo/ti_uint.o \
143 typeinfo/ti_ulong.o \
144 typeinfo/ti_ushort.o \
145 typeinfo/ti_void.o \
146 typeinfo/ti_wchar.o
147
148 ALL_OBJS= \
149 $(OBJ_BASE) \
150 $(OBJ_UTIL) \
151 $(OBJ_TI)
152
153 ######################################################
154
155 ALL_DOCS=
156
157 ######################################################
158
159 dmd.lib : $(LIB_TARGET)
160
161 $(LIB_TARGET) : $(ALL_OBJS)
162 $(RM) $@
163 $(LC) $@ $(ALL_OBJS)
164
165 dmd.doc : $(ALL_DOCS)
166 echo No documentation available.
167
168 ######################################################
169
170 clean :
171 find . -name "*.di" | xargs $(RM)
172 $(RM) $(ALL_OBJS)
173 $(RM) $(ALL_DOCS)
174 $(RM) $(LIB_MASK)
175
176 install :
177 $(MD) $(LIB_DEST)
178 $(CP) $(LIB_MASK) $(LIB_DEST)/.