# -- general, and important LOCAL_PROJECT = $(PROJECT) TARGET_HOST = cvs.jannet.de UPLOAD_DOCUMENT_ROOT = /usr/local/httpd/htdocs UPLOAD_VIRTUAL_SERVER_ROOT = www.jannet.de_443 TARGET_USER = root TARGET_GROUP = root TARGET_FILE_MODE = 755 TARGET_DIR_MODE = 755 DOWNLOAD_SERVER = https://www.jannet.de:443 URL_RELATIVE_PATH = $(CUSTOMER)/projects/$(LOCAL_PROJECT)/download SSI_DOWNLOAD_TMPL = $(MODDIR)/doctmpl/html/ssi/ssi_download.html.tmpl DOWNLOAD_REFERRER_DIRS = $(addprefix $(UPLOAD_DOCUMENT_ROOT)/, \ $(UPLOAD_VIRTUAL_SERVER_ROOT)/$(URL_RELATIVE_PATH) \ ) # -- general, and less important DISTDIR = $(TOPDIR)/dist DIST_FILE = $(DISTDIR)/$(PROJECT)-$(VERSION).tar.gz TMPHTML = $(DISTDIR)/html DOWNLOAD_URLDIR = $(DOWNLOAD_SERVER)/$(URL_RELATIVE_PATH) TARGET_DIR ?= $(UPLOAD_DOCUMENT_ROOT)/$(UPLOAD_VIRTUAL_SERVER_ROOT)/$(URL_RELATIVE_PATH) SSI_PREFIX = $(TMPHTML)/ssi_download_ $(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;'` ;\ $(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_/$$URLDIR/g;\ s/_SIZE_/$$SIZE/g;\ " > $@ remove_dist: $(RM) -rf $(DISTDIR) distclean: remove_dist $(DIST_FILE): distclean mkdir -p $(DISTDIR)/src/$(PROJECT) mkdir -p $(DISTDIR)/pckg $(RM) -rf $(DISTDIR)/src/$(PROJECT)/* mkdir -p $(DISTDIR)/src/$(PROJECT)/mod cd $(TOPDIR); find . -type f | \ grep -ve 'CVS\|contrib/nomake\|tar.gz\|/dist/\|experimental' | \ xargs tar -cf - | tar -C $(DISTDIR)/src/$(PROJECT) -xf - echo $(DIST_VERSION) > $(DISTDIR)/src/$(PROJECT)/VERSION ;\ echo $(REQUIRED) | while read mod ;\ do make -C $(MODDIR)/$$mod clean ;\ cp -r $(MODDIR)/$$mod $(DISTDIR)/src/$(PROJECT)/mod/ ;\ done ;\ cp $(MODDIR)/Makefile $(DISTDIR)/src/$(PROJECT)/mod/ ;\ tar -czv -C $(DISTDIR)/src/ -f $(DIST_FILE) $(PROJECT) build.dist: $(DIST_FILE) # -- install.dist install.dist: $(DIST_FILE) $(SSI_PREFIX)_$(PROJECT)_$(DIST_VERSION).html @echo "-- installing distribution files to $(TARGET_HOST):$(TARGET_DIR) as user $(TARGET_USER)" $(CVS_RSH) -l $(TARGET_USER) $(TARGET_HOST) -C "\ mkdir -p $(TARGET_DIR); chmod $(TARGET_DIR_MODE) $(TARGET_DIR)" /usr/bin/rsync -az -v --links -e $(CVS_RSH) $(DIST_FILE) $(TARGET_USER)@$(TARGET_HOST):$(TARGET_DIR) $(CVS_RSH) -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)" for DIR in $(DOWNLOAD_REFERRER_DIRS) ; do \ echo "to $$DIR" ;\ $(CVS_RSH) -l $(TARGET_USER) $(TARGET_HOST) -C "\ mkdir -p $$DIR; chmod $(TARGET_DIR_MODE) $(TARGET_DIR)" ;\ /usr/bin/rsync -az -v --links -e $(CVS_RSH) $(TMPHTML)/ssi_download_*.html $(TARGET_USER)@$(TARGET_HOST):$$DIR ;\ $(CVS_RSH) -l $(TARGET_USER) $(TARGET_HOST) -C "\ cd $$DIR; find . -type d | xargs -r chmod $(TARGET_DIR_MODE); find . -type f | xargs -r chmod $(TARGET_FILE_MODE)" ;\ done