]> git.llucax.com Git - software/druntime.git/blob - src/gc/stub/posix.mak
Added static data segment support to the new Runtime.loadLibrary() features. This...
[software/druntime.git] / src / gc / stub / posix.mak
1 # Makefile to build the garbage collector D library for Posix
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=libdruntime-gc-stub.a
14 LIB_MASK=libdruntime-gc-stub*.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
30 TFLAGS=-O -inline -w -nofloat $(ADD_DFLAGS)
31 #TFLAGS=-g -w -nofloat $(ADD_DFLAGS)
32
33 DOCFLAGS=-version=DDoc
34
35 CC=gcc
36 LC=$(AR) -qsv
37 DC=dmd
38
39 LIB_DEST=../../../lib
40
41 .SUFFIXES: .s .S .c .cpp .d .html .o
42
43 .s.o:
44         $(CC) -c $(CFLAGS) $< -o$@
45
46 .S.o:
47         $(CC) -c $(CFLAGS) $< -o$@
48
49 .c.o:
50         $(CC) -c $(CFLAGS) $< -o$@
51
52 .cpp.o:
53         g++ -c $(CFLAGS) $< -o$@
54
55 .d.o:
56         $(DC) -c $(DFLAGS) $< -of$@
57
58 .d.html:
59         $(DC) -c -o- $(DOCFLAGS) -Df$*.html $<
60 #       $(DC) -c -o- $(DOCFLAGS) -Df$*.html dmd.ddoc $<
61
62 targets : lib doc
63 all     : lib doc
64 lib     : stub.lib
65 doc     : stub.doc
66
67 ######################################################
68
69 ALL_OBJS= \
70     gc.o
71
72 ######################################################
73
74 ALL_DOCS=
75
76 ######################################################
77
78 stub.lib : $(LIB_TARGET)
79
80 $(LIB_TARGET) : $(ALL_OBJS)
81         $(RM) $@
82         $(LC) $@ $(ALL_OBJS)
83
84 stub.doc : $(ALL_DOCS)
85         echo No documentation available.
86
87 ######################################################
88
89 clean :
90         find . -name "*.di" | xargs $(RM)
91         $(RM) $(ALL_OBJS)
92         $(RM) $(ALL_DOCS)
93         $(RM) $(LIB_MASK)
94
95 install :
96         $(MD) $(LIB_DEST)
97         $(CP) $(LIB_MASK) $(LIB_DEST)/.