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)/{} \;