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