]> git.proxmox.com Git - proxmox-widget-toolkit.git/blobdiff - Makefile
bump version to 4.2.3
[proxmox-widget-toolkit.git] / Makefile
index 1d1dafbfe385a5a5e739428138f8e569fae9dd71..47c1cf1916fd0b59968d4737aebe5cb1e1c761fb 100644 (file)
--- a/Makefile
+++ b/Makefile
 include /usr/share/dpkg/pkg-info.mk
 
-include defines.mk
+PACKAGE=proxmox-widget-toolkit
 
-SUBDIRS= css images
+DEB=$(PACKAGE)_$(DEB_VERSION)_all.deb
+DEV_DEB=$(PACKAGE)-dev_$(DEB_VERSION)_all.deb
 
-JSSRC=                                 \
-       Utils.js                        \
-       Toolkit.js                      \
-       Logo.js                         \
-       mixin/CBind.js                  \
-       data/reader/JsonObject.js       \
-       data/ProxmoxProxy.js            \
-       data/UpdateStore.js             \
-       data/DiffStore.js               \
-       data/ObjectStore.js             \
-       data/RRDStore.js                \
-       data/TimezoneStore.js           \
-       data/model/Realm.js             \
-       form/DisplayEdit.js             \
-       form/ExpireDate.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         \
-       form/BondModeSelector.js        \
-       form/NetworkSelector.js         \
-       form/RealmComboBox.js           \
-       form/RoleSelector.js            \
-       button/Button.js                \
-       button/HelpButton.js            \
-       grid/ObjectGrid.js              \
-       grid/PendingObjectGrid.js       \
-       panel/InputPanel.js             \
-       panel/LogView.js                \
-       panel/JournalView.js            \
-       panel/RRDChart.js               \
-       panel/GaugeWidget.js            \
-       window/Edit.js                  \
-       window/PasswordEdit.js          \
-       window/TaskViewer.js            \
-       window/LanguageEdit.js          \
-       node/APT.js                     \
-       node/NetworkEdit.js             \
-       node/NetworkView.js             \
-       node/DNSEdit.js                 \
-       node/HostsView.js               \
-       node/DNSView.js                 \
-       node/Tasks.js                   \
-       node/ServiceView.js             \
-       node/TimeEdit.js                \
-       node/TimeView.js
+DEBS=$(DEB) $(DEV_DEB)
+DSC=$(PACKAGE)_$(DEB_VERSION).dsc
 
-all: ${SUBDIRS}
-       set -e && for i in ${SUBDIRS}; do ${MAKE} -C $$i; done
+BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
 
-${BUILDDIR}:
-       rm -rf ${BUILDDIR}
-       rsync -a * ${BUILDDIR}
-       echo "git clone git://git.proxmox.com/git/proxmox-widget-toolkit.git\\ngit checkout ${GITVERSION}" >  ${BUILDDIR}/debian/SOURCE
+$(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}
-${DEB}: ${BUILDDIR}
-       cd ${BUILDDIR}; dpkg-buildpackage -b -us -uc
-       lintian ${DEB}
+deb: $(DEBS)
+$(DEBS): $(BUILDDIR)
+       cd $(BUILDDIR); dpkg-buildpackage -b -us -uc
+       lintian $(DEBS)
 
 .PHONY: dsc
-dsc: ${DSC}
-${DSC}: ${BUILDDIR}
-       cd ${BUILDDIR}; dpkg-buildpackage -S -us -uc -d
-       lintian ${DSC}
+dsc: $(DSC)
+       $(MAKE) clean
+       $(MAKE) $(DSC)
+       lintian $(DSC)
 
-.PHONY: lint
-check: lint
-lint: ${JSSRC}
-       eslint ${JSSRC}
+$(DSC): $(BUILDDIR)
+       cd $(BUILDDIR); dpkg-buildpackage -S -us -uc -d
 
-proxmoxlib.js: ${JSSRC}
-       # add the version as comment in the file
-       echo "// ${DEB_VERSION_UPSTREAM_REVISION}" > $@.tmp
-       cat ${JSSRC} >> $@.tmp
-       mv $@.tmp $@
+sbuild: $(DSC)
+       sbuild $(DSC)
 
-install: proxmoxlib.js
-       install -d -m 755 ${WWWBASEDIR}
-       install -m 0644 proxmoxlib.js ${WWWBASEDIR}
-       set -e && for i in ${SUBDIRS}; do ${MAKE} -C $$i $@; done
+.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,pbs --dist buster
+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 ${BUILDDIR} *.tar.gz *.dsc *.deb *.changes *.buildinfo proxmoxlib.js
-       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)