2019-03-03 18:12:28 +00:00
|
|
|
SOURCE_FILES ?= $(filter-out CVS .git $(LOCAL_MKFILES) %.done, $(wildcard *))
|
|
|
|
|
TARGET_DIR ?= $(PREFIX)/share
|
2018-09-03 12:29:00 +00:00
|
|
|
|
2019-03-03 18:12:28 +00:00
|
|
|
SOURCE_BASE ?= .
|
2016-08-01 11:58:18 +00:00
|
|
|
|
2019-03-03 18:12:28 +00:00
|
|
|
RELPATHS = $(foreach f,$(SOURCE_FILES),$(shell realpath -s --relative-to "$(SOURCE_BASE)" "$f"))
|
|
|
|
|
INSTALLED_FILES = $(addprefix $(TARGET_DIR)/,$(RELPATHS))
|
2018-11-27 15:10:18 +00:00
|
|
|
|
2016-08-01 12:00:19 +00:00
|
|
|
include $(MODDIR)/make/defs.mk
|
2018-11-27 15:10:18 +00:00
|
|
|
include $(MODDIR)/make/dev-utils.mk
|
2016-08-01 12:00:19 +00:00
|
|
|
|
2018-09-03 12:29:00 +00:00
|
|
|
ifeq ($(DEVELOPMENT),true)
|
2019-03-03 18:12:28 +00:00
|
|
|
TARGET_OWNER ?= $(shell id -un)
|
|
|
|
|
TARGET_GROUP ?= $(shell id -gn)
|
2018-09-03 12:29:00 +00:00
|
|
|
else
|
2019-03-03 18:12:28 +00:00
|
|
|
TARGET_OWNER ?= root
|
|
|
|
|
TARGET_GROUP ?= root
|
2018-09-03 12:29:00 +00:00
|
|
|
endif
|
2019-03-03 18:12:28 +00:00
|
|
|
TARGET_DIR_OWNER ?= $(TARGET_OWNER)
|
|
|
|
|
TARGET_DIR_GROUP ?= $(TARGET_GROUP)
|
|
|
|
|
TARGET_MODE ?= 440
|
|
|
|
|
TARGET_DIR_MODE ?= 770
|
2018-09-03 12:29:00 +00:00
|
|
|
|
2016-08-01 11:58:18 +00:00
|
|
|
all:
|
|
|
|
|
install: install.done
|
|
|
|
|
clean: done.clean
|
|
|
|
|
distclean:
|
|
|
|
|
|
|
|
|
|
done.clean:
|
2017-09-02 19:26:52 +00:00
|
|
|
$(RM) -f *.done
|
2016-08-01 11:58:18 +00:00
|
|
|
|
2018-09-03 12:29:00 +00:00
|
|
|
$(TARGET_DIR)/%: $(SOURCE_BASE)/%
|
2018-10-21 13:11:06 +00:00
|
|
|
@if [ -L "$<" -o -f "$<" ]; then \
|
2018-10-19 19:23:43 +00:00
|
|
|
echo $(INSTALL) -p -D -m $(TARGET_MODE) -o $(TARGET_OWNER) -g $(TARGET_GROUP) "$<" "$@" ;\
|
|
|
|
|
$(INSTALL) -p -D -m $(TARGET_MODE) -o $(TARGET_OWNER) -g $(TARGET_GROUP) "$<" "$@" ;\
|
2018-10-21 13:11:06 +00:00
|
|
|
else \
|
|
|
|
|
echo $(INSTALL) -d -D -m $(TARGET_DIR_MODE) -o $(TARGET_DIR_OWNER) -g $(TARGET_DIR_GROUP) "$@" ;\
|
|
|
|
|
$(INSTALL) -d -D -m $(TARGET_DIR_MODE) -o $(TARGET_DIR_OWNER) -g $(TARGET_DIR_GROUP) "$@" ;\
|
2018-09-03 12:29:00 +00:00
|
|
|
fi
|
|
|
|
|
|
|
|
|
|
install.done: $(INSTALLED_FILES)
|
|
|
|
|
touch $@
|
|
|
|
|
|
|
|
|
|
# this used to work fine until an enormous $(SOURCE_FILES) was encountered
|
|
|
|
|
install-old.done:
|
2016-08-01 21:05:35 +00:00
|
|
|
for f in $(SOURCE_FILES); do \
|
2018-10-19 19:23:43 +00:00
|
|
|
relpath=`realpath -s --relative-to "$(SOURCE_BASE)" "$$f"` ;\
|
|
|
|
|
if [ -d "$$f" ]; then \
|
|
|
|
|
$(INSTALL) -d -D -m $(TARGET_DIR_MODE) -o $(TARGET_DIR_OWNER) -g $(TARGET_DIR_GROUP) "$(TARGET_DIR)/$$relpath" ;\
|
2016-08-01 21:05:35 +00:00
|
|
|
else \
|
2018-10-19 19:23:43 +00:00
|
|
|
$(INSTALL) -p -D -m $(TARGET_MODE) -o $(TARGET_OWNER) -g $(TARGET_GROUP) "$$f" "$(TARGET_DIR)/$$relpath" ;\
|
2016-08-01 21:05:35 +00:00
|
|
|
fi ;\
|
|
|
|
|
done
|
2016-08-01 11:58:18 +00:00
|
|
|
touch $@
|