CXX = g++ CFLAGS = -Wall -pedantic-errors -std=c++17 -g #-O2 SRCDIR = src/main/cpp/src/ BUILDDIR = target/ INCDIR = $(BUILDDIR)inc/ INSTALLDIR = /usr/lib/ LDFLAGS = -I/usr/lib/jvm/java-8-openjdk-amd64/include/ -I/usr/lib/jvm/java-8-openjdk-amd64/include/linux/ -I$(INCDIR) -Isrc/main/cpp/inc/ #-ldl NAME = libplugin.so SERVER = testerver/ SRCFILES = $(wildcard $(SRCDIR)*.cpp) OBJFILES = $(patsubst $(SRCDIR)%, $(BUILDDIR)%, $(patsubst %.cpp,%.so,$(SRCFILES))) plugins: $(INSTALLDIR)$(NAME) bash testplugins/compile.sh installplugins: plugins bash testplugins/install.sh install: $(BUILDDIR)$(NAME) uninstall: sudo rm -f $(INSTALLDIR)$(NAME) link: $(BUILDDIR)$(NAME) sudo ln -fs $(realpath $(BUILDDIR)$(NAME)) $(INSTALLDIR) $(INSTALLDIR)$(NAME): $(BUILDDIR)$(NAME) cp $(BUILDDIR)$(NAME) $(INSTALLDIR) all: createhfiles link $(BUILDDIR)%.so: $(SRCDIR)%.cpp $(BUILDDIR) $(CXX) -fPIC -shared $(CFLAGS) $(SRCDIR)*.cpp -o $@ $(LDFLAGS) $(BUILDDIR)%: $(SRCDIR)%.cpp $(BUILDDIR) $(CXX) $(CFLAGS) $(SRCDIR)$*.cpp -o $@ clean: $(RM) -r $(BUILDDIR) $(RM) $(SERVER)plugins/*.so $(SERVER)plugins/CppPlugins/*.so testplugins/*/*.so $(BUILDDIR): mkdir -p $@ createhfiles: $(RM) -r $(INCDIR) javah -d $(INCDIR) -classpath $(BUILDDIR)classes/:testserver/spigot-1.12.2.jar de.mrbesen.cppplugins.CppPlugin .PHONY: createhfiles clean plugins