packages feed

llvm-extra-0.1: Makefile

.PHONY:	sharedobj

ghci:
	ghci -Wall -i:src:x86/cpuid src/Array.hs

llvmversion = 2.6

sharedobj:	libLLVM.so

libLLVM.so:	libLLVM.so.$(llvmversion)
	ln -s $< $@

libLLVM.so.%:
	for src in `llvm-config --libdir`/libLLVM*.a; do ar -x $$src ; done
	gcc -shared -Wl,-soname,$@ -o $@ *.o
#	gcc -shared -Wl,-soname,$@ -o $@ `llvm-config --libdir`/LLVM*.o *.o
	rm *.o

%.s:	%.bc
	llc -f $<

# This would lead to a cycle with llvm-as.
# %.ll:	%.bc
#	llvm-dis -f $<

%-dis.ll:	%.bc
	llvm-dis -o $@ -f $<

%.bc:	%.ll
	llvm-as -f $<

%-opt.bc:	%.bc
	opt -O3 < $< > $@