-PACKAGE=proxmox-widget-toolkit
-PKGVER=1.0
-PKGREL=3
-
-DEB=${PACKAGE}_${PKGVER}-${PKGREL}_all.deb
+include /usr/share/dpkg/pkg-info.mk
-DESTDIR=
+PACKAGE=proxmox-widget-toolkit
-DOCDIR=${DESTDIR}/usr/share/doc/${PACKAGE}
+DEB=$(PACKAGE)_$(DEB_VERSION)_all.deb
+DEV_DEB=$(PACKAGE)-dev_$(DEB_VERSION)_all.deb
-WWWBASEDIR=${DESTDIR}/usr/share/javascript/${PACKAGE}
+DEBS=$(DEB) $(DEV_DEB)
+DSC=$(PACKAGE)_$(DEB_VERSION).dsc
-JSSRC= \
- Utils.js \
- Toolkit.js \
- mixin/CBind.js \
- data/reader/JsonObject.js \
- data/ProxmoxProxy.js \
- data/UpdateQueue.js \
- data/UpdateStore.js \
- data/DiffStore.js \
- data/ObjectStore.js \
- data/RRDStore.js \
- data/TimezoneStore.js \
- form/IntegerField.js \
- form/TextField.js \
- form/DateTimeField.js \
- form/Checkbox.js \
- form/KVComboBox.js \
- form/ComboGrid.js \
- form/RRDTypeSelector.js \
- button/Button.js \
- grid/ObjectGrid.js \
- grid/PendingObjectGrid.js \
- panel/InputPanel.js \
- panel/LogView.js \
- panel/RRDChart.js \
- window/Edit.js \
- window/PasswordEdit.js \
- window/TaskViewer.js \
- node/NetworkEdit.js \
- node/NetworkView.js \
- node/DNSEdit.js \
- node/DNSView.js \
- node/Tasks.js \
- node/ServiceView.js \
- node/TimeEdit.js \
- node/TimeView.js
+BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
-all:
+$(BUILDDIR): GITVERSION:=$(shell git rev-parse HEAD)
+$(BUILDDIR):
+ rm -rf $(BUILDDIR) $(BUILDDIR).tmp
+ cp -a src/ $(BUILDDIR).tmp
+ cp -a debian $(BUILDDIR).tmp/
+ echo "git clone git://git.proxmox.com/git/proxmox-widget-toolkit.git\\ngit checkout $(GITVERSION)" > $(BUILDDIR).tmp/debian/SOURCE
+ mv $(BUILDDIR).tmp/ $(BUILDDIR)
.PHONY: deb
-deb ${DEB}:
- rm -rf build
- rsync -a * build
- cd build; dpkg-buildpackage -b -us -uc
- lintian ${DEB}
+deb: $(DEBS)
+$(DEBS): $(BUILDDIR)
+ cd $(BUILDDIR); dpkg-buildpackage -b -us -uc
+ lintian $(DEBS)
-.PHONY: lint
-lint: ${JSSRC}
- jslint ${JSSRC}
+.PHONY: dsc
+dsc: $(DSC)
+ $(MAKE) clean
+ $(MAKE) $(DSC)
+ lintian $(DSC)
-proxmoxlib.js: ${JSSRC}
- cat ${JSSRC} >$@.tmp
- mv $@.tmp $@
+$(DSC): $(BUILDDIR)
+ cd $(BUILDDIR); dpkg-buildpackage -S -us -uc -d
-install: proxmoxlib.js
- install -d -m 755 ${WWWBASEDIR}
- install -m 0644 proxmoxlib.js ${WWWBASEDIR}
+sbuild: $(DSC)
+ sbuild $(DSC)
+
+.PHONY: lint
+lint: $(JSSRC)
+ $(MAKE) -C src lint
.PHONY: upload
-upload: ${DEB}
- tar cf - ${DEB} | ssh -X repoman@repo.proxmox.com -- upload --product pve,pmg --dist stretch
+upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
+upload: $(DEBS)
+ tar cf - $(DEB) | ssh -X repoman@repo.proxmox.com -- upload --product pve,pmg,pbs --dist $(UPLOAD_DIST)
+ tar cf - $(DEV_DEB) | ssh -X repoman@repo.proxmox.com -- upload --product devel --dist $(UPLOAD_DIST)
distclean: clean
-
clean:
- rm -rf ./build *.deb *.changes *.buildinfo
- find . -name '*~' -exec rm {} ';'
+ $(MAKE) -C src clean
+ rm -rf $(PACKAGE)-[0-9]*/ *.tar.* *.dsc *.deb *.changes *.buildinfo *.build
.PHONY: dinstall
-dinstall: ${DEB}
- dpkg -i ${DEB}
+dinstall: $(DEBS)
+ dpkg -i $(DEBS)