CXX_STD = CXX11
PKG_CFLAGS = $(C_VISIBILITY)
PKG_CXXFLAGS = $(CXX_VISIBILITY)
PKG_CPPFLAGS = -pthread -I./leveldb-mcpe/include -I./leveldb-mcpe/build/include
PKG_LIBS = -L./leveldb-mcpe/build -pthread -lleveldb -lz

CMAKE = cmake

all: $(SHLIB)

$(SHLIB): leveldb-mcpe/build/libleveldb.a

leveldb-mcpe/build/Makefile: leveldb-mcpe/CMakeLists.txt
	(mkdir -p leveldb-mcpe/build \
		&& cd leveldb-mcpe/build \
		&& $(CMAKE) -G "Unix Makefiles" .. \
			-DCMAKE_MAKE_PROGRAM="$(MAKE)" \
			-DR_CXX_COMPILER="$(CXX11)" \
			-DR_C_COMPILER="$(CC)" \
			-DCMAKE_CXX_FLAGS_INIT="$(CXX11STD) $(CXX11FLAGS) $(CXXPICFLAGS) $(C_VISIBILITY)" \
			-DCMAKE_C_FLAGS_INIT="$(CFLAGS) $(CPICFLAGS)" \
			-DCMAKE_BUILD_TYPE=Release \
			-DLEVELDB_BUILD_TESTS:BOOL=OFF \
			-DLEVELDB_BUILD_BENCHMARKS:BOOL=OFF \
			-Wno-dev )

leveldb-mcpe/build/libleveldb.a: leveldb-mcpe/build/Makefile
	$(MAKE) --directory=leveldb-mcpe/build

clean:
	$(MAKE) --directory=leveldb-mcpe/build clean
