ARCHIVEDIR := archive PROGRAMSDIR := programs FILESDIR := files PROGRAMDIRS := $(wildcard $(PROGRAMSDIR)/*) PROGRAMBINS := $(patsubst $(PROGRAMSDIR)/%,$(ARCHIVEDIR)/%,$(PROGRAMDIRS)) OUT = initrd.tar all: ${PROGRAMBINS} tar -cf $(OUT) -C $(ARCHIVEDIR) . .PHONY: $(ARCHIVEDIR)/% $(ARCHIVEDIR)/% : $(PROGRAMSDIR)/% $(MAKE) -C $< OUT=../../$@ ABIDIR=$(ABIDIR)