summaryrefslogtreecommitdiff
path: root/Makefile
blob: 5fcc27e96eb282bbade97f25c1b135fd96e16f14 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
PLUGIN = qtreslot

HEADERS = \
	clang_headers.h \
	AddActionCall.h \
	ConnectCall.h \
	Context.h \
	DisconnectCall.h \
	SingleShotCall.h \
	SlotCall.h

SOURCES = \
	main.cpp \
	AddActionCall.cpp \
	ConnectCall.cpp \
	Context.cpp \
	DisconnectCall.cpp \
	SingleShotCall.cpp \
	SlotCall.cpp

OBJECTS = $(patsubst %.cpp,%.o,$(SOURCES))

LLVM_COMPONENTS = all
LLVM_CXXFLAGS = $(shell llvm-config-3.8 --cxxflags)
LLVM_LDFLAGS = $(shell llvm-config-3.8 --ldflags)

CXXFLAGS = -std=c++11 -fPIC -Wall -fno-strict-aliasing
CXXFLAGS += -fvisibility-inlines-hidden -fno-exceptions -fno-rtti
CXXFLAGS += $(LLVM_CXXFLAGS)

LDFLAGS = -shared -Wl,-undefined,dynamic_lookup $(LLVM_LDFLAGS)

all: $(PLUGIN).so

$(PLUGIN).so: $(OBJECTS)
	$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $^

%.o: %.cpp $(HEADERS)
	$(CXX) $(CPPFLAGS) $(CXXFLAGS) -c -o $@ $<

clean:
	rm -f $(PLUGIN).so $(OBJECTS)

.PHONY: all clean