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 9PHONY += srpm srpms srpm-kmod srpm-dkms srpm-utils 10PHONY += rpm rpms rpm-kmod rpm-dkms rpm-utils 11PHONY += srpm-common rpm-common rpm-local 12 13srpm-kmod srpm-dkms srpm-utils: dist 14 15srpm-kmod: 16 $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-kmod" \ 17 def='${SRPM_DEFINE_COMMON} ${SRPM_DEFINE_KMOD}' srpm-common 18 19srpm-dkms: 20 $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-dkms" \ 21 def='${SRPM_DEFINE_COMMON} ${SRPM_DEFINE_DKMS}' srpm-common 22 23srpm-utils: 24 $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}" \ 25 def='${SRPM_DEFINE_COMMON} ${SRPM_DEFINE_UTIL}' srpm-common 26 27srpm: srpm-kmod srpm-dkms srpm-utils 28srpms: srpm-kmod srpm-dkms srpm-utils 29 30rpm-kmod: srpm-kmod 31 $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-kmod" \ 32 def='${RPM_DEFINE_COMMON} ${RPM_DEFINE_KMOD}' rpm-common 33 34rpm-dkms: srpm-dkms 35 $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}-dkms" \ 36 def='${RPM_DEFINE_COMMON} ${RPM_DEFINE_DKMS}' rpm-common 37 38rpm-utils: srpm-utils 39 $(MAKE) $(AM_MAKEFLAGS) pkg="${PACKAGE}" \ 40 def='${RPM_DEFINE_COMMON} ${RPM_DEFINE_UTIL}' rpm-common 41 42rpm: rpm-kmod rpm-dkms rpm-utils 43rpms: rpm-kmod rpm-dkms rpm-utils 44 45rpm-local: 46 @(if test "${HAVE_RPMBUILD}" = "no"; then \ 47 echo -e "\n" \ 48 "*** Required util ${RPMBUILD} missing. Please install the\n" \ 49 "*** package for your distribution which provides ${RPMBUILD},\n" \ 50 "*** re-run configure, and try again.\n"; \ 51 exit 1; \ 52 fi; \ 53 mkdir -p $(rpmbuild)/TMP && \ 54 mkdir -p $(rpmbuild)/BUILD && \ 55 mkdir -p $(rpmbuild)/RPMS && \ 56 mkdir -p $(rpmbuild)/SRPMS && \ 57 mkdir -p $(rpmbuild)/SPECS && \ 58 cp ${RPM_SPEC_DIR}/$(rpmspec) $(rpmbuild)/SPECS && \ 59 mkdir -p $(rpmbuild)/SOURCES && \ 60 cp $(top_srcdir)/scripts/kmodtool $(rpmbuild)/SOURCES && \ 61 cp $(distdir).tar.gz $(rpmbuild)/SOURCES) 62 63srpm-common: 64 @(dist=`$(RPM) --eval %{?dist}`; \ 65 rpmpkg=$(pkg)-$(VERSION)-$(RELEASE)$$dist*src.rpm; \ 66 rpmspec=$(pkg).spec; \ 67 rpmbuild=`mktemp -t -d $(PACKAGE)-build-$$USER-XXXXXXXX`; \ 68 $(MAKE) $(AM_MAKEFLAGS) \ 69 rpmbuild="$$rpmbuild" \ 70 rpmspec="$$rpmspec" \ 71 rpm-local || exit 1; \ 72 LANG=C $(RPMBUILD) \ 73 --define "_tmppath $$rpmbuild/TMP" \ 74 --define "_topdir $$rpmbuild" \ 75 $(def) -bs $$rpmbuild/SPECS/$$rpmspec || exit 1; \ 76 cp $$rpmbuild/SRPMS/$$rpmpkg . || exit 1; \ 77 rm -R $$rpmbuild) 78 79rpm-common: 80 @(dist=`$(RPM) --eval %{?dist}`; \ 81 rpmpkg=$(pkg)-$(VERSION)-$(RELEASE)$$dist*src.rpm; \ 82 rpmspec=$(pkg).spec; \ 83 rpmbuild=`mktemp -t -d $(PACKAGE)-build-$$USER-XXXXXXXX`; \ 84 $(MAKE) $(AM_MAKEFLAGS) \ 85 rpmbuild="$$rpmbuild" \ 86 rpmspec="$$rpmspec" \ 87 rpm-local || exit 1; \ 88 LANG=C ${RPMBUILD} \ 89 --define "_tmppath $$rpmbuild/TMP" \ 90 --define "_topdir $$rpmbuild" \ 91 $(def) --rebuild $$rpmpkg || exit 1; \ 92 cp $$rpmbuild/RPMS/*/* . || exit 1; \ 93 rm -R $$rpmbuild) 94