]> git.proxmox.com Git - proxmox-widget-toolkit.git/blobdiff - Makefile
buildsys: extend clean target
[proxmox-widget-toolkit.git] / Makefile
index c1cbc3db4b9d7113fe5674966e109600aa1d5cc6..b9cd2c2b7966aa9c5e08f26529ef666174dc7ab2 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,87 +1,51 @@
-PACKAGE=proxmox-widget-toolkit
-PKGVER=1.0
-PKGREL=5
+include /usr/share/dpkg/pkg-info.mk
+export DEB_VERSION_UPSTREAM_REVISION
 
-DEB=${PACKAGE}_${PKGVER}-${PKGREL}_all.deb
+export PACKAGE=proxmox-widget-toolkit
 
-DESTDIR=
+DEB=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION)_all.deb
+DEV_DEB=$(PACKAGE)-dev_$(DEB_VERSION_UPSTREAM_REVISION)_all.deb
 
-DOCDIR=${DESTDIR}/usr/share/doc/${PACKAGE}
+DEBS=$(DEB) $(DEV_DEB)
+DSC=$(PACKAGE)_$(DEB_VERSION_UPSTREAM_REVISION).dsc
 
-WWWBASEDIR=${DESTDIR}/usr/share/javascript/${PACKAGE}
+BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
 
-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/LanguageSelector.js        \
-       form/ComboGrid.js               \
-       form/RRDTypeSelector.js         \
-       button/Button.js                \
-       button/HelpButton.js            \
-       grid/ObjectGrid.js              \
-       grid/PendingObjectGrid.js       \
-       panel/InputPanel.js             \
-       panel/LogView.js                \
-       panel/RRDChart.js               \
-       panel/GaugeWidget.js            \
-       window/Edit.js                  \
-       window/PasswordEdit.js          \
-       window/TaskViewer.js            \
-       node/APT.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
-
-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}
-
-.PHONY: lint
-lint: ${JSSRC}
-       jslint ${JSSRC}
+deb: $(DEBS)
+$(DEBS): $(BUILDDIR)
+       cd $(BUILDDIR); dpkg-buildpackage -b -us -uc
+       lintian $(DEBS)
 
-proxmoxlib.js: ${JSSRC}
-       cat ${JSSRC} >$@.tmp
-       mv $@.tmp $@
+.PHONY: dsc
+dsc: $(DSC)
+$(DSC): $(BUILDDIR)
+       cd $(BUILDDIR); dpkg-buildpackage -S -us -uc -d
+       lintian $(DSC)
 
-install: proxmoxlib.js
-       install -d -m 755 ${WWWBASEDIR}
-       install -m 0644 proxmoxlib.js ${WWWBASEDIR}
+.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)