Mercurial > projects > ldc
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 |