diff --git a/make/subtree.mk b/make/subtree.mk new file mode 100644 index 00000000..2ad55916 --- /dev/null +++ b/make/subtree.mk @@ -0,0 +1,26 @@ +SUBTREE_OWNER ?= root +SUBTREE_GROUP ?= root +SUBTREE_MODE ?= 0644 +SUBTREE_DIROWNER ?= root +SUBTREE_DIRGROUP ?= root +SUBTREE_DIRMODE ?= 0755 +SUBTREE_INSTALL_PREFIX = /tmp/blah + +SUBTREE_DIRS = $(shell for f in `git ls-files . | sed 's%/[^/]\+$$%%' | sort -u | grep -v Makefile`; do if [ -d "$$f" ]; then echo $$f; fi; done) +SUBTREE_FILES = $(shell for f in `git ls-files . | grep -v Makefile`; do if [ -f "$$f" ]; then echo $$f; fi; done) +INSTALLED_SUBTREE_DIRS = $(addprefix $(SUBTREE_INSTALL_PREFIX)/,$(SUBTREE_DIRS)) +INSTALLED_SUBTREE_FILES = $(addprefix $(SUBTREE_INSTALL_PREFIX)/,$(SUBTREE_FILES)) + +include $(MODDIR)/make/defs.mk + +all: +install: $(INSTALLED_SUBTREE_DIRS) $(INSTALLED_SUBTREE_FILES) +clean: +distclean: + +$(INSTALLED_SUBTREE_DIRS): + @echo $(INSTALL) -d -o $(SUBTREE_DIROWNER) -g $(SUBTREE_DIRGROUP) -m $(SUBTREE_DIRMODE) $@ + +$(SUBTREE_INSTALL_PREFIX)/%: % + @echo $(INSTALL) -o $(SUBTREE_OWNER) -g $(SUBTREE_GROUP) -m $(SUBTREE_MODE) $< $@ +