-LLVM_CONFIG := $(shell llvm-config --cxxflags --ldflags --libs jit core)
+-include ../Makefile.config
-visualizer: visualizer.cpp commandlineopt.h stringoper.h
- $(CXX) $< -o $@ -g -lclangParse -lclangFrontend -lclangSerialization \
- -lclangDriver -lclangCodeGen -lclangSema -lclangChecker \
- -lclangAnalysis -lclangRewrite -lclangAST -lclangLex -lclangBasic \
- $(LLVM_CONFIG)
+LLVM_CONFIG ?= llvm-config
-.PHONY: test
-test: test.pdf
+LLVM_FLAGS := $(shell $(LLVM_CONFIG) --cxxflags --ldflags --libs jit core)
+LLVM_FLAGS := $(filter-out -DNDEBUG,$(LLVM_FLAGS))
-%.dot: %.cpp visualizer
- ./visualizer $< -o $@
+CLANG_LIBS := -lclangParse -lclangFrontend -lclangSerialization \
+ -lclangDriver -lclangCodeGen -lclangSema -lclangAnalysis \
+ -lclangRewrite -lclangAST -lclangLex -lclangBasic -lclangEdit
-%.pdf: %.dot
- dot -Tps $< | epstopdf --filter > $@
+visualizer.so: visualizer.cpp
+ $(CXX) -g -fno-rtti -shared -Wall $(CLANG_LIBS) $(LLVM_FLAGS) -o $@ $<