comparison druntime/src/ldc-posix.mak @ 1458:e0b2d67cfe7c

Added druntime (this should be removed once it works).
author Robert Clipsham <robert@octarineparrot.com>
date Tue, 02 Jun 2009 17:43:06 +0100
parents
children
comparison
equal deleted inserted replaced
1456:7b218ec1044f 1458:e0b2d67cfe7c
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 debug
7 # Build the debug version of the library
8 # make release
9 # Build the release version of the library
10 # make doc
11 # Generate documentation
12 # make clean
13 # Delete all files created by build process
14
15 # Essentials
16
17 LIBDIR:=../lib
18 DOCDIR:=../doc
19 LIBBASENAME=libdruntime.a
20
21 DIR_CC=common
22 DIR_RT=compiler/ldc
23 DIR_GC=gc/stub
24
25 # Symbols
26
27 DMD="ldc2 -vv"
28 CLC=ar rsv
29
30 # Targets
31
32 all : debug release doc unittest $(LIBDIR)/$(LIBBASENAME)
33
34 # unittest :
35 # $(MAKE) -fdmd-posix.mak lib MAKE_LIB="unittest"
36 # dmd -unittest unittest ../import/core/stdc/stdarg \
37 # -defaultlib="$(DUP_TARGET)" -debuglib="$(DUP_TARGET)"
38 # $(RM) stdarg.o
39 # ./unittest
40
41 debug release unittest :
42 @$(MAKE) DMD=$(DMD) -C $(DIR_CC) -fposix.mak $@
43 @$(MAKE) DMD=$(DMD) -C $(DIR_RT) -fposix.mak $@
44 @$(MAKE) DMD=$(DMD) -C $(DIR_GC) -fposix.mak $@
45 ifeq ($(DMD),ldc2 -vv)
46 @$(CLC) $(LIBDIR)/$@/$(LIBBASENAME) \
47 $(LIBDIR)/$@/libdruntime-core.a \
48 $(LIBDIR)/$@/libdruntime-rt-ldc.a \
49 $(LIBDIR)/$@/libdruntime-gc-stub.a
50 else
51 @$(DMD) -lib -of$(LIBDIR)/$@/$(LIBBASENAME) \
52 $(LIBDIR)/$@/libdruntime-core.a \
53 $(LIBDIR)/$@/libdruntime-rt-dmd.a \
54 $(LIBDIR)/$@/libdruntime-gc-basic.a
55 endif
56
57 $(LIBDIR)/$(LIBBASENAME) : $(LIBDIR)/release/$(LIBBASENAME)
58 ln -sf $(realpath $<) $@
59
60 doc : $(ALL_DOCS)
61 $(MAKE) DMD=$(DMD) -C $(DIR_CC) --no-print-directory -fposix.mak doc
62 # $(MAKE) DMD=$(DMD) -C $(DIR_RT) --no-print-directory -fposix.mak doc
63 # $(MAKE) DMD=$(DMD) -C $(DIR_GC) --no-print-directory -fposix.mak doc
64
65 ######################################################
66
67 clean :
68 $(MAKE) DMD=$(DMD) -C $(DIR_CC) -fposix.mak clean
69 $(MAKE) DMD=$(DMD) -C $(DIR_RT) -fposix.mak clean
70 $(MAKE) DMD=$(DMD) -C $(DIR_GC) -fposix.mak clean
71 #find . -name "*.di" | xargs $(RM)
72 rm -rf $(LIBDIR) $(DOCDIR)
73
74 # install :
75 # make -C $(DIR_CC) --no-print-directory -fposix.mak install
76 # make -C $(DIR_RT) --no-print-directory -fposix.mak install
77 # make -C $(DIR_GC) --no-print-directory -fposix.mak install
78 # $(CP) $(LIB_MASK) $(LIB_DEST)/.
79 # $(CP) $(DUP_MASK) $(LIB_DEST)/.
80