Makefile 674 Bytes
Newer Older
1 2
LLVM_INCLUDE_DIRS := $(shell llvm-config-6.0 --includedir)

nagayama15's avatar
nagayama15 committed
3 4 5 6 7 8 9 10
CXX := g++

CXXFLAGS := \
	-std=c++17 \
	-Wall \
	-Wextra \
	-pedantic \
	-Werror \
11 12
	${LLVM_INCLUDE_DIRS:%=-I%} \
	-fPIC
nagayama15's avatar
nagayama15 committed
13 14 15 16 17

LDFLAGS := \
	$(shell llvm-config-6.0 --ldflags) \
	$(shell llvm-config-6.0 --libs)

18 19
.PHONY: all test clean

nagayama15's avatar
nagayama15 committed
20
all: nykk.so
21

nagayama15's avatar
nagayama15 committed
22 23
test:
	${MAKE} -C test run
24

25
nykk.so: \
26 27 28 29
	src/nykk/pass/TestPass.o \
	src/nykk/pass/BlockCounterPass.o \
	src/nykk/pass/BlockWatermarkPass.o

30 31 32 33
src/nykk/pass/BlockWatermarkPass.o: \
	src/nykk/pass/BlockWatermarkPass.cpp \
	src/nykk/PermutationTable.hpp

34
%.so:
35
	${CXX} ${CXXFLAGS} -shared -o $@ $^ ${LDFLAGS}
nagayama15's avatar
nagayama15 committed
36 37

clean:
nagayama15's avatar
nagayama15 committed
38 39
	${MAKE} -C test clean
	${RM} *.so src/*/*.o src/*/*/*.o