jw-pkg/make/upload.mk
2017-09-02 19:26:52 +00:00

57 lines
1.8 KiB
Makefile

UPLOAD_SH ?= /bin/bash $(MOD_SCRIPT_DIR)/upload.sh
UPLOAD_PROJECT ?= $(PROJECT)
UPLOAD_MODULE ?= $(UPLOAD_PROJECT)
UPLOAD_FILE_MODE ?= 640
UPLOAD_DIR_MODE ?= 750
UPLOAD_GROUP ?= $(shell id -ng)
UPLOAD_USER ?= $(shell id -nu)
UPLOAD_HOST_LOGIN ?= root
UPLOAD_HOST ?= www.jannet.de
UPLOAD_VHOST_ROOT ?= /srv/www/jannet.de_443
#UPLOAD_TEST_PREFIX ?=
UPLOAD_MODULE_PATH ?= $(UPLOAD_TEST_PREFIX)proj/$(UPLOAD_MODULE)
UPLOAD_FILE_ROOT ?= $(UPLOAD_VHOST_ROOT)/$(UPLOAD_MODULE_PATH)
UPLOAD_TARGET_PREFIX ?= rsync_ssh://$(UPLOAD_HOST_LOGIN)@$(UPLOAD_HOST):$(UPLOAD_FILE_ROOT)/
UPLOAD_LAST_VERSION_FILE ?= LAST_UPLOADED_VERSION
UPLOAD_LAST_VERSION ?= $(shell $(CAT) $(UPLOAD_LAST_VERSION_FILE) 2>/dev/null)
#UPLOAD_FILES ?=
REMOTE_TARGETS ?= \
$(foreach f,$(UPLOAD_FILES),$(UPLOAD_TARGET_PREFIX)$f:$(UPLOAD_FILE_MODE):$(UPLOAD_DIR_MODE):$(UPLOAD_USER).$(UPLOAD_GROUP))
ifneq ($(wildcard CVS),)
UPLOAD_SCM = cvs
else
UPLOAD_SCM = git
endif
all:
upload: upload.dist
rsync_ssh\://% ftp\://% scp\://%:
make $(shell echo $(notdir $@) | $(SED) 's/:.*//g')
$(UPLOAD_SH) $(shell echo $(notdir $@) $@ | $(SED) 's/:.*//g') $@
upload.dist: $(UPLOAD_FILES)
ifneq ($(UPLOAD_LAST_VERSION),$(VERSION))
make $(REMOTE_TARGETS)
ifeq ($(UPLOAD_TEST_PREFIX),)
echo $(VERSION) > $(UPLOAD_LAST_VERSION_FILE)
$(UPLOAD_SCM) add $(UPLOAD_LAST_VERSION_FILE) || exit 0
$(UPLOAD_SCM) commit -m "$(VERSION)" $(UPLOAD_LAST_VERSION_FILE)
endif
endif
touch $@.done
is-uploaded:
ifneq ($(UPLOAD_LAST_VERSION),$(VERSION))
echo $(VERSION) > $(UPLOAD_LAST_VERSION_FILE)
$(UPLOAD_SCM) add $(UPLOAD_LAST_VERSION_FILE)
$(UPLOAD_SCM) commit -m "`cat $(UPLOAD_LAST_VERSION_FILE)`" $(UPLOAD_LAST_VERSION_FILE)
endif
touch upload.dist.done
clean: upload.clean
upload.clean:
$(RM) -f upload.dist