comparison tango/lib/common/tango/llvmdc.mak @ 132:1700239cab2e trunk

[svn r136] MAJOR UNSTABLE UPDATE!!! Initial commit after moving to Tango instead of Phobos. Lots of bugfixes... This build is not suitable for most things.
author lindquist
date Fri, 11 Jan 2008 17:57:40 +0100
parents
children 44a95ac7368a
comparison
equal deleted inserted replaced
131:5825d48b27d1 132:1700239cab2e
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=libtango-cc-tango.a
14 LIB_MASK=libtango-cc-tango*.a
15
16 CP=cp -f
17 RM=rm -f
18 MD=mkdir -p
19
20 ADD_CFLAGS=
21 ADD_DFLAGS=
22
23 CFLAGS=-O $(ADD_CFLAGS)
24 #CFLAGS=-g $(ADD_CFLAGS)
25
26 DFLAGS=-release -O -inline -w -nofloat $(ADD_DFLAGS)
27 #DFLAGS=-g -w -nofloat $(ADD_DFLAGS)
28
29 TFLAGS=-O -inline -w -nofloat $(ADD_DFLAGS)
30 #TFLAGS=-g -w -nofloat $(ADD_DFLAGS)
31
32 DOCFLAGS=-version=DDoc
33
34 CC=gcc
35 LC=llvm-ar rsv
36 DC=llvmdc
37 LLC=llvm-as
38
39 INC_DEST=../../../tango
40 LIB_DEST=..
41 DOC_DEST=../../../doc/tango
42
43 .SUFFIXES: .s .S .c .cpp .d .ll .html .o .bc
44
45 .s.o:
46 $(CC) -c $(CFLAGS) $< -o$@
47
48 .S.o:
49 $(CC) -c $(CFLAGS) $< -o$@
50
51 .c.o:
52 $(CC) -c $(CFLAGS) $< -o$@
53
54 .cpp.o:
55 g++ -c $(CFLAGS) $< -o$@
56
57 .d.bc:
58 $(DC) -c $(DFLAGS) -Hf$*.di $< -of$@
59 # $(DC) -c $(DFLAGS) $< -of$@
60
61 .ll.bc:
62 $(LLC) -f -o=$@ $<
63
64 .d.html:
65 $(DC) -c -o- $(DOCFLAGS) -Df$*.html $<
66 # $(DC) -c -o- $(DOCFLAGS) -Df$*.html tango.ddoc $<
67
68 targets : lib doc
69 all : lib doc
70 tango : lib
71 lib : tango.lib
72 doc : tango.doc
73
74 ######################################################
75
76 OBJ_CORE= \
77 core/BitManip.bc \
78 core/Exception.bc \
79 core/Memory.bc \
80 core/Runtime.bc \
81 core/Thread.bc
82 # core/ThreadASM.o
83
84 OBJ_STDC= \
85 stdc/wrap.bc
86
87 OBJ_STDC_POSIX= \
88 stdc/posix/pthread_darwin.o
89
90 ALL_OBJS= \
91 $(OBJ_CORE) \
92 $(OBJ_STDC)
93 # $(OBJ_STDC_POSIX)
94
95 ######################################################
96
97 DOC_CORE= \
98 core/BitManip.html \
99 core/Exception.html \
100 core/Memory.html \
101 core/Runtime.html \
102 core/Thread.html
103
104
105 ALL_DOCS=
106
107 ######################################################
108
109 tango.lib : $(LIB_TARGET)
110
111 $(LIB_TARGET) : $(ALL_OBJS)
112 $(RM) $@
113 $(LC) $@ $(ALL_OBJS)
114
115 tango.doc : $(ALL_DOCS)
116 echo Documentation generated.
117
118 ######################################################
119
120 ### stdc/posix
121
122 #stdc/posix/pthread_darwin.o : stdc/posix/pthread_darwin.d
123 # $(DC) -c $(DFLAGS) stdc/posix/pthread_darwin.d -of$@
124
125 ######################################################
126
127 clean :
128 find . -name "*.di" | xargs $(RM)
129 $(RM) $(ALL_OBJS)
130 $(RM) $(ALL_DOCS)
131 find . -name "$(LIB_MASK)" | xargs $(RM)
132
133 install :
134 $(MD) $(INC_DEST)
135 find . -name "*.di" -exec cp -f {} $(INC_DEST)/{} \;
136 $(MD) $(DOC_DEST)
137 find . -name "*.html" -exec cp -f {} $(DOC_DEST)/{} \;
138 $(MD) $(LIB_DEST)
139 find . -name "$(LIB_MASK)" -exec cp -f {} $(LIB_DEST)/{} \;