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