-.PHONY: rpm-build
-rpm-build: support/$(PACKAGE).spec distcheck
- @rm -f *.rpm
- @rm -f ~/rpmbuild/RPMS/x86_64/$(PACKAGE)-$(VERSION)*.rpm
- @rm -f ~/rpmbuild/SRPMS/$(PACKAGE)-$(VERSION)*.rpm
- @mkdir -p ~/rpmbuild/BUILD/
- @mkdir -p ~/rpmbuild/RPMS/i386/
- @mkdir -p ~/rpmbuild/RPMS/i686/
- @mkdir -p ~/rpmbuild/RPMS/noarch/
- @mkdir -p ~/rpmbuild/RPMS/x86_64/
- @mkdir -p ~/rpmbuild/SOURCES/
- @mkdir -p ~/rpmbuild/SPECS/
- @mkdir -p ~/rpmbuild/SRPMS/
- @cp $(PACKAGE)-$(VERSION).tar.gz ~/rpmbuild/SOURCES/
- @rpmbuild -ba support/$(PACKAGE).spec
- @cp ~/rpmbuild/RPMS/x86_64/$(PACKAGE)-$(VERSION)*.rpm .
- @cp ~/rpmbuild/RPMS/x86_64/$(PACKAGE)-devel-$(VERSION)*.rpm .
- -cp ~/rpmbuild/RPMS/x86_64/$(PACKAGE)-debuginfo-$(VERSION)*.rpm .
- @cp ~/rpmbuild/SRPMS/$(PACKAGE)-$(VERSION)*.rpm .
+RPM_BUILDDIR= ~/rpmbuild
+
+RPM_BUILD_TARGET= @PACKAGE@-@VERSION@-@RPM_RELEASE@.@build_cpu@.rpm
+RPM_SOURCE= $(RPM_BUILDDIR)/SOURCES/$(DIST_ARCHIVES)
+
+RPMS=
+RPMS+= $(RPM_BUILD_TARGET)
+RPMS+= @PACKAGE@-devel-@VERSION@-@RPM_RELEASE@.@build_cpu@.rpm
+RPMS+= @PACKAGE@-debuginfo-@VERSION@-@RPM_RELEASE@.@build_cpu@.rpm
+
+SRPMS= @PACKAGE@-@VERSION@-@RPM_RELEASE@.src.rpm
+
+RPM_DIST= $(RPMS) $(SRPMS)
+
+BUILD_RPMS= $(foreach rpm_iterator,$(RPMS),$(addprefix $(RPM_BUILDDIR)/RPMS/@build_cpu@/, $(rpm_iterator)))
+BUILD_SRPMS= $(foreach srpm_iterator,$(SRPMS),$(addprefix $(RPM_BUILDDIR)/SRPMS/, $(srpm_iterator)))
+BUILD_RPM_DIR= $(RPM_BUILDDIR)/BUILD/@PACKAGE@-@VERSION@
+
+$(RPM_BUILDDIR):
+ @@RPMDEV_SETUPTREE@
+
+$(DIST_ARCHIVES): $(DISTFILES)
+ $(MAKE) $(AM_MAKEFLAGS) dist-gzip
+
+$(RPM_SOURCE): | $(RPM_BUILDDIR) $(DIST_ARCHIVES)
+ @rm -f $(BUILD_RPMS) $(BUILD_SRPMS) $(BUILD_RPM_DIR)
+ @cp $(DIST_ARCHIVES) $(RPM_SOURCE)
+
+$(RPM_BUILD_TARGET): $(RPM_SOURCE) support/@PACKAGE@.spec
+ @@RPMBUILD@ -ba $(top_srcdir)/support/@PACKAGE@.spec
+ @cp $(BUILD_RPMS) $(BUILD_SRPMS) .