]> git.llucax.com Git - software/druntime.git/blob - src/dmd-posix.mak
Fixed a few build script issues on posix, including a bug in looking for some of...
[software/druntime.git] / src / dmd-posix.mak
1 # Makefile to build the composite D runtime library for Linux
2 # Designed to work with GNU make
3 # Targets:
4 #       make
5 #               Same as make all
6 #       make lib
7 #               Build the runtime library
8 #   make doc
9 #       Generate documentation
10 #       make clean
11 #               Delete unneeded files created by build process
12
13 LIB_TARGET=libdruntime-dmd.a
14 DUP_TARGET=libdruntime.a
15 LIB_MASK=libdruntime*.a
16
17 DIR_CC=common
18 DIR_RT=compiler/dmd
19 DIR_GC=gc/basic
20
21 CP=cp -f
22 RM=rm -f
23 MD=mkdir -p
24
25 CC=gcc
26 LC=$(AR) -qsv
27 DC=dmd
28
29 LIB_DEST=../lib
30
31 ADD_CFLAGS=-m32
32 ADD_DFLAGS=
33
34 targets : lib doc
35 all     : lib doc
36
37 ######################################################
38
39 ALL_OBJS=
40
41 ######################################################
42
43 ALL_DOCS=
44
45 ######################################################
46
47 lib : $(ALL_OBJS)
48         make -C $(DIR_CC) -fposix.mak lib DC=$(DC) ADD_DFLAGS="$(ADD_DFLAGS)" ADD_CFLAGS="$(ADD_CFLAGS)"
49         make -C $(DIR_RT) -fposix.mak lib DC=$(DC) ADD_DFLAGS="$(ADD_DFLAGS)" ADD_CFLAGS="$(ADD_CFLAGS)"
50         make -C $(DIR_GC) -fposix.mak lib DC=$(DC) ADD_DFLAGS="$(ADD_DFLAGS)" ADD_CFLAGS="$(ADD_CFLAGS)"
51         $(RM) $(LIB_TARGET)
52         $(LC) $(LIB_TARGET) `find $(DIR_CC) -name "*.o" | xargs echo`
53         $(LC) $(LIB_TARGET) `find $(DIR_RT) -name "*.o" | xargs echo`
54         $(LC) $(LIB_TARGET) `find $(DIR_GC) -name "*.o" | xargs echo`
55         $(RM) $(DUP_TARGET)
56         $(CP) $(LIB_TARGET) $(DUP_TARGET)
57
58 doc : $(ALL_DOCS)
59         make -C $(DIR_CC) -fposix.mak doc DC=$(DC)
60         make -C $(DIR_RT) -fposix.mak doc DC=$(DC)
61         make -C $(DIR_GC) -fposix.mak doc DC=$(DC)
62
63 ######################################################
64
65 clean :
66         find . -name "*.di" | xargs $(RM)
67         $(RM) $(ALL_OBJS)
68         $(RM) $(ALL_DOCS)
69         make -C $(DIR_CC) -fposix.mak clean
70         make -C $(DIR_RT) -fposix.mak clean
71         make -C $(DIR_GC) -fposix.mak clean
72         $(RM) $(LIB_MASK)
73
74 install :
75         make -C $(DIR_CC) -fposix.mak install
76         make -C $(DIR_RT) -fposix.mak install
77         make -C $(DIR_GC) -fposix.mak install
78         $(CP) $(LIB_MASK) $(LIB_DEST)/.