Mercurial > projects > ldc
comparison runtime/lib/common/tango/ldc.mak @ 665:d8a1481eaa0c
Renames.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Mon, 06 Oct 2008 22:56:54 +0200 |
parents | runtime/lib/common/tango/llvmdc.mak@6aaa3d3c1183 |
children | dc078dd8d2e1 |
comparison
equal
deleted
inserted
replaced
664:eef8ac26c66c | 665:d8a1481eaa0c |
---|---|
1 # Makefile to build the common D runtime library for LLVM | |
2 # Designed to work with GNU make | |
3 # Targets: | |
4 # make | |
5 # Same as make all | |
6 # make lib | |
7 # Build the common library | |
8 # make doc | |
9 # Generate documentation | |
10 # make clean | |
11 # Delete unneeded files created by build process | |
12 | |
13 LIB_TARGET_FULL=libtango-cc-tango.a | |
14 LIB_TARGET_BC_ONLY=libtango-cc-tango-bc-only.a | |
15 LIB_TARGET_C_ONLY=libtango-cc-tango-c-only.a | |
16 LIB_TARGET_SHARED=libtango-cc-tango-shared.so | |
17 LIB_MASK=libtango-cc-tango*.* | |
18 | |
19 CP=cp -f | |
20 RM=rm -f | |
21 MD=mkdir -p | |
22 | |
23 ADD_CFLAGS= | |
24 ADD_DFLAGS= | |
25 | |
26 #CFLAGS=-O3 $(ADD_CFLAGS) | |
27 CFLAGS=$(ADD_CFLAGS) | |
28 | |
29 #DFLAGS=-release -O3 -inline -w $(ADD_DFLAGS) | |
30 DFLAGS=-w $(ADD_DFLAGS) | |
31 | |
32 #TFLAGS=-O3 -inline -w $(ADD_DFLAGS) | |
33 TFLAGS=-w $(ADD_DFLAGS) | |
34 | |
35 DOCFLAGS=-version=DDoc | |
36 | |
37 CC=gcc | |
38 LC=llvm-ar rsv | |
39 LLINK=llvm-link | |
40 LCC=llc | |
41 CLC=ar rsv | |
42 DC=ldc | |
43 LLC=llvm-as | |
44 | |
45 INC_DEST=../../../tango | |
46 LIB_DEST=.. | |
47 DOC_DEST=../../../doc/tango | |
48 | |
49 .SUFFIXES: .s .S .c .cpp .d .ll .html .o .bc | |
50 | |
51 .s.o: | |
52 $(CC) -c $(CFLAGS) $< -o$@ | |
53 | |
54 .S.o: | |
55 $(CC) -c $(CFLAGS) $< -o$@ | |
56 | |
57 .c.o: | |
58 $(CC) -c $(CFLAGS) $< -o$@ | |
59 | |
60 .cpp.o: | |
61 g++ -c $(CFLAGS) $< -o$@ | |
62 | |
63 .d.bc: | |
64 $(DC) -c $(DFLAGS) -Hf$*.di $< -of$@ | |
65 # $(DC) -c $(DFLAGS) $< -of$@ | |
66 | |
67 .ll.bc: | |
68 $(LLC) -f -o=$@ $< | |
69 | |
70 .d.html: | |
71 $(DC) -c -o- $(DOCFLAGS) -Df$*.html $< | |
72 # $(DC) -c -o- $(DOCFLAGS) -Df$*.html tango.ddoc $< | |
73 | |
74 targets : lib sharedlib doc | |
75 all : lib sharedlib doc | |
76 tango : lib | |
77 lib : tango.lib tango.bclib tango.clib | |
78 sharedlib : tango.sharedlib | |
79 doc : tango.doc | |
80 | |
81 ###################################################### | |
82 | |
83 OBJ_CORE= \ | |
84 core/BitManip.bc \ | |
85 core/Exception.bc \ | |
86 core/Memory.bc \ | |
87 core/Runtime.bc \ | |
88 core/Thread.bc | |
89 # core/ThreadASM.o | |
90 | |
91 OBJ_STDC= \ | |
92 stdc/wrap.o | |
93 # stdc/wrap.bc | |
94 | |
95 OBJ_STDC_POSIX= \ | |
96 stdc/posix/pthread_darwin.o | |
97 | |
98 ALL_OBJS= \ | |
99 $(OBJ_CORE) | |
100 # $(OBJ_STDC) | |
101 # $(OBJ_STDC_POSIX) | |
102 | |
103 ###################################################### | |
104 | |
105 DOC_CORE= \ | |
106 core/BitManip.html \ | |
107 core/Exception.html \ | |
108 core/Memory.html \ | |
109 core/Runtime.html \ | |
110 core/Thread.html | |
111 | |
112 | |
113 ALL_DOCS= | |
114 | |
115 ###################################################### | |
116 | |
117 tango.bclib : $(LIB_TARGET_BC_ONLY) | |
118 tango.lib : $(LIB_TARGET_FULL) | |
119 tango.clib : $(LIB_TARGET_C_ONLY) | |
120 tango.sharedlib : $(LIB_TARGET_SHARED) | |
121 | |
122 $(LIB_TARGET_BC_ONLY) : $(ALL_OBJS) | |
123 $(RM) $@ | |
124 $(LC) $@ $(ALL_OBJS) | |
125 | |
126 | |
127 $(LIB_TARGET_FULL) : $(ALL_OBJS) $(OBJ_STDC) | |
128 $(RM) $@ $@.bc $@.s $@.o | |
129 $(LLINK) -o=$@.bc $(ALL_OBJS) | |
130 $(LCC) -o=$@.s $@.bc | |
131 $(CC) -c -o $@.o $@.s | |
132 $(CLC) $@ $@.o $(OBJ_STDC) | |
133 | |
134 | |
135 $(LIB_TARGET_C_ONLY) : $(OBJ_STDC) | |
136 $(RM) $@ | |
137 $(CLC) $@ $(OBJ_STDC) | |
138 | |
139 | |
140 $(LIB_TARGET_SHARED) : $(ALL_OBJS) $(OBJ_STDC) | |
141 $(RM) $@ $@.bc $@.s $@.o | |
142 $(LLINK) -o=$@.bc $(ALL_OBJS) | |
143 $(LCC) -relocation-model=pic -o=$@.s $@.bc | |
144 $(CC) -c -o $@.o $@.s | |
145 $(CC) -shared -o $@ $@.o $(OBJ_STDC) | |
146 | |
147 | |
148 tango.doc : $(ALL_DOCS) | |
149 echo Documentation generated. | |
150 | |
151 ###################################################### | |
152 | |
153 ### stdc/posix | |
154 | |
155 #stdc/posix/pthread_darwin.o : stdc/posix/pthread_darwin.d | |
156 # $(DC) -c $(DFLAGS) stdc/posix/pthread_darwin.d -of$@ | |
157 | |
158 ###################################################### | |
159 | |
160 clean : | |
161 find . -name "*.di" | xargs $(RM) | |
162 $(RM) $(ALL_OBJS) | |
163 $(RM) $(OBJ_STDC) | |
164 $(RM) $(ALL_DOCS) | |
165 find . -name "$(LIB_MASK)" | xargs $(RM) | |
166 | |
167 install : | |
168 $(MD) $(INC_DEST) | |
169 find . -name "*.di" -exec cp -f {} $(INC_DEST)/{} \; | |
170 $(MD) $(DOC_DEST) | |
171 find . -name "*.html" -exec cp -f {} $(DOC_DEST)/{} \; | |
172 $(MD) $(LIB_DEST) | |
173 find . -name "$(LIB_MASK)" -exec cp -f {} $(LIB_DEST)/{} \; |