view tests/testincludes/Makefile @ 351:f273f5c58a9a trunk

[svn r372] Fixed extern(C++) handling now same as DMD, which is to treat it like extern(C). Fixed a problem in resolving struct types where the size of elements might not yet be known. Switched to using DMD size() instead of LLVM ABI size (TargetData).
author lindquist
date Mon, 14 Jul 2008 03:23:43 +0200
parents f7190d9eb70c
children ca401c18c24e
line wrap: on
line source

# Copied from tango runtime makefile.
# 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=libtangobos-partial.a
LIB_MASK=libtangobos-partial.a*

CP=cp -f
RM=rm -f
MD=mkdir -p

ADD_CFLAGS=
ADD_DFLAGS=

#CFLAGS=-O3 $(ADD_CFLAGS)
CFLAGS=-g $(ADD_CFLAGS)

#DFLAGS=-release -O3 -inline -w $(ADD_DFLAGS)
DFLAGS=-g -w -noasm $(ADD_DFLAGS)

#TFLAGS=-O3 -inline -w $(ADD_DFLAGS)
TFLAGS=-g -w -noasm $(ADD_DFLAGS)

DOCFLAGS=-version=DDoc

CC=gcc
LC=llvm-ar rsv
CLC=ar rsv
DC=llvmdc
LLC=llvm-as
LLVMLINK=llvm-link
LLC=llc

INC_DEST=
LIB_DEST=
DOC_DEST=

.SUFFIXES: .d .bc

.d.bc:
	$(DC) -c $(DFLAGS) $< -of$@
#	$(DC) -c $(DFLAGS) $< -of$@

targets : lib
all     : lib
lib     : tangobos.lib

######################################################

OBJ_CORE= \
    std/gc.bc \
#    std/asserterror.bc \
#    std/math.bc \
#    std/stdarg.bc
#    std/format.bc \

ALL_OBJS= \
    $(OBJ_CORE)

######################################################

tangobos.lib : $(LIB_TARGET)

$(LIB_TARGET) : $(ALL_OBJS)
	$(RM) $(LIB_MASK)
	$(LLVMLINK) -o=$(LIB_TARGET).bc `find -name "*.bc"`
	$(LLC) -o=$(LIB_TARGET).s $(LIB_TARGET).bc
	$(CC) -c -o $(LIB_TARGET) $(LIB_TARGET).s

clean :
	$(RM) $(ALL_OBJS)
	find . -name "$(LIB_MASK)" | xargs $(RM)