.PHONY: all

all:

all-install :=

DESTDIR ?= dest
CPIONAME ?= bootrr

HELPERS := $(wildcard helpers/*)

BOARDS := $(wildcard boards/*)

BINS := bin/bootrr bin/bootrr-generate-template

LIBEXEC_DIR ?= $(prefix)/libexec
BOOTRR_DIR = $(LIBEXEC_DIR)/bootrr

define add-scripts
$(DESTDIR)$1/$2: $2
	@echo "INSTALL $$<"
	@install -D -m 755 $$< $$@

all-install += $(DESTDIR)$1/$2
endef

$(foreach v,${BOARDS},$(eval $(call add-scripts,$(BOOTRR_DIR),$v)))
$(foreach v,${HELPERS},$(eval $(call add-scripts,$(BOOTRR_DIR),$v)))
$(foreach v,${BINS},$(eval $(call add-scripts,$(prefix),$v)))

bin/bootrr: bin/bootrr.in Makefile
	@sed -e 's!@BOOTRR@!$(BOOTRR_DIR)!g' $< > $@.tmp
	@mv $@.tmp $@

install: $(all-install)

CPIO := $(PWD)/$(CPIONAME).cpio

$(CPIO): $(all-install)
	@cd $(DESTDIR) && find ./$(prefix) | cpio -o -H newc -R +0:+0 > $(CPIO)

%.cpio.gz: %.cpio
	@gzip < $< > $@

cpio: $(CPIO)

cpio.gz: $(CPIO).gz

clean:
	@rm -f $(CPIO) $(CPIO).gz bin/bootrr
