]> git.proxmox.com Git - zfsonlinux.git/blob - Makefile
build: add kernel target
[zfsonlinux.git] / Makefile
1 RELEASE=5.1
2
3 # source form https://github.com/zfsonlinux/
4
5 ZFSVER=0.7.12
6 ZFSPKGREL=pve1~bpo1
7 SPLPKGREL=pve1~bpo1
8 ZFSPKGVER=${ZFSVER}-${ZFSPKGREL}
9 SPLPKGVER=${ZFSVER}-${SPLPKGREL}
10
11 SPLDIR=spl-linux_${ZFSVER}
12 SPLSRC=spl/upstream
13 SPLPKG=spl/debian
14 ZFSDIR=zfs-linux_${ZFSVER}
15 ZFSSRC=zfs/upstream
16 ZFSPKG=zfs/debian
17
18 SPL_DEB = \
19 spl_${SPLPKGVER}_amd64.deb
20 SPL_DSC = spl-linux_${SPLPKGVER}.dsc
21
22 ZFS_DEB1= libnvpair1linux_${ZFSPKGVER}_amd64.deb
23 ZFS_DEB2= \
24 libuutil1linux_${ZFSPKGVER}_amd64.deb \
25 libzfs2linux_${ZFSPKGVER}_amd64.deb \
26 libzfslinux-dev_${ZFSPKGVER}_amd64.deb \
27 libzpool2linux_${ZFSPKGVER}_amd64.deb \
28 zfs-dbg_${ZFSPKGVER}_amd64.deb \
29 zfs-zed_${ZFSPKGVER}_amd64.deb \
30 zfs-initramfs_${ZFSPKGVER}_all.deb \
31 zfs-test_${ZFSPKGVER}_amd64.deb \
32 zfsutils-linux_${ZFSPKGVER}_amd64.deb
33 ZFS_DEBS= $(ZFS_DEB1) $(ZFS_DEB2)
34 ZFS_DSC = zfs-linux_${ZFSPKGVER}.dsc
35
36 DEBS=${SPL_DEB} ${ZFS_DEBS}
37 DSCS=${SPL_DSC} ${ZFS_DSC}
38
39 all: deb
40 .PHONY: deb
41 deb: ${DEBS}
42 .PHONY: dsc
43 dsc: ${DSCS}
44
45 # called from pve-kernel's Makefile to get patched sources
46 .PHONY: kernel
47 kernel: dsc
48 dpkg-source -x ${SPL_DSC} ../pkg-spl
49 dpkg-source -x ${ZFS_DSC} ../pkg-zfs
50
51 .PHONY: dinstall
52 dinstall: ${DEBS}
53 dpkg -i ${DEBS}
54
55 .PHONY: submodule
56 submodule:
57 test -f "${ZFSSRC}/README.markdown" || git submodule update --init
58 test -f "${SPLSRC}/README.markdown" || git submodule update --init
59
60 .PHONY: spl
61 spl: ${SPL_DEB}
62 ${SPL_DEB}: ${SPLDIR}
63 cd ${SPLDIR}; dpkg-buildpackage -b -uc -us
64 lintian ${SPL_DEB}
65
66 ${SPL_DSC}: ${SPLDIR}
67 tar czf spl-linux_${ZFSVER}.orig.tar.gz ${SPLDIR}
68 cd ${SPLDIR}; dpkg-buildpackage -S -uc -us -d
69 lintian $@
70
71 ${SPLDIR}: ${SPLSRC} ${SPLPKG}
72 rm -rf ${SPLDIR}
73 mkdir ${SPLDIR}
74 cp -a ${SPLSRC}/* ${SPLDIR}/
75 cp -a ${SPLPKG} ${SPLDIR}/debian
76
77 .PHONY: zfs
78 zfs: $(ZFS_DEBS)
79 $(ZFS_DEB2): $(ZFS_DEB1)
80 $(ZFS_DEB1): ${ZFSDIR}
81 cd ${ZFSDIR}; dpkg-buildpackage -b -uc -us
82 lintian ${ZFS_DEBS}
83
84 ${ZFS_DSC}: ${ZFSDIR}
85 tar czf zfs-linux_${ZFSVER}.orig.tar.gz ${ZFSDIR}
86 cd ${ZFSDIR}; dpkg-buildpackage -S -uc -us -d
87 lintian $@
88
89 ${ZFSDIR}: $(ZFSSRC) ${ZFSPKG}
90 rm -rf ${ZFSDIR}
91 mkdir ${ZFSDIR}
92 cp -a ${ZFSSRC}/* ${ZFSDIR}/
93 cp -a ${ZFSPKG} ${ZFSDIR}/debian
94
95
96 .PHONY: clean
97 clean:
98 rm -rf *~ *.deb *.changes *.buildinfo *.dsc *.orig.tar.* *.debian.tar.* ${ZFSDIR} ${SPLDIR}
99
100 .PHONY: distclean
101 distclean: clean
102
103 .PHONY: upload
104 upload: ${DEBS}
105 tar -cf - ${DEBS} | ssh repoman@repo.proxmox.com -- upload --product pve,pmg --dist stretch --arch amd64