jw-pkg/make/upload.mk

50 lines
1.6 KiB
Makefile

UPLOAD_SH ?= $(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/htdocs/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))
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)
cvs commit -m "o $(VERSION)" $(UPLOAD_LAST_VERSION_FILE)
endif
endif
touch $@.done
is-uploaded:
ifneq ($(UPLOAD_LAST_VERSION),$(VERSION))
echo $(VERSION) > $(UPLOAD_LAST_VERSION_FILE)
cvs add $(UPLOAD_LAST_VERSION_FILE)
cvs commit -m "initial checkin" $(UPLOAD_LAST_VERSION_FILE)
endif
touch upload.dist.done
clean: upload.clean
upload.clean:
rm -f upload.dist