annotate tango/lib/gc/basic/llvmdc.mak @ 237:a168a2c3ea48 trunk

[svn r253] Removed -inlineasm option. inline asm is now enabled by default unless the new -noasm option is passed. Tried adding a stack trace print when compiler crashes, not sure it's working though. Changed data layouts to match that of llvm-gcc. Fixed casting function pointers. Added support checks in AsmStatement.
author lindquist
date Sun, 08 Jun 2008 19:09:24 +0200
parents cd2c9f4010e4
children ab43d1e1bf2a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
206
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
1 # Makefile to build the garbage collector D library for LLVMDC
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
2 # Designed to work with GNU make
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
3 # Targets:
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
4 # make
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
5 # Same as make all
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
6 # make lib
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
7 # Build the garbage collector library
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
8 # make doc
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
9 # Generate documentation
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
10 # make clean
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
11 # Delete unneeded files created by build process
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
12
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
13 LIB_TARGET=libtango-gc-basic.a
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
14 LIB_MASK=libtango-gc-basic*.a
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
15
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
16 CP=cp -f
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
17 RM=rm -f
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
18 MD=mkdir -p
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
19
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
20 ADD_CFLAGS=
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
21 ADD_DFLAGS=
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
22
237
a168a2c3ea48 [svn r253] Removed -inlineasm option. inline asm is now enabled by default unless the new -noasm option is passed.
lindquist
parents: 206
diff changeset
23 #CFLAGS=-O3 $(ADD_CFLAGS)
206
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
24 CFLAGS=-g $(ADD_CFLAGS)
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
25
237
a168a2c3ea48 [svn r253] Removed -inlineasm option. inline asm is now enabled by default unless the new -noasm option is passed.
lindquist
parents: 206
diff changeset
26 #DFLAGS=-release -O3 -inline -w -nofloat $(ADD_DFLAGS)
a168a2c3ea48 [svn r253] Removed -inlineasm option. inline asm is now enabled by default unless the new -noasm option is passed.
lindquist
parents: 206
diff changeset
27 DFLAGS=-g -w -nofloat -noasm $(ADD_DFLAGS)
206
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
28
237
a168a2c3ea48 [svn r253] Removed -inlineasm option. inline asm is now enabled by default unless the new -noasm option is passed.
lindquist
parents: 206
diff changeset
29 #TFLAGS=-O3 -inline -w -nofloat $(ADD_DFLAGS)
a168a2c3ea48 [svn r253] Removed -inlineasm option. inline asm is now enabled by default unless the new -noasm option is passed.
lindquist
parents: 206
diff changeset
30 TFLAGS=-g -w -nofloat -noasm $(ADD_DFLAGS)
206
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
31
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
32 DOCFLAGS=-version=DDoc
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
33
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
34 CC=gcc
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
35 LC=llvm-ar rsv
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
36 DC=llvmdc
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
37
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
38 LIB_DEST=..
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
39
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
40 .SUFFIXES: .s .S .c .cpp .d .html .o .bc
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
41
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
42 .s.o:
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
43 $(CC) -c $(CFLAGS) $< -o$@
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
44
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
45 .S.o:
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
46 $(CC) -c $(CFLAGS) $< -o$@
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
47
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
48 .c.o:
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
49 $(CC) -c $(CFLAGS) $< -o$@
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
50
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
51 .cpp.o:
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
52 g++ -c $(CFLAGS) $< -o$@
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
53
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
54 .d.bc:
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
55 $(DC) -c $(DFLAGS) $< -of$@
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
56
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
57 .d.html:
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
58 $(DC) -c -o- $(DOCFLAGS) -Df$*.html $<
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
59 # $(DC) -c -o- $(DOCFLAGS) -Df$*.html dmd.ddoc $<
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
60
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
61 targets : lib doc
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
62 all : lib doc
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
63 lib : basic.lib
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
64 doc : basic.doc
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
65
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
66 ######################################################
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
67
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
68 ALL_OBJS= \
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
69 gc.bc \
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
70 gcalloc.bc \
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
71 gcbits.bc \
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
72 gcstats.bc \
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
73 gcx.bc
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
74
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
75 ######################################################
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
76
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
77 ALL_DOCS=
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
78
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
79 ######################################################
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
80
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
81 basic.lib : $(LIB_TARGET)
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
82
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
83 $(LIB_TARGET) : $(ALL_OBJS)
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
84 $(RM) $@
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
85 $(LC) $@ $(ALL_OBJS)
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
86
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
87 basic.doc : $(ALL_DOCS)
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
88 echo No documentation available.
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
89
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
90 ######################################################
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
91
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
92 clean :
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
93 find . -name "*.di" | xargs $(RM)
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
94 $(RM) $(ALL_OBJS)
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
95 $(RM) $(ALL_DOCS)
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
96 $(RM) $(LIB_MASK)
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
97
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
98 install :
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
99 $(MD) $(LIB_DEST)
cd2c9f4010e4 [svn r222] Forgot to remove volatile ATTENTION.
lindquist
parents:
diff changeset
100 $(CP) $(LIB_MASK) $(LIB_DEST)/.