]> git.llucax.com Git - software/druntime.git/blob - src/gc/basic/posix.mak
First commit of the D Runtime Project. This includes a fully functional runtime...
[software/druntime.git] / src / gc / basic / posix.mak
1 # Makefile to build the garbage collector D library for Posix\r
2 # Designed to work with GNU make\r
3 # Targets:\r
4 #       make\r
5 #               Same as make all\r
6 #       make lib\r
7 #               Build the garbage collector library\r
8 #   make doc\r
9 #       Generate documentation\r
10 #       make clean\r
11 #               Delete unneeded files created by build process\r
12 \r
13 LIB_TARGET=libdruntime-gc-basic.a\r
14 LIB_MASK=libdruntime-gc-basic*.a\r
15 \r
16 CP=cp -f\r
17 RM=rm -f\r
18 MD=mkdir -p\r
19 \r
20 ADD_CFLAGS=\r
21 ADD_DFLAGS=\r
22 \r
23 CFLAGS=-O $(ADD_CFLAGS)\r
24 #CFLAGS=-g $(ADD_CFLAGS)\r
25 \r
26 DFLAGS=-release -O -inline -w -nofloat -version=Posix $(ADD_DFLAGS)\r
27 #DFLAGS=-g -w -nofloat -version=Posix $(ADD_DFLAGS)\r
28 \r
29 TFLAGS=-O -inline -w -nofloat -version=Posix $(ADD_DFLAGS)\r
30 #TFLAGS=-g -w -nofloat -version=Posix $(ADD_DFLAGS)\r
31 \r
32 DOCFLAGS=-version=DDoc -version=Posix\r
33 \r
34 CC=gcc\r
35 LC=$(AR) -qsv\r
36 DC=dmd\r
37 \r
38 LIB_DEST=../../../lib\r
39 \r
40 .SUFFIXES: .s .S .c .cpp .d .html .o\r
41 \r
42 .s.o:\r
43         $(CC) -c $(CFLAGS) $< -o$@\r
44 \r
45 .S.o:\r
46         $(CC) -c $(CFLAGS) $< -o$@\r
47 \r
48 .c.o:\r
49         $(CC) -c $(CFLAGS) $< -o$@\r
50 \r
51 .cpp.o:\r
52         g++ -c $(CFLAGS) $< -o$@\r
53 \r
54 .d.o:\r
55         $(DC) -c $(DFLAGS) $< -of$@\r
56 \r
57 .d.html:\r
58         $(DC) -c -o- $(DOCFLAGS) -Df$*.html $<\r
59 #       $(DC) -c -o- $(DOCFLAGS) -Df$*.html dmd.ddoc $<\r
60 \r
61 targets : lib doc\r
62 all     : lib doc\r
63 lib     : basic.lib\r
64 doc     : basic.doc\r
65 \r
66 ######################################################\r
67 \r
68 ALL_OBJS= \\r
69     gc.o \\r
70     gcalloc.o \\r
71     gcbits.o \\r
72     gcstats.o \\r
73     gcx.o\r
74 \r
75 ######################################################\r
76 \r
77 ALL_DOCS=\r
78 \r
79 ######################################################\r
80 \r
81 basic.lib : $(LIB_TARGET)\r
82 \r
83 $(LIB_TARGET) : $(ALL_OBJS)\r
84         $(RM) $@\r
85         $(LC) $@ $(ALL_OBJS)\r
86 \r
87 basic.doc : $(ALL_DOCS)\r
88         echo No documentation available.\r
89 \r
90 ######################################################\r
91 \r
92 clean :\r
93         find . -name "*.di" | xargs $(RM)\r
94         $(RM) $(ALL_OBJS)\r
95         $(RM) $(ALL_DOCS)\r
96         $(RM) $(LIB_MASK)\r
97 \r
98 install :\r
99         $(MD) $(LIB_DEST)\r
100         $(CP) $(LIB_MASK) $(LIB_DEST)/.\r