]> git.llucax.com Git - software/druntime.git/blob - src/dmd-posix.mak
The next batch of updates towards D2 support. The lib should be pretty close to...
[software/druntime.git] / src / dmd-posix.mak
1 # Makefile to build the composite D runtime library for Linux\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 runtime 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-dmd.a\r
14 LIB_MASK=libdruntime-dmd*.a\r
15 \r
16 DIR_CC=../src/core\r
17 DIR_RT=../src/compiler/dmd\r
18 DIR_GC=../src/gc/basic\r
19 \r
20 CP=cp -f\r
21 RM=rm -f\r
22 MD=mkdir -p\r
23 \r
24 CC=gcc\r
25 LC=$(AR) -qsv\r
26 DC=dmd\r
27 \r
28 LIB_DEST=../lib\r
29 \r
30 ADD_CFLAGS=-m32\r
31 ADD_DFLAGS=\r
32 \r
33 targets : lib doc\r
34 all     : lib doc\r
35 \r
36 ######################################################\r
37 \r
38 ALL_OBJS=\r
39 \r
40 ######################################################\r
41 \r
42 ALL_DOCS=\r
43 \r
44 ######################################################\r
45 \r
46 lib : $(ALL_OBJS)\r
47         make -C $(DIR_CC) -fposix.mak lib DC=$(DC) ADD_DFLAGS="$(ADD_DFLAGS)" ADD_CFLAGS="$(ADD_CFLAGS)"\r
48         make -C $(DIR_RT) -fposix.mak lib DC=$(DC) ADD_DFLAGS="$(ADD_DFLAGS)" ADD_CFLAGS="$(ADD_CFLAGS)"\r
49         make -C $(DIR_GC) -fposix.mak lib DC=$(DC) ADD_DFLAGS="$(ADD_DFLAGS)" ADD_CFLAGS="$(ADD_CFLAGS)"\r
50         find . -name "libphobos*.a" | xargs $(RM)\r
51         $(LC) $(LIB_TARGET) `find $(DIR_CC) -name "*.o" | xargs echo`\r
52         $(LC) $(LIB_TARGET) `find $(DIR_RT) -name "*.o" | xargs echo`\r
53         $(LC) $(LIB_TARGET) `find $(DIR_GC) -name "*.o" | xargs echo`\r
54 \r
55 doc : $(ALL_DOCS)\r
56         make -C $(DIR_CC) -fposix.mak doc DC=$(DC)\r
57         make -C $(DIR_RT) -fposix.mak doc DC=$(DC)\r
58         make -C $(DIR_GC) -fposix.mak doc DC=$(DC)\r
59 \r
60 ######################################################\r
61 \r
62 clean :\r
63         find . -name "*.di" | xargs $(RM)\r
64         $(RM) $(ALL_OBJS)\r
65         $(RM) $(ALL_DOCS)\r
66         make -C $(DIR_CC) -fposix.mak clean\r
67         make -C $(DIR_RT) -fposix.mak clean\r
68         make -C $(DIR_GC) -fposix.mak clean\r
69         $(RM) $(LIB_MASK)\r
70 \r
71 install :\r
72         make -C $(DIR_CC) -fposix.mak install\r
73         make -C $(DIR_RT) -fposix.mak install\r
74         make -C $(DIR_GC) -fposix.mak install\r
75         $(CP) $(LIB_MASK) $(LIB_DEST)/.\r