]> git.pld-linux.org Git - projects/geninitrd.git/blobdiff - Makefile
luks: initial support for luks2 tokens
[projects/geninitrd.git] / Makefile
index eb892464904056c1eefd6227dc568bce73c3bf1f..a9039b180d1090ee32193a52c61295527a1f0c5f 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -1,33 +1,57 @@
-VERSION                := $(shell awk '/^RCSID=/ {print $$3}' geninitrd)
-FILES          := Makefile geninitrd.sysconfig geninitrd geninitrd.8 geninitrd.8.xml ChangeLog
+# when making release, make sure you do it as RELEASE document describes
+NAME           := geninitrd
+VERSION                := $(shell test -d .git && git describe --tags || echo git)
+MODS           := ide luks multipath dmraid lvm md blkid udev tuxonice suspend swsusp fbsplash condecor bootsplash uvesafb nfs sata scsi usbkbd bcache
+FILES_MODS  := $(MODS:%=mod-%.sh)
+FILES_ADDON := extract-ikconfig
+FILES_UDEV  := 01-ignore.rules 59-persistent-storage.rules 61-persistent-storage.rules 11-dm.rules
 prefix         := /usr
 mandir         := $(prefix)/share/man
 sbindir                := /sbin
-sysconfdir     := /etc/geninitrd
+libdir         := /lib/geninitrd
+udevdir                := $(libdir)/udev-rules
 sysconfigdir := /etc/sysconfig
 
-all: geninitrd.8
+all: $(NAME).8
 
-install:
-       install -d $(DESTDIR)$(sbindir) $(DESTDIR)$(mandir)/man8 $(DESTDIR)$(sysconfdir) $(DESTDIR)$(sysconfigdir)
-       install geninitrd $(DESTDIR)$(sbindir)/geninitrd
-       install -m644 geninitrd.8 $(DESTDIR)$(mandir)/man8/geninitrd.8
-       install -m644 functions $(DESTDIR)$(sysconfdir)/functions
-       install -m644 geninitrd.sysconfig $(DESTDIR)$(sysconfigdir)/geninitrd
+install: $(NAME).8
+       install -d $(DESTDIR)$(sbindir) $(DESTDIR)$(mandir)/man8 $(DESTDIR)$(libdir) $(DESTDIR)$(sysconfigdir) $(DESTDIR)$(udevdir)
+       install -p $(NAME) $(DESTDIR)$(sbindir)/$(NAME)
+       install -p -m644 $(NAME).8 $(DESTDIR)$(mandir)/man8/$(NAME).8
+       install -p -m644 functions $(DESTDIR)$(libdir)/functions
+       install -p -m644 functions.initrd $(DESTDIR)$(libdir)/functions.initrd
+       install -p -m644 $(FILES_MODS) $(DESTDIR)$(libdir)
+       install -p -m755 $(FILES_ADDON) $(DESTDIR)$(libdir)
+       install -p -m644 $(NAME).sysconfig $(DESTDIR)$(sysconfigdir)/$(NAME)
+       for file in ${FILES_UDEV}; do \
+               install -p -m644 udev-rules/$${file} $(DESTDIR)$(udevdir); \
+       done
 
-geninitrd.8: geninitrd.8.xml
-       refentry2man < geninitrd.8.xml > geninitrd.8
+refentry2man := /usr/bin/refentry2man
+$(NAME).8: $(NAME).8.xml $(refentry2man)
+       $(refentry2man) < $< > $@.tmp && mv $@.tmp $@ || { rm -f $@.tmp; exit 1; }
 
-dist: geninitrd-$(VERSION).tar.gz
+dist: $(NAME)-$(VERSION).tar.gz
+       @echo
+       @echo "Do not forget to tag the release"
+       @echo
+
+tag:
+       ./make-tag.sh
 
 clean:
-       rm -f geninitrd.8
+       rm -f $(NAME).8
+       rm -f $(NAME)-*.tar $(NAME)-*.tar.gz
 
-geninitrd-$(VERSION).tar.gz: $(FILES)
-       -rm -f *.tar.gz
-       -rm -rf geninitrd-$(VERSION)
+.PHONY: ChangeLog
+ChangeLog:
        ./changelog.sh
-       mkdir geninitrd-$(VERSION)
-       cp $(FILES)  geninitrd-$(VERSION)
-       tar czvf geninitrd-$(VERSION).tar.gz geninitrd-$(VERSION)
-       -rm -rf geninitrd-$(VERSION)
+
+$(NAME)-$(VERSION).tar.gz: $(NAME).8 ChangeLog
+       rm -rf $(NAME)-$(VERSION)
+       install -d $(NAME)-$(VERSION)
+       git archive HEAD | tar -x -C $(NAME)-$(VERSION)/
+       sed -i -e "s/VERSION='devel'/VERSION='$(VERSION)'/" $(NAME)-$(VERSION)/$(NAME)
+       cp -p $? $(NAME)-$(VERSION)
+       tar -czf $@ --owner=root --group=root $(NAME)-$(VERSION)
+       rm -rf $(NAME)-$(VERSION)
This page took 0.067266 seconds and 4 git commands to generate.