]> git.proxmox.com Git - pve-edk2-firmware.git/blobdiff - Makefile
bump version to 4.2023.08-4
[pve-edk2-firmware.git] / Makefile
index d24eacc24b2ff754e16482ec2923f0427338a5a7..6091ce7b4ca2a1e2e42bba41666ad87b8725afb2 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,47 +1,75 @@
+include /usr/share/dpkg/pkg-info.mk
+
 PACKAGE=pve-edk2-firmware
-# version and package release is controlled over d/changelog
-VER=$(shell dpkg-parsechangelog -S version)
 
 SRCDIR=edk2
-BUILDDIR=${SRCDIR}.build
+BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
+ORIG_SRC_TAR=$(PACKAGE)_$(DEB_VERSION_UPSTREAM).orig.tar.gz
+
+DSC=$(PACKAGE)_$(DEB_VERSION).dsc
+
+# transitional virtual package depending on the amd64 ones
+VIRTUAL_DEB = $(PACKAGE)_$(DEB_VERSION)_all.deb
+AMD64_DEB = $(PACKAGE)-legacy_$(DEB_VERSION)_all.deb $(PACKAGE)-ovmf_$(DEB_VERSION)_all.deb
+AARCH64_DEB = $(PACKAGE)-aarch64_$(DEB_VERSION)_all.deb
+RISCV_DEB = $(PACKAGE)-riscv_$(DEB_VERSION)_all.deb
 
-GITVERSION:=$(shell git rev-parse HEAD)
+DEBS = $(VIRTUAL_DEB) $(AMD64_DEB) $(AARCH64_DEB) $(RISCV_DEB)
 
-DEB=${PACKAGE}_${VER}_all.deb
+all: $(DEBS)
+       @echo $(DEBS)
 
-all: ${DEB}
-       @echo ${DEB}
+$(BUILDDIR): $(SRCDIR)/Readme.md
+       rm -rf $@ $@.tmp
+       cp -rpa $(SRCDIR) $@.tmp
+       rm -rf $@.tmp/ArmPkg/Library/GccLto/*.a
+       cp -a debian $@.tmp
+       echo "git clone git://git.proxmox.com/git/pve-edk2-firmware.git\\ngit checkout $(shell git rev-parse HEAD)" > $@.tmp/debian/SOURCE
+       mv $@.tmp $@
 
 .PHONY: deb
-deb: ${DEB}
-${DEB}: | submodule
-       rm -rf ${BUILDDIR}
-       cp -rpa ${SRCDIR} ${BUILDDIR}
-       cp -a debian ${BUILDDIR}
-       echo "git clone git://git.proxmox.com/git/pve-edk2-firmware.git\\ngit checkout ${GITVERSION}" > ${BUILDDIR}/debian/SOURCE
-       cd ${BUILDDIR}; dpkg-buildpackage -b -uc -us
-       lintian ${DEB}
-       @echo ${DEB}
+deb: $(DEBS)
+$(AMD64_DEB) $(AARCH64_DEB) $(RISCV_DEB): $(VIRTUAL_DEB)
+$(VIRTUAL_DEB): $(BUILDDIR)
+       cd $(BUILDDIR); dpkg-buildpackage -b -uc -us
+       lintian $(DEBS)
+       @echo $(DEBS)
+
+$(ORIG_SRC_TAR): $(BUILDDIR)
+       tar czf $(ORIG_SRC_TAR) --exclude="$(BUILDDIR)/debian" $(BUILDDIR)
+
+$(DSC): $(BUILDDIR) $(ORIG_SRC_TAR)
+       cd $(BUILDDIR); dpkg-buildpackage -S -uc -us -d
+
+sbuild: $(DSC)
+       sbuild $(DSC)
+
+.PHONY: dsc
+dsc: $(DSC)
+       $(MAKE) clean
+       $(MAKE) $(DSC)
+       lintian $(DSC)
 
 .PHONY: submodule
 submodule:
-       test -f "${SRCDIR}/Readme.md" || git submodule update --init
+       test -e edk2/Maintainers.txt || git submodule update --init --recursive
+
+$(SRCDIR)/Readme.md: submodule
 
 .PHONY: update_modules
 update_modules: submodule
        git submodule foreach 'git pull --ff-only origin master'
 
 .PHONY: upload
-upload: ${DEB}
-       tar cf - ${DEB}|ssh -X repoman@repo.proxmox.com -- upload --product pve --dist stretch
+upload: UPLOAD_DIST ?= $(DEB_DISTRIBUTION)
+upload: $(DEBS)
+       tar cf - $(DEBS)|ssh -X repoman@repo.proxmox.com -- upload --product pve --dist $(UPLOAD_DIST)
 
-.PHONY: distclean
+.PHONY: distclean clean
 distclean: clean
-
-.PHONY: clean
 clean:
-       rm -rf *~ debian/*~ *.deb ${BUILDDIR} *.changes *.dsc *.buildinfo
+       rm -rf *.deb $(PACKAGE)-[0-9]*/ $(PACKAGE)*.tar* *.changes *.dsc *.buildinfo *.build
 
 .PHONY: dinstall
-dinstall: ${DEB}
-       dpkg -i ${DEB}
+dinstall: $(VIRTUAL_DEB) $(AMD64_DEB)
+       dpkg -i $^