Mercurial > projects > ldc
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)/. |