diff --git a/make/upload.mk b/make/upload.mk index 9092eb14..ce35a87d 100644 --- a/make/upload.mk +++ b/make/upload.mk @@ -22,18 +22,29 @@ DOWNLOAD_URLDIR=$(DOWNLOAD_SERVER)/$(URL_RELATIVE_PATH) TARGET_DIR = $(UPLOAD_DOCUMENT_ROOT)/$(UPLOAD_VIRTUAL_SERVER_ROOT)/$(URL_RELATIVE_PATH) SSI_PREFIX = $(TMPHTML)/ssi_download_ +SSI_FILES = $(addsuffix .html,$(addprefix $(SSI_PREFIX),$(notdir $(PCKG_FILES)))) +PCKG_FILES = $(addprefix $(PCKG_DIR)/,$(DIST_FILES)) + $(TMPHTML): mkdir -p $(TMPHTML) test -d $(TMPHTML) && rm -rf $(TMPHTML)/* - -$(SSI_PREFIX)%.html: $(TMPHTML) $(SSI_DOWNLOAD_TMPL) - STEM=`basename $*` ;\ - DIR=`dirname $*` ;\ - EXPLANATION="$(PROJECT_DESCR)";\ - SIZE=`ls -l $(DIST_FILE) | awk '{print $$5}'`;\ - FILENAME=`basename $(DIST_FILE)` ;\ - URLDIR=`echo $(DOWNLOAD_URLDIR) | sed -e 's/\\//\\\\\//g;'` ;\ +define generate_ssi + STEM=$(notdir $@) ;\ + DIR=$(dir $@) ;\ + if [ -n "`echo $(PROJECT_DESCR) | grep '\win'`" ]; then \ + PLATF=" for Windows" ;\ + elif [ -n "`echo $(PROJECT_DESCR) | grep '\lx'`" ]; then \ + PLATF=" for Linux" ;\ + fi; \ + if [ -n "`echo $(PROJECT_DESCR) | grep '\-src'`" ]; then \ + DISTTYPE=", Source Distribution" ;\ + elif [ -n "`echo $(PROJECT_DESCR) | grep '\-bin'`" ]; then \ + DISTTYPE=", Binary Distribution" ;\ + fi; \ + EXPLANATION="$(PROJECT_DESCR)$$PLATF$$DISTTYPE";\ + SIZE=`ls -l $< | awk '{print $$5}'`;\ + FILENAME=`basename $<` ;\ cat $(SSI_DOWNLOAD_TMPL) | sed -e "\ s/_VERSION_/$(LOCAL_DIST_VERSION)/g;\ s/_PROJECT_/$(LOCAL_PROJECT)/g;\ @@ -41,16 +52,55 @@ $(SSI_PREFIX)%.html: $(TMPHTML) $(SSI_DOWNLOAD_TMPL) s/_FILENAME_/$$FILENAME/g;\ s/_DATE_/$(shell date +"%Y-%m-%d")/g;\ s/_EXPLANATION_/$$EXPLANATION/g;\ - s/_URLDIR_/$$URLDIR/g;\ + s%_URLDIR_%$(DOWNLOAD_URLDIR)%g;\ + s/_SIZE_/$$SIZE/g;\ + " > $@ +endef + +# $(TMPHTML) $(SSI_DOWNLOAD_TMPL) +$(SSI_PREFIX)%.html: $(PCKG_DIR)/% + STEM=$(notdir $@) ;\ + DIR=$(dir $@) ;\ + mkdir -p $$DIR ;\ + if [ -n "`echo $@ | grep 'win'`" ]; then \ + PLATF=" for Windows" ;\ + elif [ -n "`echo $@ | grep 'lx'`" ]; then \ + PLATF=" for Linux" ;\ + fi; \ + if [ -n "`echo $@ | grep '\-src'`" ]; then \ + DISTTYPE=", Source Distribution" ;\ + elif [ -n "`echo $@ | grep '\-bin'`" ]; then \ + DISTTYPE=", Binary Distribution" ;\ + fi; \ + EXPLANATION="$(PROJECT_DESCR)$$PLATF$$DISTTYPE";\ + SIZE=`ls -l $< | awk '{print $$5}'`;\ + FILENAME=$(notdir $<) ;\ + cat $(SSI_DOWNLOAD_TMPL) | sed -e "\ + s/_VERSION_/$(LOCAL_DIST_VERSION)/g;\ + s/_PROJECT_/$(LOCAL_PROJECT)/g;\ + s/_TARGET_STEM_//g;\ + s/_FILENAME_/$$FILENAME/g;\ + s/_DATE_/$(shell date +"%Y-%m-%d")/g;\ + s/_EXPLANATION_/$$EXPLANATION/g;\ + s%_URLDIR_%$(DOWNLOAD_URLDIR)%g;\ s/_SIZE_/$$SIZE/g;\ " > $@ +#$(SSI_PREFIX)%.html: $(TMPHTML) $(SSI_DOWNLOAD_TMPL) +# $(generate_ssi) +# +#$(SSI_PREFIX)%.html: %-lx-src.tar.gz $(TMPHTML) $(SSI_DOWNLOAD_TMPL) +# $(generate_ssi) + +ssi_build.dist: + make $(SSI_FILES) + # -- install.dist -install.dist: $(DIST_FILE) $(SSI_PREFIX)_$(PROJECT)_$(DIST_VERSION).html +install.dist: $(PCKG_FILES) ssi_build.dist @echo "-- installing distribution files to $(TARGET_HOST):$(TARGET_DIR) as user $(TARGET_USER)" ssh -l $(TARGET_USER) $(TARGET_HOST) -C "\ mkdir -p $(TARGET_DIR); chmod $(TARGET_DIR_MODE) $(TARGET_DIR)" - /usr/bin/rsync -az -v --links -e /usr/bin/ssh $(DIST_FILE) $(TARGET_USER)@$(TARGET_HOST):$(TARGET_DIR) + /usr/bin/rsync -az -v --links -e /usr/bin/ssh $(PCKG_FILES) $(TARGET_USER)@$(TARGET_HOST):$(TARGET_DIR) ssh -l $(TARGET_USER) $(TARGET_HOST) -C "\ cd $(TARGET_DIR); find . -type d | xargs -r chmod $(TARGET_DIR_MODE); find . -type f | xargs -r chmod $(TARGET_FILE_MODE)" @echo "-- installing referrer include files to $(TARGET_HOST) as user $(TARGET_USER)"