]> git.llucax.com Git - software/druntime.git/blob - src/gc/basic/posix.mak
Changed D 2.0 runtime to account for 'this' being changed from a pointer to a referen...
[software/druntime.git] / src / gc / basic / 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-basic.a
14 LIB_MASK=libdruntime-gc-basic*.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=$(AR) -qsv
36 DC=dmd
37
38 LIB_DEST=../../../lib
39
40 .SUFFIXES: .s .S .c .cpp .d .html .o
41
42 .s.o:
43         $(CC) -c $(CFLAGS) $< -o$@
44
45 .S.o:
46         $(CC) -c $(CFLAGS) $< -o$@
47
48 .c.o:
49         $(CC) -c $(CFLAGS) $< -o$@
50
51 .cpp.o:
52         g++ -c $(CFLAGS) $< -o$@
53
54 .d.o:
55         $(DC) -c $(DFLAGS) $< -of$@
56
57 .d.html:
58         $(DC) -c -o- $(DOCFLAGS) -Df$*.html $<
59 #       $(DC) -c -o- $(DOCFLAGS) -Df$*.html dmd.ddoc $<
60
61 targets : lib doc
62 all     : lib doc
63 lib     : basic.lib
64 doc     : basic.doc
65
66 ######################################################
67
68 ALL_OBJS= \
69     gc.o \
70     gcalloc.o \
71     gcbits.o \
72     gcstats.o \
73     gcx.o
74
75 ######################################################
76
77 ALL_DOCS=
78
79 ######################################################
80
81 basic.lib : $(LIB_TARGET)
82
83 $(LIB_TARGET) : $(ALL_OBJS)
84         $(RM) $@
85         $(LC) $@ $(ALL_OBJS)
86
87 basic.doc : $(ALL_DOCS)
88         echo No documentation available.
89
90 ######################################################
91
92 clean :
93         find . -name "*.di" | xargs $(RM)
94         $(RM) $(ALL_OBJS)
95         $(RM) $(ALL_DOCS)
96         $(RM) $(LIB_MASK)
97
98 install :
99         $(MD) $(LIB_DEST)
100         $(CP) $(LIB_MASK) $(LIB_DEST)/.