]> git.llucax.com Git - software/druntime.git/blob - src/gc/stub/posix.mak
Finished flattening D1/D2 differences. Except for one or two lines, all differences...
[software/druntime.git] / src / gc / stub / 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=druntime-gc-stub.a\r
14 LIB_MASK=druntime-gc-stub*.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 -m32 $(ADD_CFLAGS)\r
24 #CFLAGS=-g -m32 $(ADD_CFLAGS)\r
25 \r
26 ### warnings disabled because gcx has issues ###\r
27 \r
28 DFLAGS=-release -O -inline -version=Posix $(ADD_DFLAGS)\r
29 #DFLAGS=-g -version=Posix $(ADD_DFLAGS)\r
30 \r
31 TFLAGS=-O -inline -version=Posix $(ADD_DFLAGS)\r
32 #TFLAGS=-g -version=Posix $(ADD_DFLAGS)\r
33 \r
34 DOCFLAGS=-version=DDoc -version=Posix\r
35 \r
36 CC=gcc\r
37 LC=$(AR) -qsv\r
38 DC=dmd\r
39 \r
40 LIB_DEST=..\r
41 \r
42 .SUFFIXES: .s .S .c .cpp .d .html .o\r
43 \r
44 .s.o:\r
45         $(CC) -c $(CFLAGS) $< -o$@\r
46 \r
47 .S.o:\r
48         $(CC) -c $(CFLAGS) $< -o$@\r
49 \r
50 .c.o:\r
51         $(CC) -c $(CFLAGS) $< -o$@\r
52 \r
53 .cpp.o:\r
54         g++ -c $(CFLAGS) $< -o$@\r
55 \r
56 .d.o:\r
57         $(DC) -c $(DFLAGS) $< -of$@\r
58 \r
59 .d.html:\r
60         $(DC) -c -o- $(DOCFLAGS) -Df$*.html $<\r
61 #       $(DC) -c -o- $(DOCFLAGS) -Df$*.html dmd.ddoc $<\r
62 \r
63 targets : lib doc\r
64 all     : lib doc\r
65 lib     : stub.lib\r
66 doc     : stub.doc\r
67 \r
68 ######################################################\r
69 \r
70 ALL_OBJS= \\r
71     gc.o\r
72 \r
73 ######################################################\r
74 \r
75 ALL_DOCS=\r
76 \r
77 ######################################################\r
78 \r
79 stub.lib : $(LIB_TARGET)\r
80 \r
81 $(LIB_TARGET) : $(ALL_OBJS)\r
82         $(RM) $@\r
83         $(LC) $@ $(ALL_OBJS)\r
84 \r
85 stub.doc : $(ALL_DOCS)\r
86         echo No documentation available.\r
87 \r
88 ######################################################\r
89 \r
90 clean :\r
91         find . -name "*.di" | xargs $(RM)\r
92         $(RM) $(ALL_OBJS)\r
93         $(RM) $(ALL_DOCS)\r
94         $(RM) $(LIB_MASK)\r
95 \r
96 install :\r
97         $(MD) $(LIB_DEST)\r
98         $(CP) $(LIB_MASK) $(LIB_DEST)/.\r