]> git.proxmox.com Git - zfsonlinux.git/blob - Makefile
ensure submodule gets initialized on fresh clone and build
[zfsonlinux.git] / Makefile
1 # source form https://github.com/zfsonlinux/
2
3 ZFSPKG=debian
4 ZFSVER != dpkg-parsechangelog -l ${ZFSPKG}/changelog -Sversion | cut -d- -f1
5 ZFSPKGVER != dpkg-parsechangelog -l ${ZFSPKG}/changelog -Sversion
6 ZFSDIR=zfs-linux_${ZFSVER}
7 ZFSSRC=upstream
8
9 ZFS_DEB1= libnvpair1linux_${ZFSPKGVER}_amd64.deb
10 ZFS_DEB2= \
11 libuutil1linux_${ZFSPKGVER}_amd64.deb \
12 libzfs2linux_${ZFSPKGVER}_amd64.deb \
13 libzfslinux-dev_${ZFSPKGVER}_amd64.deb \
14 libzpool2linux_${ZFSPKGVER}_amd64.deb \
15 zfs-dbg_${ZFSPKGVER}_amd64.deb \
16 zfs-zed_${ZFSPKGVER}_amd64.deb \
17 zfs-initramfs_${ZFSPKGVER}_all.deb \
18 zfs-test_${ZFSPKGVER}_amd64.deb \
19 zfsutils-linux_${ZFSPKGVER}_amd64.deb
20 ZFS_DEBS= $(ZFS_DEB1) $(ZFS_DEB2)
21 ZFS_DSC = zfs-linux_${ZFSPKGVER}.dsc
22
23 all: deb
24 .PHONY: deb
25 deb: ${ZFS_DEBS}
26 .PHONY: dsc
27 dsc: ${ZFS_DSC}
28
29 # called from pve-kernel's Makefile to get patched sources
30 .PHONY: kernel
31 kernel: dsc
32 dpkg-source -x ${ZFS_DSC} ../pkg-zfs
33 $(MAKE) -C ../pkg-zfs -f debian/rules adapt_meta_file
34
35 .PHONY: dinstall
36 dinstall: ${DEBS}
37 dpkg -i ${DEBS}
38
39 .PHONY: submodule
40 submodule:
41 test -f "$(ZFSSRC)/README.md" || git submodule update --init
42 $(ZFSSRC)/README.md: submodule
43
44 .PHONY: zfs
45 zfs: $(ZFS_DEBS)
46 $(ZFS_DEB2): $(ZFS_DEB1)
47 $(ZFS_DEB1): ${ZFSDIR}
48 cd ${ZFSDIR}; dpkg-buildpackage -b -uc -us
49 lintian ${ZFS_DEBS}
50
51 ${ZFS_DSC}: ${ZFSDIR}
52 tar czf zfs-linux_${ZFSVER}.orig.tar.gz ${ZFSDIR}
53 cd ${ZFSDIR}; dpkg-buildpackage -S -uc -us -d
54 lintian $@
55
56 ${ZFSDIR}: $(ZFSSRC)/README.md $(ZFSSRC) ${ZFSPKG}
57 rm -rf ${ZFSDIR}
58 mkdir ${ZFSDIR}
59 cp -a ${ZFSSRC}/* ${ZFSDIR}/
60 cp -a ${ZFSPKG} ${ZFSDIR}/debian
61
62
63 .PHONY: clean
64 clean:
65 rm -rf *~ *.deb *.changes *.buildinfo *.dsc *.orig.tar.* *.debian.tar.* ${ZFSDIR}
66
67 .PHONY: distclean
68 distclean: clean
69
70 .PHONY: upload
71 upload: ${DEBS}
72 tar -cf - ${DEBS} | ssh repoman@repo.proxmox.com -- upload --product pve,pmg --dist buster --arch amd64