mirror of
ssh://git.janware.com/srv/git/janware/proj/jw-pkg
synced 2026-01-15 20:13:32 +01:00
Rename the omnipresent MODDIR variable to JWBDIR, since that's more to the point. Signed-off-by: Jan Lindemann <jan@janware.com>
87 lines
3.6 KiB
Makefile
87 lines
3.6 KiB
Makefile
# -- general, and important
|
|
LOCAL_PROJECT = $(PROJECT)
|
|
|
|
TARGET_HOST = cvs.janware.com
|
|
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 = $(JWBDIR)/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 $(JWBDIR)/$$mod clean ;\
|
|
cp -r $(JWBDIR)/$$mod $(DISTDIR)/src/$(PROJECT)/mod/ ;\
|
|
done ;\
|
|
cp $(JWBDIR)/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
|