-include ../../Makefile.include DEPS=Makefile # lib name, version LIBNAME=flatbuffers VERSION=1.9.0 SOURCE=$(LIBNAME)-$(VERSION) ARCHIVE=$(SOURCE).tar.gz ifeq ($(PLATFORM),) # Building stand-alone ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) PLATFORM = native TARBALLS_LOCATION = $(ROOT_DIR) BASE_URL := http://mirrors.kodi.tv/build-deps/sources RETRIEVE_TOOL := curl -Ls --create-dirs -f -O ARCHIVE_TOOL := tar --strip-components=1 -xf CMAKE := cmake CMAKE_OPTIONS := -DCMAKE_INSTALL_PREFIX=$(PREFIX) $(CMAKE_OPTIONS) BUILD_FLATC=ON else # Building as part of depends DEPS += ../../Makefile.include BUILD_FLATC=OFF endif CMAKE_OPTIONS := -DCMAKE_BUILD_TYPE=Release \ -DFLATBUFFERS_CODE_COVERAGE=OFF \ -DFLATBUFFERS_BUILD_TESTS=OFF \ -DFLATBUFFERS_INSTALL=ON \ -DFLATBUFFERS_BUILD_FLATLIB=OFF \ -DFLATBUFFERS_BUILD_FLATC=$(BUILD_FLATC) \ -DFLATBUFFERS_BUILD_FLATHASH=OFF \ -DFLATBUFFERS_BUILD_GRPCTEST=OFF \ -DFLATBUFFERS_BUILD_SHAREDLIB=OFF \ $(CMAKE_OPTIONS) BUILDDIR = $(PLATFORM)/build-cmake # 'build' conflicts with file BUILD on case-insensitive FS all: .installed-$(PLATFORM) $(TARBALLS_LOCATION)/$(ARCHIVE): cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) $(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) ifeq ($(PREFIX),) @echo @echo "ERROR: please set PREFIX to the kodi install path e.g. make PREFIX=/usr/local" @exit 1 endif rm -rf $(PLATFORM)/*; mkdir -p $(PLATFORM) cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) cd $(PLATFORM); patch -p1 < ../../../native/flatbuffers-native/0001-Fix-compiler-warning.patch mkdir -p $(BUILDDIR) cd $(BUILDDIR); $(CMAKE) $(CMAKE_OPTIONS) .. .installed-$(PLATFORM): $(PLATFORM) $(MAKE) -C $(BUILDDIR) install touch $@ clean: $(MAKE) -C $(BUILDDIR) clean rm -f .installed-$(PLATFORM) distclean: rm -rf $(PLATFORM) .installed-$(PLATFORM)