29 lines
602 B
Makefile
29 lines
602 B
Makefile
|
|
PLUGIN=micropython_checks.so
|
|
SOURCES=micropython_checks.cc
|
|
|
|
PLUGINDIR=$(shell $(CC) -print-file-name=plugin)
|
|
|
|
CXXFLAGS=-std=gnu++11 -fPIC -Wall -Og -g -fno-rtti -I$(PLUGINDIR)/include
|
|
OBJECTS=$(patsubst %.cc,%.o,$(SOURCES))
|
|
|
|
all: $(PLUGIN)
|
|
|
|
$(PLUGIN): $(OBJECTS)
|
|
$(CXX) $(LDFLAGS) -o $@ -shared $+ $(LDADD)
|
|
|
|
%.o: %.cc
|
|
$(CXX) -c -o $@ $(CXXFLAGS) $<
|
|
|
|
PLUGINFLAG=-fplugin=./$(PLUGIN)
|
|
|
|
CCPLUGIN=$(CC) $(PLUGINFLAG)
|
|
CXXPLUGIN=$(CXX) $(PLUGINFLAG)
|
|
|
|
.PHONY: all clean test
|
|
clean:
|
|
rm -f $(OBJECTS) $(PLUGIN)
|
|
|
|
.PHONY: test
|
|
test: $(PLUGIN) test.cc
|
|
$(CXXPLUGIN) -Wformat -std=c++11 -c -o /dev/null test.cc
|