1-include ../../Makefile.include 2DEPS = Makefile 3 4# lib name, version 5LIBNAME=crossguid 6VERSION=8f399e8bd4 7SOURCE=$(LIBNAME)-$(VERSION) 8ARCHIVE=$(SOURCE).tar.gz 9 10 11ifeq ($(CROSS_COMPILING), yes) 12 DEPS += ../../Makefile.include 13 CXXFLAGS += -std=c++11 14else 15 CXXFLAGS += -std=c++11 16 ROOT_DIR := $(shell dirname $(realpath $(lastword $(MAKEFILE_LIST)))) 17 18 ifeq ($(PLATFORM),) 19 PLATFORM = native 20 TARBALLS_LOCATION = $(ROOT_DIR) 21 BASE_URL := http://mirrors.kodi.tv/build-deps/sources 22 RETRIEVE_TOOL := curl -Ls --create-dirs -f -O 23 ARCHIVE_TOOL := tar --strip-components=1 -xf 24 endif 25endif 26 27 28# define specifying the native GUID implementation to use 29GUID_PLATFORM_DEFINE=GUID_LIBUUID 30ifeq ($(OS),osx) 31 GUID_PLATFORM_DEFINE=GUID_CFUUID 32endif 33ifeq ($(OS),darwin_embedded) 34 GUID_PLATFORM_DEFINE=GUID_CFUUID 35endif 36 37LIBDYLIB=$(PLATFORM)/lib$(LIBNAME).a 38 39.PHONY: .installed-native 40 41all: .installed-$(PLATFORM) 42 43$(TARBALLS_LOCATION)/$(ARCHIVE): 44 cd $(TARBALLS_LOCATION); $(RETRIEVE_TOOL) $(RETRIEVE_TOOL_FLAGS) $(BASE_URL)/$(ARCHIVE) 45 46$(PLATFORM): $(TARBALLS_LOCATION)/$(ARCHIVE) $(DEPS) 47ifeq ($(PREFIX),) 48 @echo 49 @echo "ERROR: please set PREFIX to the kodi install path e.g. make PREFIX=/usr/local" 50 @exit 1 51endif 52 rm -rf $(PLATFORM); mkdir -p $(PLATFORM) 53 cd $(PLATFORM); $(ARCHIVE_TOOL) $(ARCHIVE_TOOL_FLAGS) $(TARBALLS_LOCATION)/$(ARCHIVE) 54 55$(LIBDYLIB): $(PLATFORM) 56 cd $(PLATFORM); $(CXX) -c guid.cpp -o guid.o $(CXXFLAGS) -D$(GUID_PLATFORM_DEFINE) 57 cd $(PLATFORM); $(AR) rvs lib$(LIBNAME).a guid.o 58 59.installed-$(PLATFORM): $(LIBDYLIB) 60 @[ -d $(PREFIX)/include ] || mkdir -p $(PREFIX)/include 61 @[ -d $(PREFIX)/lib ] || mkdir $(PREFIX)/lib 62 cp $(PLATFORM)/guid.h $(PREFIX)/include/ 63 cp $(LIBDYLIB) $(PREFIX)/lib/ 64 touch $@ 65 66clean: 67 rm -rf $(PLATFORM) .installed-$(PLATFORM) 68 69distclean:: 70 rm -rf $(PLATFORM) .installed-$(PLATFORM) 71 72