.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 < $< > $@