]> rtime.felk.cvut.cz Git - boost-statechart-viewer.git/blobdiff - src/Makefile
Fix link error with clang-3.2
[boost-statechart-viewer.git] / src / Makefile
index cd8ffb02da749af0eba43b76030d9a633e032949..71e2dceb90a7f586b3827f8bda807c0235e1281f 100644 (file)
@@ -1,9 +1,28 @@
-include ../Makefile.config
+-include ../Makefile.config
+
+LLVM_CONFIG ?= llvm-config
 
 LLVM_FLAGS := $(shell $(LLVM_CONFIG) --cxxflags --ldflags --libs jit core)
+LLVM_FLAGS := $(filter-out -DNDEBUG,$(LLVM_FLAGS))
+LLVM_VERSION := $(shell $(LLVM_CONFIG) --version)
+
+LIBDIR ?= $(CURDIR)
+
+CLANG_LIBS := -lclangParse -lclangFrontend -lclangSerialization        \
+ -lclangDriver -lclangCodeGen -lclangSema -lclangAnalysis      \
+ -lclangAST -lclangLex -lclangBasic -lclangEdit
+
+ifneq (,$(filter 3.0,$(LLVM_VERSION))$(filter 3.1,$(LLVM_VERSION)))
+CLANG_LIBS += -lclangRewrite
+endif
+
+all: visualizer.so boost-statechart-viewer
+
+visualizer.so: visualizer.cpp
+       $(CXX) -g -fno-rtti -shared -Wall $(CLANG_LIBS) $(LLVM_FLAGS) -o $@ $<
+
+boost-statechart-viewer: boost-statechart-viewer.sh
+       sed -e s,@libdir@,$(LIBDIR), $< > $@
 
-visualizer: visualizer.cpp commandlineopt.h stringoper.h
-       $(CXX) $< -o $@ -g -O0 -lclangParse -lclangFrontend -lclangSerialization \
-       -lclangDriver -lclangCodeGen -lclangSema -lclangChecker \
-       -lclangAnalysis -lclangRewrite -lclangAST -lclangLex -lclangBasic \
-       $(LLVM_FLAGS)
+clean:
+       rm -f boost-statechart-viewer visualizer.so