install-files.mk: Allow recursive installation of directories

Signed-off-by: Jan Lindemann <jan@janware.com>
This commit is contained in:
Jan Lindemann 2016-08-01 21:05:35 +00:00
commit 8f5d62f2ad

View file

@ -1,8 +1,12 @@
LOCAL_FILES ?= $(filter-out CVS .git Makefile %.done, $(wildcard *))
TARGET_DIR ?= $(PREFIX)/share
TARGET_MODE ?= 440
TARGET_OWNER ?= root
TARGET_GROUP ?= root
LOCAL_FILES ?= $(filter-out CVS .git Makefile %.done, $(wildcard *))
TARGET_DIR ?= $(PREFIX)/share
TARGET_MODE ?= 440
TARGET_OWNER ?= root
TARGET_GROUP ?= root
TARGET_DIR_MODE ?= 770
TARGET_DIR_OWNER ?= root
TARGET_DIR_GROUP ?= root
SOURCE_BASE ?= .
include $(MODDIR)/make/defs.mk
@ -15,7 +19,13 @@ done.clean:
rm -f *.done
install.done:
mkdir -p $(TARGET_DIR)
$(INSTALL) -m $(TARGET_MODE) -o $(TARGET_OWNER) -g $(TARGET_GROUP) $(LOCAL_FILES) $(TARGET_DIR)/
for f in $(SOURCE_FILES); do \
relpath=`realpath $$f --relative-to $(SOURCE_BASE)` ;\
if [ -d $$f ]; then \
$(INSTALL) -d -D -m $(TARGET_DIR_MODE) -o $(TARGET_DIR_OWNER) -g $(TARGET_DIR_GROUP) $(TARGET_DIR)/$$relpath ;\
else \
$(INSTALL) -D -m $(TARGET_MODE) -o $(TARGET_OWNER) -g $(TARGET_GROUP) $$f $(TARGET_DIR)/$$relpath ;\
fi ;\
done
touch $@