comparison runtime/lib/gc/basic/llvmdc.mak @ 579:20c065c46b38

Basic support for runtime in shared library. Needs to be built with runtime/build-sharedlibs.sh and activated manually by providing -defaultlib=llvmdc-runtime-shared -defaultlib=tango-cc-tango-shared -defaultlib=tango-gc-basic-shared on llvmdc call at the moment. To support D shared libraries in non-D code, we need to remove the main() from libllvmdc-runtime-shared.
author Christian Kamm <kamm incasoftware de>
date Fri, 05 Sep 2008 23:02:18 +0200
parents 926a03711ca8
children 6aaa3d3c1183
comparison
equal deleted inserted replaced
578:8caa9adce5ae 579:20c065c46b38
10 # make clean 10 # make clean
11 # Delete unneeded files created by build process 11 # Delete unneeded files created by build process
12 12
13 LIB_TARGET_BC=libtango-gc-basic-bc.a 13 LIB_TARGET_BC=libtango-gc-basic-bc.a
14 LIB_TARGET_NATIVE=libtango-gc-basic.a 14 LIB_TARGET_NATIVE=libtango-gc-basic.a
15 LIB_MASK=libtango-gc-basic*.a 15 LIB_TARGET_SHARED=libtango-gc-basic-shared.so
16 LIB_MASK=libtango-gc-basic*.*
16 17
17 CP=cp -f 18 CP=cp -f
18 RM=rm -f 19 RM=rm -f
19 MD=mkdir -p 20 MD=mkdir -p
20 21
61 62
62 .d.html: 63 .d.html:
63 $(DC) -c -o- $(DOCFLAGS) -Df$*.html $< 64 $(DC) -c -o- $(DOCFLAGS) -Df$*.html $<
64 # $(DC) -c -o- $(DOCFLAGS) -Df$*.html dmd.ddoc $< 65 # $(DC) -c -o- $(DOCFLAGS) -Df$*.html dmd.ddoc $<
65 66
66 targets : lib doc 67 targets : lib sharedlib doc
67 all : lib doc 68 all : lib sharedlib doc
68 lib : basic.lib basic.nlib 69 lib : basic.lib basic.nlib
70 sharedlib : basic.sharedlib
69 doc : basic.doc 71 doc : basic.doc
70 72
71 ###################################################### 73 ######################################################
72 74
73 ALL_OBJS= \ 75 ALL_OBJS= \
83 85
84 ###################################################### 86 ######################################################
85 87
86 basic.lib : $(LIB_TARGET_BC) 88 basic.lib : $(LIB_TARGET_BC)
87 basic.nlib : $(LIB_TARGET_NATIVE) 89 basic.nlib : $(LIB_TARGET_NATIVE)
90 basic.sharedlib : $(LIB_TARGET_SHARED)
88 91
89 $(LIB_TARGET_BC) : $(ALL_OBJS) 92 $(LIB_TARGET_BC) : $(ALL_OBJS)
90 $(RM) $@ 93 $(RM) $@
91 $(LC) $@ $(ALL_OBJS) 94 $(LC) $@ $(ALL_OBJS)
92 95
95 $(RM) $@ $@.bc $@.s $@.o 98 $(RM) $@ $@.bc $@.s $@.o
96 $(LLINK) -o=$@.bc $(ALL_OBJS) 99 $(LLINK) -o=$@.bc $(ALL_OBJS)
97 $(LCC) -o=$@.s $@.bc 100 $(LCC) -o=$@.s $@.bc
98 $(CC) -c -o $@.o $@.s 101 $(CC) -c -o $@.o $@.s
99 $(CLC) $@ $@.o 102 $(CLC) $@ $@.o
103
104
105 $(LIB_TARGET_SHARED) : $(ALL_OBJS)
106 $(RM) $@ $@.bc $@.s $@.o
107 $(LLINK) -o=$@.bc $(ALL_OBJS)
108 $(LCC) -relocation-model=pic -o=$@.s $@.bc
109 $(CC) -shared -o $@ $@.s
100 110
101 basic.doc : $(ALL_DOCS) 111 basic.doc : $(ALL_DOCS)
102 echo No documentation available. 112 echo No documentation available.
103 113
104 ###################################################### 114 ######################################################