52 lines
1.6 KiB
Makefile
Executable File
52 lines
1.6 KiB
Makefile
Executable File
#!/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 -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
|