
TOPDIR = $(shell pwd)
export TOPDIR

SUBDIRS = nash bdevid grubby

include Makefile.inc

test: all
	cd grubby; make test

install:
	for n in $(SUBDIRS); do make -C $$n install DESTDIR=$(DESTDIR); done
	for i in sbin $(mandir)/man8; do \
		if [ ! -d $(DESTDIR)/$$i ]; then \
			mkdir -p $(DESTDIR)/$$i; \
		fi; \
	done
	sed 's/%VERSIONTAG%/$(VERSION)/' < mkinitrd > $(DESTDIR)/sbin/mkinitrd
	install -m755 installkernel $(DESTDIR)/sbin/installkernel
	chmod 755 $(DESTDIR)/sbin/mkinitrd
	install -m644 mkinitrd.8 $(DESTDIR)/$(mandir)/man8/mkinitrd.8

test-archive:
	@rm -rf /tmp/mkinitrd-$(VERSION) /tmp/mkinitrd-$(VERSION)-tmp
	@mkdir -p /tmp/mkinitrd-$(VERSION)-tmp
	@git archive --format=tar $(shell git-branch | awk '/^*/ { print $$2 }') | ( cd /tmp/mkinitrd-$(VERSION)-tmp/ ; tar x )
	@git diff | ( cd /tmp/mkinitrd-$(VERSION)-tmp/ ; patch -s -p1 -b -z .gitdiff )
	@cd /tmp/mkinitrd-$(VERSION)-tmp/ ; sed "s/VERSIONSUBST/$(VERSION)/" < mkinitrd.spec.in > mkinitrd.spec
	@mv /tmp/mkinitrd-$(VERSION)-tmp/ /tmp/mkinitrd-$(VERSION)/
	@dir=$$PWD; cd /tmp; tar -c --bzip2 -f $$dir/mkinitrd-$(VERSION).tar.bz2 mkinitrd-$(VERSION)
	@rm -rf /tmp/mkinitrd-$(VERSION)
	@echo "The archive is in mkinitrd-$(VERSION).tar.bz2"

archive:
	git tag $(GITTAG) refs/heads/master
	@rm -rf /tmp/mkinitrd-$(VERSION) /tmp/mkinitrd-$(VERSION)-tmp
	@mkdir -p /tmp/mkinitrd-$(VERSION)-tmp
	@git archive --format=tar $(GITTAG) | ( cd /tmp/mkinitrd-$(VERSION)-tmp/ ; tar x )
	@cd /tmp/mkinitrd-$(VERSION)-tmp/ ; sed "s/VERSIONSUBST/$(VERSION)/" < mkinitrd.spec.in > mkinitrd.spec
	@mv /tmp/mkinitrd-$(VERSION)-tmp/ /tmp/mkinitrd-$(VERSION)/
	@dir=$$PWD; cd /tmp; tar -c --bzip2 -f $$dir/mkinitrd-$(VERSION).tar.bz2 mkinitrd-$(VERSION)
	@rm -rf /tmp/mkinitrd-$(VERSION)
	@echo "The archive is in mkinitrd-$(VERSION).tar.bz2"
