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