# 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 libdir := /lib/geninitrd udevdir := $(libdir)/udev-rules sysconfigdir := /etc/sysconfig all: $(NAME).8 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 refentry2man := /usr/bin/refentry2man $(NAME).8: $(NAME).8.xml $(refentry2man) $(refentry2man) < $< > $@.tmp && mv $@.tmp $@ || { rm -f $@.tmp; exit 1; } dist: $(NAME)-$(VERSION).tar.gz @echo @echo "Do not forget to tag the release" @echo tag: ./make-tag.sh clean: rm -f $(NAME).8 rm -f $(NAME)-*.tar $(NAME)-*.tar.gz .PHONY: ChangeLog ChangeLog: ./changelog.sh $(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)