include /usr/share/dpkg/default.mk
# source form https://github.com/zfsonlinux/
-ZFSDIR=zfs-linux_$(DEB_VERSION_UPSTREAM)
-ZFSSRC=upstream
-ORIG_SRC_TAR=$(ZFSDIR).orig.tar.gz
+PACKAGE = zfs-linux
+
+SRCDIR = upstream
+BUILDDIR ?= $(PACKAGE)-$(DEB_VERSION_UPSTREAM)
+ORIG_SRC_TAR = $(PACKAGE)_$(DEB_VERSION_UPSTREAM).orig.tar.gz
ZFS_DEB1= libnvpair3linux_$(DEB_VERSION)_amd64.deb
ZFS_DSC = zfs-linux_$(DEB_VERSION).dsc
all: deb
-.PHONY: deb
+
+.PHONY: deb dsc
deb: $(DEBS)
-.PHONY: dsc
-dsc: $(ZFS_DSC)
+
+dsc:
+ rm -rf *.dsc $(BUILDDIR)
+ $(MAKE) $(ZFS_DSC)
+ lintian $(ZFS_DSC)
# called from pve-kernel's Makefile to get patched sources
.PHONY: kernel
.PHONY: submodule
submodule:
- test -f "$(ZFSSRC)/README.md" || git submodule update --init
-$(ZFSSRC)/README.md: submodule
+ test -f "$(SRCDIR)/README.md" || git submodule update --init
+
+$(SRCDIR)/README.md: submodule
.PHONY: zfs
zfs: $(DEBS)
$(ZFS_DEB2) $(ZFS_DBG_DEBS): $(ZFS_DEB1)
-$(ZFS_DEB1): $(ZFSDIR)
- cd $(ZFSDIR); dpkg-buildpackage -b -uc -us
+$(ZFS_DEB1): $(BUILDDIR)
+ cd $(BUILDDIR); dpkg-buildpackage -b -uc -us
lintian $(DEBS)
-$(ORIG_SRC_TAR): $(ZFSDIR)
- tar czf $(ORIG_SRC_TAR) --exclude="$(ZFSDIR)/debian" $(ZFSDIR)
+$(ORIG_SRC_TAR): $(BUILDDIR)
+ tar czf $(ORIG_SRC_TAR) --exclude="$(BUILDDIR)/debian" $(BUILDDIR)
-$(ZFS_DSC): $(ZFSDIR) $(ORIG_SRC_TAR)
- tar czf zfs-linux_$(ZFSVER).orig.tar.gz $(ZFSDIR)
- cd $(ZFSDIR); dpkg-buildpackage -S -uc -us -d
- lintian $@
+$(ZFS_DSC): $(BUILDDIR) $(ORIG_SRC_TAR)
+ cd $(BUILDDIR); dpkg-buildpackage -S -uc -us -d
-$(ZFSDIR): $(ZFSSRC)/README.md $(ZFSSRC) debian
- rm -rf $(ZFSDIR) $(ZFSDIR).tmp
- cp -a $(ZFSSRC) $(ZFSDIR).tmp
- cp -a debian $(ZFSDIR).tmp/debian
- mv $(ZFSDIR).tmp $(ZFSDIR)
+sbuild: $(ZFS_DSC)
+ sbuild $(ZFS_DSC)
+$(BUILDDIR): $(SRCDIR)/README.md $(SRCDIR) debian
+ rm -rf $@ $@.tmp
+ cp -a $(SRCDIR) $@.tmp
+ cp -a debian $@.tmp/debian
+ mv $@.tmp $@
.PHONY: clean
clean:
- rm -rf *~ *.deb *.changes *.buildinfo *.build *.dsc *.orig.tar.* *.debian.tar.* $(ZFSDIR)
+ rm -rf $(PACKAGE)-[0-9]*/
+ rm -f *~ *.deb *.changes *.buildinfo *.build *.dsc *.orig.tar.* *.debian.tar.*
.PHONY: distclean
distclean: clean