60 lines
1.8 KiB
Makefile
60 lines
1.8 KiB
Makefile
NAME = ksigner
|
|
VERSION = $(shell cat VERSION)
|
|
RELEASE = $(shell cat RELEASE)
|
|
SOURCEDIR = .
|
|
BUILDDIR = build
|
|
SOURCES = src/ksigner src/ksigner.conf src/ksigner-update-hook 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)
|
|
|
|
srpm: dist
|
|
rpmbuild --define "_topdir $(PWD)/$(BUILDDIR)" \
|
|
--define "_sourcedir $(PWD)" \
|
|
--define "_srcrpmdir $(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 755 src/ksigner-update-hook $(DESTDIR)/etc/kernel/postinst.d/zz-ksigner
|
|
install -m 644 docs/ksigner.8 $(DESTDIR)/usr/share/man/man8/
|