aboutsummaryrefslogtreecommitdiffhomepage
path: root/content/2022-06-18-libclang-c-to-llvm-ir/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'content/2022-06-18-libclang-c-to-llvm-ir/Makefile')
-rw-r--r--content/2022-06-18-libclang-c-to-llvm-ir/Makefile27
1 files changed, 27 insertions, 0 deletions
diff --git a/content/2022-06-18-libclang-c-to-llvm-ir/Makefile b/content/2022-06-18-libclang-c-to-llvm-ir/Makefile
new file mode 100644
index 0000000..ec36db3
--- /dev/null
+++ b/content/2022-06-18-libclang-c-to-llvm-ir/Makefile
@@ -0,0 +1,27 @@
+LIBS = $(shell llvm-config --libs)
+LIBS += -lclang-cpp
+
+CXXFLAGS = -Wall
+CXXFLAGS += -Wextra
+CXXFLAGS += -Werror
+CXXFLAGS += -O3
+
+SAN ?= 1
+ifeq ($(SAN),1)
+FLAGS = -fsanitize=address -fsanitize=leak -fsanitize=undefined
+endif
+
+run: gen-ir
+ ./$^
+
+gen-ir: gen-ir.o
+ $(CXX) -o $@ $^ $(LIBS) $(FLAGS)
+
+%.o: %.cc
+ $(CXX) -o $@ -c $^ $(CXXFLAGS) $(FLAGS)
+
+fmt:
+ clang-format -i *.cc
+
+clean:
+ $(RM) gen-ir *.o