]>
Commit | Line | Data |
---|---|---|
f3757573 BB |
1 | ############################################################################### |
2 | # Copyright (C) 2007-2013 Lawrence Livermore National Security, LLC. | |
3 | # Copyright (C) 2007 The Regents of the University of California. | |
4 | # Written by Brian Behlendorf <behlendorf1@llnl.gov>. | |
5 | ############################################################################### | |
6 | # Build targets for RPM packages. | |
7 | ############################################################################### | |
8 | ||
e6c093dd | 9 | PHONY += srpm srpms srpm-kmod srpm-dkms srpm-utils |
d0cea309 | 10 | PHONY += rpm rpms rpm-kmod rpm-dkms rpm-utils rpm-utils-initramfs |
e6c093dd AS |
11 | PHONY += srpm-common rpm-common rpm-local |
12 | ||
13 | srpm-kmod srpm-dkms srpm-utils: dist | |
14 | ||
f3757573 BB |
15 | srpm-kmod: |
16 | $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-kmod" \ | |
17 | def='${SRPM_DEFINE_COMMON} ${SRPM_DEFINE_KMOD}' srpm-common | |
18 | ||
19 | srpm-dkms: | |
20 | $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-dkms" \ | |
21 | def='${SRPM_DEFINE_COMMON} ${SRPM_DEFINE_DKMS}' srpm-common | |
c9c0d073 BB |
22 | |
23 | srpm-utils: | |
f3757573 BB |
24 | $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}" \ |
25 | def='${SRPM_DEFINE_COMMON} ${SRPM_DEFINE_UTIL}' srpm-common | |
c9c0d073 | 26 | |
f3757573 BB |
27 | srpm: srpm-kmod srpm-dkms srpm-utils |
28 | srpms: srpm-kmod srpm-dkms srpm-utils | |
c9c0d073 | 29 | |
f3757573 BB |
30 | rpm-kmod: srpm-kmod |
31 | $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-kmod" \ | |
32 | def='${RPM_DEFINE_COMMON} ${RPM_DEFINE_KMOD}' rpm-common | |
26e08952 | 33 | |
f3757573 BB |
34 | rpm-dkms: srpm-dkms |
35 | $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-dkms" \ | |
36 | def='${RPM_DEFINE_COMMON} ${RPM_DEFINE_DKMS}' rpm-common | |
c9c0d073 | 37 | |
d0cea309 HD |
38 | # The rpm-utils and rpm-utils-initramfs targets are identical except for the |
39 | # zfs-initramfs package: rpm-utils never includes it, rpm-utils-initramfs | |
40 | # includes it if detected at configure time. The zfs-initramfs package does | |
41 | # not work on any known RPM-based distribution and the resulting RPM is only | |
42 | # used to create a Debian package. The rpm-utils-initramfs target is not | |
43 | # intended to be specified by the user directly, it is provided as a | |
44 | # dependency of the deb-utils target. | |
45 | ||
c9c0d073 | 46 | rpm-utils: srpm-utils |
f3757573 BB |
47 | $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}" \ |
48 | def='${RPM_DEFINE_COMMON} ${RPM_DEFINE_UTIL}' rpm-common | |
c9c0d073 | 49 | |
d0cea309 HD |
50 | rpm-utils-initramfs: srpm-utils |
51 | $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}" \ | |
52 | def='${RPM_DEFINE_COMMON} ${RPM_DEFINE_UTIL} ${RPM_DEFINE_INITRAMFS}' rpm-common | |
53 | ||
f3757573 BB |
54 | rpm: rpm-kmod rpm-dkms rpm-utils |
55 | rpms: rpm-kmod rpm-dkms rpm-utils | |
c9c0d073 BB |
56 | |
57 | rpm-local: | |
58 | @(if test "${HAVE_RPMBUILD}" = "no"; then \ | |
59 | echo -e "\n" \ | |
60 | "*** Required util ${RPMBUILD} missing. Please install the\n" \ | |
61 | "*** package for your distribution which provides ${RPMBUILD},\n" \ | |
62 | "*** re-run configure, and try again.\n"; \ | |
63 | exit 1; \ | |
64 | fi; \ | |
65 | mkdir -p $(rpmbuild)/TMP && \ | |
66 | mkdir -p $(rpmbuild)/BUILD && \ | |
67 | mkdir -p $(rpmbuild)/RPMS && \ | |
68 | mkdir -p $(rpmbuild)/SRPMS && \ | |
69 | mkdir -p $(rpmbuild)/SPECS && \ | |
f3757573 | 70 | cp ${RPM_SPEC_DIR}/$(rpmspec) $(rpmbuild)/SPECS && \ |
c9c0d073 | 71 | mkdir -p $(rpmbuild)/SOURCES && \ |
47a4a6fd | 72 | cp $(top_srcdir)/scripts/kmodtool $(rpmbuild)/SOURCES && \ |
c9c0d073 BB |
73 | cp $(distdir).tar.gz $(rpmbuild)/SOURCES) |
74 | ||
e6c093dd | 75 | srpm-common: |
f3757573 BB |
76 | @(dist=`$(RPM) --eval %{?dist}`; \ |
77 | rpmpkg=$(pkg)-$(VERSION)-$(RELEASE)$$dist*src.rpm; \ | |
c9c0d073 BB |
78 | rpmspec=$(pkg).spec; \ |
79 | rpmbuild=`mktemp -t -d $(PACKAGE)-build-$$USER-XXXXXXXX`; \ | |
80 | $(MAKE) $(AM_MAKEFLAGS) \ | |
81 | rpmbuild="$$rpmbuild" \ | |
82 | rpmspec="$$rpmspec" \ | |
83 | rpm-local || exit 1; \ | |
0f629346 | 84 | LANG=C $(RPMBUILD) \ |
c9c0d073 BB |
85 | --define "_tmppath $$rpmbuild/TMP" \ |
86 | --define "_topdir $$rpmbuild" \ | |
f3757573 | 87 | $(def) -bs $$rpmbuild/SPECS/$$rpmspec || exit 1; \ |
c9c0d073 | 88 | cp $$rpmbuild/SRPMS/$$rpmpkg . || exit 1; \ |
f3757573 | 89 | rm -R $$rpmbuild) |
c9c0d073 BB |
90 | |
91 | rpm-common: | |
f3757573 BB |
92 | @(dist=`$(RPM) --eval %{?dist}`; \ |
93 | rpmpkg=$(pkg)-$(VERSION)-$(RELEASE)$$dist*src.rpm; \ | |
c9c0d073 BB |
94 | rpmspec=$(pkg).spec; \ |
95 | rpmbuild=`mktemp -t -d $(PACKAGE)-build-$$USER-XXXXXXXX`; \ | |
96 | $(MAKE) $(AM_MAKEFLAGS) \ | |
97 | rpmbuild="$$rpmbuild" \ | |
98 | rpmspec="$$rpmspec" \ | |
99 | rpm-local || exit 1; \ | |
0f629346 | 100 | LANG=C ${RPMBUILD} \ |
c9c0d073 BB |
101 | --define "_tmppath $$rpmbuild/TMP" \ |
102 | --define "_topdir $$rpmbuild" \ | |
f3757573 | 103 | $(def) --rebuild $$rpmpkg || exit 1; \ |
c9c0d073 | 104 | cp $$rpmbuild/RPMS/*/* . || exit 1; \ |
f3757573 | 105 | rm -R $$rpmbuild) |