Mercurial > projects > ldc
diff runtime/lib/common/tango/ldc.mak @ 665:d8a1481eaa0c
Renames.
author | Christian Kamm <kamm incasoftware de> |
---|---|
date | Mon, 06 Oct 2008 22:56:54 +0200 |
parents | runtime/lib/common/tango/llvmdc.mak@6aaa3d3c1183 |
children | dc078dd8d2e1 |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/runtime/lib/common/tango/ldc.mak Mon Oct 06 22:56:54 2008 +0200 @@ -0,0 +1,173 @@ +# Makefile to build the common D runtime library for LLVM +# Designed to work with GNU make +# Targets: +# make +# Same as make all +# make lib +# Build the common library +# make doc +# Generate documentation +# make clean +# Delete unneeded files created by build process + +LIB_TARGET_FULL=libtango-cc-tango.a +LIB_TARGET_BC_ONLY=libtango-cc-tango-bc-only.a +LIB_TARGET_C_ONLY=libtango-cc-tango-c-only.a +LIB_TARGET_SHARED=libtango-cc-tango-shared.so +LIB_MASK=libtango-cc-tango*.* + +CP=cp -f +RM=rm -f +MD=mkdir -p + +ADD_CFLAGS= +ADD_DFLAGS= + +#CFLAGS=-O3 $(ADD_CFLAGS) +CFLAGS=$(ADD_CFLAGS) + +#DFLAGS=-release -O3 -inline -w $(ADD_DFLAGS) +DFLAGS=-w $(ADD_DFLAGS) + +#TFLAGS=-O3 -inline -w $(ADD_DFLAGS) +TFLAGS=-w $(ADD_DFLAGS) + +DOCFLAGS=-version=DDoc + +CC=gcc +LC=llvm-ar rsv +LLINK=llvm-link +LCC=llc +CLC=ar rsv +DC=ldc +LLC=llvm-as + +INC_DEST=../../../tango +LIB_DEST=.. +DOC_DEST=../../../doc/tango + +.SUFFIXES: .s .S .c .cpp .d .ll .html .o .bc + +.s.o: + $(CC) -c $(CFLAGS) $< -o$@ + +.S.o: + $(CC) -c $(CFLAGS) $< -o$@ + +.c.o: + $(CC) -c $(CFLAGS) $< -o$@ + +.cpp.o: + g++ -c $(CFLAGS) $< -o$@ + +.d.bc: + $(DC) -c $(DFLAGS) -Hf$*.di $< -of$@ +# $(DC) -c $(DFLAGS) $< -of$@ + +.ll.bc: + $(LLC) -f -o=$@ $< + +.d.html: + $(DC) -c -o- $(DOCFLAGS) -Df$*.html $< +# $(DC) -c -o- $(DOCFLAGS) -Df$*.html tango.ddoc $< + +targets : lib sharedlib doc +all : lib sharedlib doc +tango : lib +lib : tango.lib tango.bclib tango.clib +sharedlib : tango.sharedlib +doc : tango.doc + +###################################################### + +OBJ_CORE= \ + core/BitManip.bc \ + core/Exception.bc \ + core/Memory.bc \ + core/Runtime.bc \ + core/Thread.bc +# core/ThreadASM.o + +OBJ_STDC= \ + stdc/wrap.o +# stdc/wrap.bc + +OBJ_STDC_POSIX= \ + stdc/posix/pthread_darwin.o + +ALL_OBJS= \ + $(OBJ_CORE) +# $(OBJ_STDC) +# $(OBJ_STDC_POSIX) + +###################################################### + +DOC_CORE= \ + core/BitManip.html \ + core/Exception.html \ + core/Memory.html \ + core/Runtime.html \ + core/Thread.html + + +ALL_DOCS= + +###################################################### + +tango.bclib : $(LIB_TARGET_BC_ONLY) +tango.lib : $(LIB_TARGET_FULL) +tango.clib : $(LIB_TARGET_C_ONLY) +tango.sharedlib : $(LIB_TARGET_SHARED) + +$(LIB_TARGET_BC_ONLY) : $(ALL_OBJS) + $(RM) $@ + $(LC) $@ $(ALL_OBJS) + + +$(LIB_TARGET_FULL) : $(ALL_OBJS) $(OBJ_STDC) + $(RM) $@ $@.bc $@.s $@.o + $(LLINK) -o=$@.bc $(ALL_OBJS) + $(LCC) -o=$@.s $@.bc + $(CC) -c -o $@.o $@.s + $(CLC) $@ $@.o $(OBJ_STDC) + + +$(LIB_TARGET_C_ONLY) : $(OBJ_STDC) + $(RM) $@ + $(CLC) $@ $(OBJ_STDC) + + +$(LIB_TARGET_SHARED) : $(ALL_OBJS) $(OBJ_STDC) + $(RM) $@ $@.bc $@.s $@.o + $(LLINK) -o=$@.bc $(ALL_OBJS) + $(LCC) -relocation-model=pic -o=$@.s $@.bc + $(CC) -c -o $@.o $@.s + $(CC) -shared -o $@ $@.o $(OBJ_STDC) + + +tango.doc : $(ALL_DOCS) + echo Documentation generated. + +###################################################### + +### stdc/posix + +#stdc/posix/pthread_darwin.o : stdc/posix/pthread_darwin.d +# $(DC) -c $(DFLAGS) stdc/posix/pthread_darwin.d -of$@ + +###################################################### + +clean : + find . -name "*.di" | xargs $(RM) + $(RM) $(ALL_OBJS) + $(RM) $(OBJ_STDC) + $(RM) $(ALL_DOCS) + find . -name "$(LIB_MASK)" | xargs $(RM) + +install : + $(MD) $(INC_DEST) + find . -name "*.di" -exec cp -f {} $(INC_DEST)/{} \; + $(MD) $(DOC_DEST) + find . -name "*.html" -exec cp -f {} $(DOC_DEST)/{} \; + $(MD) $(LIB_DEST) + find . -name "$(LIB_MASK)" -exec cp -f {} $(LIB_DEST)/{} \;