CppPlugins/Makefile

31 lines
947 B
Makefile

CXX = g++
CFLAGS = -Wall -pedantic-errors -std=c++17 -g #-O2
SRCDIR = src/main/cpp/src/
BUILDDIR = target/
INCDIR = src/main/cpp/inc/
LDFLAGS = -I/usr/lib/jvm/java-8-openjdk-amd64/include/ -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux/ -I$(INCDIR) -Iinc/
NAME = libplugin.so
SRCFILES = $(wildcard $(SRCDIR)*.cpp)
OBJFILES = $(patsubst $(SRCDIR)%, $(BUILDDIR)%, $(patsubst %.cpp,%.so,$(SRCFILES)))
all: createhfiles $(BUILDDIR)$(NAME)
$(BUILDDIR)%.so: $(SRCDIR)%.cpp $(BUILDDIR)
$(CXX) -fPIC -shared $(CFLAGS) $(SRCDIR)$*.cpp $(LDFLAGS) -o $@
$(BUILDDIR)%: $(SRCDIR)%.cpp $(BUILDDIR)
$(CXX) $(CFLAGS) $(SRCDIR)$*.cpp -o $@
clean:
rm -fr $(BUILDDIR)
$(BUILDDIR):
mkdir -p $@
createhfiles:
rm -fr $(INCDIR)
javah -d $(INCDIR) -classpath target/classes/:$(HOME)/.m2/repository/org/bukkit/craftbukkit/1.7.10-R0.1-SNAPSHOT/craftbukkit-1.7.10-R0.1-SNAPSHOT.jar de.mrbesen.cppplugins.CppPlugin
.phony: createhfiles clean