comparison druntime/src/common/ldc.mak @ 759:d3eb054172f9

Added copy of druntime from DMD 2.020 modified for LDC.
author Tomas Lindquist Olsen <tomas.l.olsen@gmail.com>
date Tue, 11 Nov 2008 01:52:37 +0100
parents
children
comparison
equal deleted inserted replaced
758:f04dde6e882c 759:d3eb054172f9
1 # Makefile to build the D runtime library core components for Posix
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=libdruntime-core.a
14 LIB_MASK=libdruntime-core*.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 $(ADD_DFLAGS)
27 #DFLAGS=-g -w $(ADD_DFLAGS)
28
29 TFLAGS=-O -inline -w $(ADD_DFLAGS)
30 #TFLAGS=-g -w $(ADD_DFLAGS)
31
32 DOCFLAGS=-version=DDoc
33
34 CC=gcc
35 LC=$(AR) -qsv
36 DC=ldc2
37
38 INC_DEST=../../import
39 LIB_DEST=../../lib
40 DOC_DEST=../../doc
41
42 .SUFFIXES: .s .S .c .cpp .d .html .o
43
44 .s.o:
45 $(CC) -c $(CFLAGS) $< -o$@
46
47 .S.o:
48 $(CC) -c $(CFLAGS) $< -o$@
49
50 .c.o:
51 $(CC) -c $(CFLAGS) $< -o$@
52
53 .cpp.o:
54 g++ -c $(CFLAGS) $< -o$@
55
56 .d.o:
57 $(DC) -c $(DFLAGS) -Hf$*.di $< -of$@
58 # $(DC) -c $(DFLAGS) $< -of$@
59
60 .d.html:
61 $(DC) -c -o- $(DOCFLAGS) -Df$*.html $<
62
63 targets : lib doc
64 all : lib doc
65 core : lib
66 lib : core.lib
67 doc : core.doc
68
69 ######################################################
70
71 OBJ_CORE= \
72 core/bitmanip.o \
73 core/exception.o \
74 core/memory_.o \
75 core/runtime.o \
76 core/thread.o
77
78 OBJ_STDC= \
79 stdc/errno.o
80
81 ALL_OBJS= \
82 $(OBJ_CORE) \
83 $(OBJ_STDC)
84
85 ######################################################
86
87 DOC_CORE= \
88 core/bitmanip.html \
89 core/exception.html \
90 core/memory.html \
91 core/runtime.html \
92 core/thread.html
93
94
95 ALL_DOCS=
96
97 ######################################################
98
99 core.lib : $(LIB_TARGET)
100
101 $(LIB_TARGET) : $(ALL_OBJS)
102 $(RM) $@
103 $(LC) $@ $(ALL_OBJS)
104
105 core.doc : $(ALL_DOCS)
106 echo Documentation generated.
107
108 ######################################################
109
110 ### bitmanip
111
112 core/bitmanip.o : core/bitmanip.d
113 $(DC) -c $(DFLAGS) core/bitmanip.d -of$@
114
115 ### memory
116
117 core/memory_.o : core/memory.d
118 $(DC) -c $(DFLAGS) -Hf$*.di $< -of$@
119
120 ### thread
121
122 core/thread.o : core/thread.d
123 $(DC) -c $(DFLAGS) -d -Hf$*.di core/thread.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)/{} \;