comparison runtime/lib/gc/basic/ldc.mak @ 665:d8a1481eaa0c

Renames.
author Christian Kamm <kamm incasoftware de>
date Mon, 06 Oct 2008 22:56:54 +0200
parents runtime/lib/gc/basic/llvmdc.mak@6aaa3d3c1183
children dc078dd8d2e1
comparison
equal deleted inserted replaced
664:eef8ac26c66c 665:d8a1481eaa0c
1 # Makefile to build the garbage collector D library for LDC
2 # Designed to work with GNU make
3 # Targets:
4 # make
5 # Same as make all
6 # make lib
7 # Build the garbage collector library
8 # make doc
9 # Generate documentation
10 # make clean
11 # Delete unneeded files created by build process
12
13 LIB_TARGET_BC=libtango-gc-basic-bc.a
14 LIB_TARGET_NATIVE=libtango-gc-basic.a
15 LIB_TARGET_SHARED=libtango-gc-basic-shared.so
16 LIB_MASK=libtango-gc-basic*.*
17
18 CP=cp -f
19 RM=rm -f
20 MD=mkdir -p
21
22 ADD_CFLAGS=
23 ADD_DFLAGS=
24
25 #CFLAGS=-O3 $(ADD_CFLAGS)
26 CFLAGS=$(ADD_CFLAGS)
27
28 #DFLAGS=-release -O3 -inline -w -nofloat $(ADD_DFLAGS)
29 DFLAGS=-w -disable-invariants $(ADD_DFLAGS)
30
31 #TFLAGS=-O3 -inline -w -nofloat $(ADD_DFLAGS)
32 TFLAGS=-w -disable-invariants $(ADD_DFLAGS)
33
34 DOCFLAGS=-version=DDoc
35
36 CC=gcc
37 LC=llvm-ar rsv
38 LCC=llc
39 LLINK=llvm-link
40 CLC=ar rsv
41 LD=llvm-ld
42 DC=ldc
43
44 LIB_DEST=..
45
46 .SUFFIXES: .s .S .c .cpp .d .html .o .bc
47
48 .s.o:
49 $(CC) -c $(CFLAGS) $< -o$@
50
51 .S.o:
52 $(CC) -c $(CFLAGS) $< -o$@
53
54 .c.o:
55 $(CC) -c $(CFLAGS) $< -o$@
56
57 .cpp.o:
58 g++ -c $(CFLAGS) $< -o$@
59
60 .d.bc:
61 $(DC) -c $(DFLAGS) $< -of$@
62
63 .d.html:
64 $(DC) -c -o- $(DOCFLAGS) -Df$*.html $<
65 # $(DC) -c -o- $(DOCFLAGS) -Df$*.html dmd.ddoc $<
66
67 targets : lib sharedlib doc
68 all : lib sharedlib doc
69 lib : basic.lib basic.nlib
70 sharedlib : basic.sharedlib
71 doc : basic.doc
72
73 ######################################################
74
75 ALL_OBJS= \
76 gc.bc \
77 gcalloc.bc \
78 gcbits.bc \
79 gcstats.bc \
80 gcx.bc
81
82 ######################################################
83
84 ALL_DOCS=
85
86 ######################################################
87
88 basic.lib : $(LIB_TARGET_BC)
89 basic.nlib : $(LIB_TARGET_NATIVE)
90 basic.sharedlib : $(LIB_TARGET_SHARED)
91
92 $(LIB_TARGET_BC) : $(ALL_OBJS)
93 $(RM) $@
94 $(LC) $@ $(ALL_OBJS)
95
96
97 $(LIB_TARGET_NATIVE) : $(ALL_OBJS)
98 $(RM) $@ $@.bc $@.s $@.o
99 $(LLINK) -o=$@.bc $(ALL_OBJS)
100 $(LCC) -o=$@.s $@.bc
101 $(CC) -c -o $@.o $@.s
102 $(CLC) $@ $@.o
103
104
105 $(LIB_TARGET_SHARED) : $(ALL_OBJS)
106 $(RM) $@ $@.bc $@.s $@.o
107 $(LLINK) -o=$@.bc $(ALL_OBJS)
108 $(LCC) -relocation-model=pic -o=$@.s $@.bc
109 $(CC) -shared -o $@ $@.s
110
111 basic.doc : $(ALL_DOCS)
112 echo No documentation available.
113
114 ######################################################
115
116 clean :
117 find . -name "*.di" | xargs $(RM)
118 $(RM) $(ALL_OBJS)
119 $(RM) $(ALL_DOCS)
120 $(RM) $(LIB_MASK)
121
122 install :
123 $(MD) $(LIB_DEST)
124 $(CP) $(LIB_MASK) $(LIB_DEST)/.