#!/usr/bin/make -f

SRC_ROOT=$(CURDIR)/../
include $(SRC_ROOT)/app.mk

PKG_SRC_DIR=$(SRC_ROOT)/dist/debian/

APP_BUILD_DIR=$(PKG_SRC_DIR)/autodiag/
LIB_BUILD_DIR=$(PKG_SRC_DIR)/libautodiag/

APP_BIN=$(APP_BUILD_DIR)/usr/bin/
APP_SHARE=$(APP_BUILD_DIR)/usr/share/autodiag
APP_APPLICATIONS=$(APP_BUILD_DIR)/usr/share/applications
APP_ICONS=$(APP_BUILD_DIR)/usr/share/pixmaps
BUILDINFO_FILENAME=$(APP_NAME)_$(APP_VERSION)_$(shell dpkg-architecture -qDEB_HOST_ARCH).buildinfo
CHANGES_FILENAME=$(APP_NAME)_$(APP_VERSION)_$(shell dpkg-architecture -qDEB_HOST_ARCH).changes

LIB_LIB=$(LIB_BUILD_DIR)/usr/lib/
LIB_SHARE=$(LIB_BUILD_DIR)/usr/share/libautodiag
LIB_SHARE_COMPAT=$(LIB_BUILD_DIR)/usr/share/autodiag

DEV_BUILD_DIR=$(PKG_SRC_DIR)/libautodiag-dev/
DEV_INCLUDE=$(DEV_BUILD_DIR)/usr/include/libautodiag/

build:
	cd $(SRC_ROOT) && make default

binary:
	mkdir -p \
		$(APP_BUILD_DIR)/DEBIAN $(APP_BIN) $(APP_SHARE) \
		$(LIB_BUILD_DIR)/DEBIAN $(LIB_LIB) $(LIB_SHARE) $(LIB_SHARE_COMPAT) \
		$(DEV_BUILD_DIR)/DEBIAN $(DEV_INCLUDE) $(APP_APPLICATIONS) $(APP_ICONS)

	for f in $(SRC_ROOT)/output/bin/*; do \
		case "$$f" in \
			*.so|*.deb|*.changes|*.buildinfo) ;; \
			*) install -m 755 "$$f" $(APP_BIN) ;; \
		esac \
	done

	for lib in $(SRC_ROOT)/output/bin/*.so; do \
		echo "Installing library $$lib" ; \
		install -m 644 "$$lib" $(LIB_LIB) ; \
		ln -s $$(basename $$lib) $(LIB_LIB)/libautodiag.so ; \
	done

	install -m 644 $(SRC_ROOT)/dist/linux/autodiag.desktop \
		$(APP_APPLICATIONS)/autodiag.desktop

	install -m 644 $(SRC_ROOT)/media/app_icon.png \
		$(APP_ICONS)/autodiag.png

	cp -r $(SRC_ROOT)/data/data $(LIB_SHARE_COMPAT)

	cp -r $(SRC_ROOT)/ui $(APP_SHARE)
	cp -r $(SRC_ROOT)/media $(APP_SHARE)
	chmod -R 755 $(APP_SHARE)

	cp -r $(SRC_ROOT)/include/main/libautodiag/* $(DEV_INCLUDE)

	dpkg-gencontrol -P$(LIB_BUILD_DIR) -c$(PKG_SRC_DIR)/control -DMaintainer="$(APP_MAINTAINER)" \
		-plibautodiag -v$(APP_VERSION) -USource -O$(LIB_BUILD_DIR)/DEBIAN/control
	dpkg-deb --build $(LIB_BUILD_DIR) $(SRC_ROOT)/output/bin/

	dpkg-gencontrol -P$(DEV_BUILD_DIR) -c$(PKG_SRC_DIR)/control -DMaintainer="$(APP_MAINTAINER)" \
		-plibautodiag-dev -v$(APP_VERSION) -USource -O$(DEV_BUILD_DIR)/DEBIAN/control
	dpkg-deb --build $(DEV_BUILD_DIR) $(SRC_ROOT)/output/bin/

	dpkg-gencontrol -P$(APP_BUILD_DIR) -c$(PKG_SRC_DIR)/control -DMaintainer="$(APP_MAINTAINER)" \
		-DDescription="Car scantool`echo \"\\n$(APP_DESC)\" | sed 's/\\n/\n/g'`" \
		-pautodiag -v$(APP_VERSION) -USource -O$(APP_BUILD_DIR)/DEBIAN/control
	rm -f $(SRC_ROOT)/output/bin/$(BUILDINFO_FILENAME)
	ln -s $(SRC_ROOT)/$(BUILDINFO_FILENAME) $(SRC_ROOT)/output/bin/$(BUILDINFO_FILENAME)
	dpkg-deb --build $(APP_BUILD_DIR) $(SRC_ROOT)/output/bin/

clean: done
done:
	rm -fr $(APP_BUILD_DIR) $(LIB_BUILD_DIR)
	rm -f $(PKG_SRC_DIR)/files
	rm -fr $(DEV_BUILD_DIR)
	rm -f $(SRC_ROOT)/output/bin/$(BUILDINFO_FILENAME)
	rm -f $(SRC_ROOT)/$(BUILDINFO_FILENAME)
