#!/usr/bin/make -f define checkdir @test -f debian/rules || \ (echo Not in correct source directory; exit 1) endef define checkroot @test $$(id -u) = 0 || (echo need root priviledges; exit 1) endef PRODUCT = prometheus TOP_DIR := $(shell if [ "$$PWD" != "" ]; then echo $$PWD; else pwd; fi) SRC_DIR = $(TOP_DIR) DEB_DIR = $(TOP_DIR)/debian DEST_DIR = $(DEB_DIR)/$(PRODUCT) BIN_DIR = $(DEST_DIR)/usr/bin CONF_DIR = $(DEST_DIR)/etc/$(PRODUCT) DEFAULT_DIR = $(DEST_DIR)/etc/default DOCS_DIR = $(DEST_DIR)/usr/share/doc/$(PRODUCT) SYSD_DIR = $(DEST_DIR)/usr/lib/systemd/system SHARE_DIR = $(DEST_DIR)/usr/share/$(PRODUCT) build: binary: $(checkdir) $(checkroot) mkdir -p $(DEST_DIR)/DEBIAN $(BIN_DIR) $(CONF_DIR) $(DEFAULT_DIR) $(DOCS_DIR) $(SYSD_DIR) $(SHARE_DIR) install -Dm755 $(SRC_DIR)/$(PRODUCT) -t $(BIN_DIR) install -Dm755 $(SRC_DIR)/promtool -t $(BIN_DIR) install -Dm755 $(SRC_DIR)/tsdb -t $(BIN_DIR) install -Dm644 $(SRC_DIR)/LICENSE -t $(DOCS_DIR) install -Dm644 $(SRC_DIR)/NOTICE -t $(DOCS_DIR) install -Dm644 $(SRC_DIR)/$(PRODUCT).yml -t $(CONF_DIR) install -Dm755 $(DEB_DIR)/postinst -t $(DEST_DIR)/DEBIAN install -Dm644 $(DEB_DIR)/default $(DEFAULT_DIR)/$(PRODUCT) install -Dm644 $(DEB_DIR)/service $(SYSD_DIR)/$(PRODUCT).service cp -r $(SRC_DIR)/console_libraries $(SHARE_DIR) cp -r $(SRC_DIR)/consoles $(SHARE_DIR) dpkg-gencontrol -P$(DEST_DIR) cd $(DEST_DIR) && find . -type f ! -regex '.*DEBIAN/.*' -printf '%P\0' | xargs -r0 md5sum > DEBIAN/md5sums dpkg-deb -b $(DEST_DIR) ../ clean: $(checkdir) -rm -rf debian/$(PRODUCT) -rm -f debian/files -rm -f debian/substvars .PHONY: binary clean