include /env.mak

MESON_BUILD_DIR := _build
CROSS_FILE_DEFINE := syno-meson-cross.define
GLIB_PREFIX_DIR := /usr
PKG_CONFIG := $(shell which pkg-config)
.PHONY: build clean install build-meson clean-meson

all: build

build: build-meson

$(CROSS_FILE_DEFINE):
	@rm -f $@
	@echo "Creating $@ ..."
	@echo "[properties]" >> $@
	@echo "c = '$(CC)'" >> $@
	@echo "cxx = '$(CXX)'" >> $@
	@echo "ar = '$(AR)'" >> $@
	@echo "strip = '$(STRIP)'" >> $@
	@echo "ld = '$(LD)'" >> $@
	@echo "growing_stack = true" >> $@
	@echo "Finish."

build-meson:: meson.build meson_options.txt $(CROSS_FILE_DEFINE)
	PKG_CONFIG=$(PKG_CONFIG) PKG_CONFIG_PATH=$(SynoLibDir)/pkgconfig CC=$(CC) CXX=$(CXX) AR=$(AR) LD=$(LD) STRIP=$(STRIP) RANLIB=$(RANLIB) NM=$(NM) CFLAGS="$(CFLAGS) -I../include -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE" LDFLAGS="$(LDFLAGS)" meson $(MESON_BUILD_DIR) --cross-file $(CROSS_FILE_DEFINE) --buildtype=minsize --prefix=$(GLIB_PREFIX_DIR) --default-library=both
	ninja -C $(MESON_BUILD_DIR)

install:
	meson configure $(MESON_BUILD_DIR) -Dprefix=$(GLIB_PREFIX_DIR)
	DESTDIR=$(DESTDIR) ninja -C $(MESON_BUILD_DIR) install
install-dev:
	meson configure $(MESON_BUILD_DIR) -Dprefix=$(PREFIX) -Dbindir=$(BINDIR) -Dlibdir=$(LIBDIR) -Dincludedir=$(INCLUDEDIR)
	DESTDIR=$(DESTDIR) ninja -C $(MESON_BUILD_DIR) install
install-exec:

clean: clean-meson

clean-meson:
	$(RM) -rf $(MESON_BUILD_DIR) $(CROSS_FILE_DEFINE)
