File:  [Local Repository] / db / prgsrc / Makefile
Revision 1.98: download - view: text, annotated - select for diffs - revision graph
Sun Apr 25 13:08:02 2010 UTC (14 years ago) by boris
Branches: MAIN
CVS tags: HEAD
Typo corrected

HOSTNAME=$(shell hostname)
ifeq ($(HOSTNAME),bilbo)
ROOT=/home/znatoki
endif
ifndef ROOT
ROOT = $(HOME)
endif
PERL = perl
TMPSAV = /tmp
PMODE = 775
LMODE = 664
KULICHKI=chgk-db-boris@ledorub.chgk.info
RSYNC = rsync -ruvptCe ssh --delete --progress 
SCP=scp
DESTSRCDIR=~chgk-db/public_html/dimrub/src/
SRCDIR=../baza
DICTDIR=../dict
IMAGEDIR=$(SRCDIR)/images
SOUNDDIR=$(SRCDIR)/sounds
DESTIMAGEDIR=~chgk-db/public_html/images/db
INSTALLIMAGEDIR=$(ROOT)/public_html/images/db
DESTSOUNDDIR=~chgk-db/public_html/sounds/db
INSTALLSOUNDDIR=$(ROOT)/public_html/sounds/db
DESTPRGSRC=~chgk-db/db/prgsrc
DESTCGIBIN=~chgk-db/public_html/cgi-bin
DUMPDIR=../dump
DESTDUMPDIR=/var/tmp/
TABLES= Questions Tournaments word2question nf nests Authors \
 P2Q equalto People P2T
INDEXWRITER= rubash@yandex.ru, roma7@zaba.ru
#INDEXWRITER= boris
AUTHORCHECKER = roma7@zaba.ru
#AUTHORCHECKER = boris
DELIVERER = roma7@zaba.ru, boris
#DELIVERER = boris
UPDATELOG = $(DUMPDIR)/update.log
UAUTHORS=$(DUMPDIR)/uauthors
UNSORTED=$(DUMPDIR)/unsorted
RSPARAMS= 2000 150
TIMESTAMP= $(DUMPDIR)/timestamp

DBSCRIPTS = mkdb.pl \
	    updatem.pl \
	    updatedb.pl \
	    changecities.pl\
	    createindex.pl\
	    updateindex.pl \
	    addlinks.pl \
	    deletefiles.pl\
	    renamefile.pl \
	    makecheck.pl\
	    mkRS.pl\
	    delRS.pl\
	    updateRS.pl\
	    updateRS1.pl\
	    updateRS2.pl\
	    updateRS3.pl\
	    dumpRS.pl\
	    findequal.pl\
	    dumpin2out.pl\
	    dump2dump.pl\
	    checkPBS.pl\
	    loaddump.pl \
	    makeauthors.pl\
	    makeeditors.pl\
	    makepeople.pl\
	    chronicles.pl\
	    stats.pl \
	    validate.pl

LIBS = chgkfiles.pm \
	    common.pl\
	    chgk.cnf\
	    dbchgk.pm\
            check.pl


CGISCRIPTS = db.cgi\
             dbdefs.pl \
             cw.pl


HTMLS = contribute.html \
	copyright.html \
	copyright_mozg.html \
	credits.html \
	dbmain.html \
	footer.html \
	guestbook.html \
	index.html \
	random.html \
	reklama.html \
	reklama_bottom.html\
	dbxml.php\
	search.html  



DBBIN = ../bin
MANDIR = ../man
LIBDIR = ../lib
CGIBIN = $(ROOT)/public_html/cgi-bin
HTMLDIR = $(ROOT)/public_html/dimrub/db

