NAME = ksigner VERSION = $(shell cat VERSION) RELEASE = $(shell cat RELEASE) DISTS = $(shell cat DISTS) SOURCEDIR = . BUILDDIR = build SOURCES = src/ksigner src/ksigner.conf docs/ksigner.8 README.md LICENSE CLEANFILES = $(BUILDDIR) $(NAME).spec src/$(NAME) docs/$(NAME).8 noarch *.tar.gz *.rpm *.src.rpm .PHONY: all clean dist rpm srpm install all: dist clean: rm -rf $(CLEANFILES) $(BUILDDIR): mkdir -p $(BUILDDIR) %.spec: %.spec.in VERSION RELEASE sed -e 's/@VERSION@/$(VERSION)/g' \ -e 's/@RELEASE@/$(RELEASE)/g' \ $< > $@ src/%: src/%.in VERSION RELEASE sed -e 's/@VERSION@/$(VERSION)/g' \ $< > $@ docs/%: docs/%.in VERSION RELEASE sed -e 's/@VERSION@/$(VERSION)/g' \ $< > $@ dist: $(BUILDDIR) $(NAME).spec src/$(NAME) docs/$(NAME).8 mkdir -p $(BUILDDIR)/$(NAME)-$(VERSION) cp -r $(SOURCES) $(NAME).spec $(BUILDDIR)/$(NAME)-$(VERSION)/ cd $(BUILDDIR) && tar -czf $(NAME)-$(VERSION).tar.gz $(NAME)-$(VERSION)/ cp $(BUILDDIR)/$(NAME)-$(VERSION).tar.gz $(SOURCEDIR) sprm-all: dist @for dist in $(DISTS); do \ echo "Building SRPM for $$dist..."; \ rpmbuild --define "_topdir $(PWD)/$(BUILDDIR)/$$dist" \ --undefine "dist" \ --define "dist .$$dist" \ --define "_sourcedir $(PWD)" \ --define "_srcrpmdir $(or $(outdir),$(PWD))" \ -bs $(NAME).spec; \ done rpm-all: dist @for dist in $(DISTS); do \ echo "Building RPM for $$dist..."; \ rpmbuild --define "_topdir $(PWD)/$(BUILDDIR)/$$dist" \ --undefine "dist" \ --define "dist .$$dist" \ --define "_sourcedir $(PWD)" \ --define "_rpmdir $(PWD)" \ --define "_buildrootdir $(PWD)/$(BUILDDIR)/$$dist" \ -ba $(NAME).spec; \ done srpm: dist rpmbuild --define "_topdir $(PWD)/$(BUILDDIR)" \ --define "_sourcedir $(PWD)" \ --define "_srcrpmdir $(or $(outdir),$(PWD))" \ -bs $(NAME).spec rpm: dist rpmbuild --define "_topdir $(PWD)/$(BUILDDIR)" \ --define "_sourcedir $(PWD)" \ --define "_rpmdir $(PWD)" \ --define "_buildrootdir $(PWD)/$(BUILDDIR)" \ -ba $(NAME).spec install: install -d $(DESTDIR)/usr/bin install -d $(DESTDIR)/etc/ksigner install -d $(DESTDIR)/etc/kernel/postinst.d install -d $(DESTDIR)/usr/share/man/man8 install -m 755 src/ksigner $(DESTDIR)/usr/bin/ install -m 644 src/ksigner.conf $(DESTDIR)/etc/ksigner/ install -m 644 docs/ksigner.8 $(DESTDIR)/usr/share/man/man8/