#---------------------------------------------------------------------
#     Copyright (C) 2005 Morikawa Yasuhiro
#---------------------------------------------------------------------
#= Makefile for ruby_workshop/y2006/rdoc-dennou
#
# * Developers: Yasuhiro Morikawa
#
#= Purpose
#
# dcppt.pl で公開領域を作成する。または dennou サーバにアップデートする
#

#== For dcppt
#
PERL=perl
DCPPT=dcppt.pl
CFGFILE=src/Config.dcppt
IMGDIR=src/ruby-wc-2006_rdoc-dennou_ver0.4

#== For update
#
TARGETS=src pub Makefile
EXCLUDE=*SIGEN.htm *SIGEN_PUB.htm *old*

HOST=www.gfd-dennou.org
DSTDIR=/GFD_Dennou_Club/dc-arch/prepri/2006/ruby/rdoc-dennou/
DST=$(HOST):$(DSTDIR)
DSTSRC=$(DST)

RM=rm -f
CHMOD=chmod -v -R g+w
CHGRP=chgrp -v -R prepri
SSH=ssh

RSYNC=/usr/bin/rsync -av -e ssh $(EXCLUDE:%=--exclude='%')
RSYNC_DEL=$(RSYNC) --delete
RSYNC_CHK=$(RSYNC) --delete -n

#== For modifysigen
#
SEDTARGETS=$(DSTDIR)/pub/menu.html $(DSTDIR)/pub/menutxt.html
SED=sed
MV=mv
SRCWORD=SIGEN_PUB
DSTWORD=SIGEN
TMPDIR=/tmp


all:
	@echo ""
	@echo "     Generate public material:  make dcppt"
	@echo ""
	@echo ""
	@echo "     Update source and public material to Dennou Server:  make dennou"
	@echo ""

dcppt:
	$(DCPPT) -c $(CFGFILE) -d $(IMGDIR)


check:
	$(RSYNC_CHK) $(TARGETS) $(DSTSRC)

force:
	$(RSYNC_DEL) $(TARGETS) $(DSTSRC)

dennou: upload modifysigen chgrp chmod

upload:
	$(RSYNC) $(TARGETS) $(DSTSRC)

chgrp:
	-$(SSH) $(HOST) $(CHGRP) $(DSTDIR)

chmod:
	-$(SSH) $(HOST) $(CHMOD) $(DSTDIR)


modifysigen:
	$(SSH) $(HOST) ' \
	for i in $(SEDTARGETS) ; do \
	  $(SED) s/$(SRCWORD)/$(DSTWORD)/ $$i > $(TMPDIR)/`basename $$i` ; \
	  $(MV)  $(TMPDIR)/`basename $$i` $$i ; \
	done '


eval-test:
	eval ' \
	for i in $(SEDTARGETS) ; do \
	  ls -l $$i ; \
	done '