TEXTS = $(wildcard $(SRCDIR)/*.txt) $(SRCDIR)/index
IMAGES = $(wildcard $(IMAGEDIR)/*.gif) $(wildcard $(IMAGEDIR)/*.jpg)
SOUNDS = $(wildcard $(SOUNDDIR)/*.mp3) $(wildcard $(SOUNDDIR)/*.mid)
IMAGENAMES= $(notdir $(IMAGES))
SOUNDNAMES= $(notdir $(SOUNDS))



BININSTALL =    ${DBSCRIPTS:%=$(DBBIN)/%}
CGIINSTALL =    ${CGISCRIPTS:%.cgi=$(CGIBIN)/%.cgi}
LIBINSTALL =    ${LIBS:%=$(LIBDIR)/%}
HTMLINSTALL =   ${HTMLS:%.html=$(HTMLDIR)/%.html}
IMAGEINSTALL =  ${IMAGENAMES:%=$(INSTALLIMAGEDIR)/%}
SOUNDINSTALL =  ${SOUNDNAMES:%=$(INSTALLSOUNDDIR)/%}


all: $(LIBINSTALL) $(BININSTALL) $(CGIINSTALL) $(HTMLINSTALL) \
	$(IMAGEINSTALL) $(SOUNDINSTALL)





$(DBBIN)/%.pl:       %.pl
	${PERL} -c $<
	- pod2man --center "Internet Club DB" $< > $*.1
	- install -m $(LMODE) $*.1 $(MANDIR)/man1
	- rm $*.1
	if [ -f $@ ]; then mv $@ $(TMPSAV); fi
	cp $< $@
	chmod $(PMODE) $@
	if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi

$(CGIBIN)/%.cgi:       %.cgi
	${PERL} -c $<
	- pod2man --center "Internet Club DB" $< > $*.1
	- install -m $(LMODE) $*.1 $(MANDIR)/man1
	- rm $*.1	
	if [ -f $@ ]; then mv $@ $(TMPSAV); fi
	cp $< $@
	chmod $(PMODE) $@
	if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi



$(LIBDIR)/%.pm:       %.pm
	${PERL} -c $<
	- pod2man --center "Internet Club DB" $< > $*.3
	- install -m $(LMODE) $*.3 $(MANDIR)/man3
	- rm $*.3
	if [ -f $@ ]; then mv $@ $(TMPSAV); fi
	cp $< $@
	chmod $(LMODE) $@
	if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi


$(LIBDIR)/%.pl:       %.pl
	${PERL} -c $<
	- pod2man --center "Internet Club DB" $< > $*.3
	- install -m $(LMODE) $*.3 $(MANDIR)/man3
	- rm $*.3
	if [ -f $@ ]; then mv $@ $(TMPSAV); fi
	cp $< $@
	chmod $(LMODE) $@
	if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi


$(LIBDIR)/%.cnf:       %.cnf
	${PERL} -c $<
	- pod2man --center "Internet Club DB" $< > $*.5
	- install -m $(LMODE) $*.5 $(MANDIR)/man5
	- rm $*.5
	if [ -f $@ ]; then mv $@ $(TMPSAV); fi
	cp $< $@
	chmod $(LMODE) $@
	if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi


$(HTMLDIR)/%.html:       %.html
	cp $< $@


$(INSTALLIMAGEDIR)/%: $(IMAGEDIR)/%
	cp $< $@	


$(INSTALLSOUNDDIR)/%: $(SOUNDDIR)/%
	cp $< $@	



srcdeliver:
	$(RSYNC) $(SRCDIR) $(KULICHKI):$(DESTSRCDIR)


imagedeliver:
	cvs update $(SRCDIR)
	$(RSYNC) $(IMAGEDIR)/ $(KULICHKI):$(DESTIMAGEDIR)/

sounddeliver:
	cvs update $(SRCDIR)
	$(RSYNC) $(SOUNDDIR)/ $(KULICHKI):$(DESTSOUNDDIR)/

prgdeliver:
	$(RSYNC) ./ $(KULICHKI):$(DESTPRGSRC)

dbdeliver: imagedeliver sounddeliver
	echo "Starting delivering" | mail -s"Starting delivering" $(DELIVERER)
	mysqldump   --default-character-set=koi8r --add-drop-table -u piataev chgk $(TABLES)  > $(DUMPDIR)/chgkdump
	echo "delete from hash;" >> $(DUMPDIR)/chgkdump
	echo "CREATE FULLTEXT INDEX fti ON Questions (Question, Answer, PassCriteria, Comments);" >> $(DUMPDIR)/chgkdump
	gzip $(DUMPDIR)/chgkdump
	$(SCP) $(DUMPDIR)/chgkdump.gz  $(KULICHKI):$(DESTDUMPDIR)
	echo "Delivered" | mail -s"Database delivered" $(DELIVERER)

update: 
	cvs update
	cvs update $(SRCDIR)
	cvs update $(DICTDIR)
	$(MAKE) all
	$(MAKE) $(TIMESTAMP)

$(TIMESTAMP): $(TEXTS)
	mysql -upiataev chgk <delq.sql
	$(DBBIN)/mkdb.pl
	$(DBBIN)/updateindex.pl -i$(SRCDIR)/index
	$(DBBIN)/updatedb.pl $(SRCDIR)/*.txt 2>&1 | tee $(UPDATELOG)
	$(DBBIN)/findequal.pl
	$(DBBIN)/makepeople.pl	
	$(DBBIN)/makeauthors.pl
	$(DBBIN)/makeeditors.pl	
	if [ -s $(UAUTHORS) ]; then  \
		mail -sUauthors $(AUTHORCHECKER) < $(UAUTHORS); \
	fi
	if [ -s $(UNSORTED) ]; then \
		mail -sUnsorted $(INDEXWRITER) <$(UNSORTED);\
	 else \
		$(DBBIN)/mkRS.pl; \
		$(DBBIN)/updateRS2.pl $(RSPARAMS);\
		echo "Ready to deliver" | mail -s"Ready to deliver" $(DELIVERER);\
	 fi
	touch $(TIMESTAMP)


authorsdeliver:
	mysqldump --add-drop-table -u piataev chgk Authors A2Q  equalto > $(DUMPDIR)/chgkdump.0
	sed 's/TYPE=ISAM PACK_KEYS=1//g' $(DUMPDIR)/chgkdump.0 > $(DUMPDIR)/chgkdump
	gzip $(DUMPDIR)/chgkdump
	rm $(DUMPDIR)/chgkdump.0
	$(SCP) $(DUMPDIR)/chgkdump.gz  $(KULICHKI):$(DESTDUMPDIR)


dbfill:
	echo "Starting filling Kulichki database" | mail -s"Starting dbfill" $(DELIVERER)
	ssh $(KULICHKI) "export LANG=ru_RU.KOI8-R; \
	echo 'ВНИМАНИЕ! Идёт заливка Базы вопросов. \
				Результаты поиска в Базе могут быть неполны' \
		> ~/public_html/dimrub/db/date;\
		gunzip -c /var/tmp/chgkdump.gz | mysql -u piataev chgk;\
		date > ~/public_html/dimrub/db/date"
	echo "Finished filling Kulichki database" | mail -s"Finished dbfill" $(DELIVERER); \
	$(DBBIN)/stats.pl >> $(SRCDIR)/fill.log; \
	cvs commit  -m "Database filled" $(SRCDIR)


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>