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

    1: HOSTNAME=$(shell hostname)
    2: ifeq ($(HOSTNAME),bilbo)
    3: ROOT=/home/znatoki
    4: endif
    5: ifndef ROOT
    6: ROOT = $(HOME)
    7: endif
    8: PERL = perl
    9: TMPSAV = /tmp
   10: PMODE = 775
   11: LMODE = 664
   12: KULICHKI=chgk-db-boris@ledorub.chgk.info
   13: RSYNC = rsync -ruvptCe ssh --delete --progress 
   14: SCP=scp
   15: DESTSRCDIR=~chgk-db/public_html/dimrub/src/
   16: SRCDIR=../baza
   17: DICTDIR=../dict
   18: IMAGEDIR=$(SRCDIR)/images
   19: SOUNDDIR=$(SRCDIR)/sounds
   20: DESTIMAGEDIR=~chgk-db/public_html/images/db
   21: INSTALLIMAGEDIR=$(ROOT)/public_html/images/db
   22: DESTSOUNDDIR=~chgk-db/public_html/sounds/db
   23: INSTALLSOUNDDIR=$(ROOT)/public_html/sounds/db
   24: DESTPRGSRC=~chgk-db/db/prgsrc
   25: DESTCGIBIN=~chgk-db/public_html/cgi-bin
   26: DUMPDIR=../dump
   27: DESTDUMPDIR=/var/tmp/
   28: TABLES= Questions Tournaments word2question nf nests Authors \
   29:  P2Q equalto People P2T
   30: INDEXWRITER= rubash@yandex.ru, roma7@zaba.ru
   31: #INDEXWRITER= boris
   32: AUTHORCHECKER = roma7@zaba.ru
   33: #AUTHORCHECKER = boris
   34: DELIVERER = roma7@zaba.ru, boris
   35: #DELIVERER = boris
   36: UPDATELOG = $(DUMPDIR)/update.log
   37: UAUTHORS=$(DUMPDIR)/uauthors
   38: UNSORTED=$(DUMPDIR)/unsorted
   39: RSPARAMS= 2000 150
   40: TIMESTAMP= $(DUMPDIR)/timestamp
   41: 
   42: DBSCRIPTS = mkdb.pl \
   43: 	    updatem.pl \
   44: 	    updatedb.pl \
   45: 	    changecities.pl\
   46: 	    createindex.pl\
   47: 	    updateindex.pl \
   48: 	    addlinks.pl \
   49: 	    deletefiles.pl\
   50: 	    renamefile.pl \
   51: 	    makecheck.pl\
   52: 	    mkRS.pl\
   53: 	    delRS.pl\
   54: 	    updateRS.pl\
   55: 	    updateRS1.pl\
   56: 	    updateRS2.pl\
   57: 	    updateRS3.pl\
   58: 	    dumpRS.pl\
   59: 	    findequal.pl\
   60: 	    dumpin2out.pl\
   61: 	    dump2dump.pl\
   62: 	    checkPBS.pl\
   63: 	    loaddump.pl \
   64: 	    makeauthors.pl\
   65: 	    makeeditors.pl\
   66: 	    makepeople.pl\
   67: 	    chronicles.pl\
   68: 	    stats.pl \
   69: 	    validate.pl
   70: 
   71: LIBS = chgkfiles.pm \
   72: 	    common.pl\
   73: 	    chgk.cnf\
   74: 	    dbchgk.pm\
   75:             check.pl
   76: 
   77: 
   78: CGISCRIPTS = db.cgi\
   79:              dbdefs.pl \
   80:              cw.pl
   81: 
   82: 
   83: HTMLS = contribute.html \
   84: 	copyright.html \
   85: 	copyright_mozg.html \
   86: 	credits.html \
   87: 	dbmain.html \
   88: 	footer.html \
   89: 	guestbook.html \
   90: 	index.html \
   91: 	random.html \
   92: 	reklama.html \
   93: 	reklama_bottom.html\
   94: 	dbxml.php\
   95: 	search.html  
   96: 
   97: 
   98: 
   99: DBBIN = ../bin
  100: MANDIR = ../man
  101: LIBDIR = ../lib
  102: CGIBIN = $(ROOT)/public_html/cgi-bin
  103: HTMLDIR = $(ROOT)/public_html/dimrub/db
  104: 
  105: TEXTS = $(wildcard $(SRCDIR)/*.txt) $(SRCDIR)/index
  106: IMAGES = $(wildcard $(IMAGEDIR)/*.gif) $(wildcard $(IMAGEDIR)/*.jpg)
  107: SOUNDS = $(wildcard $(SOUNDDIR)/*.mp3) $(wildcard $(SOUNDDIR)/*.mid)
  108: IMAGENAMES= $(notdir $(IMAGES))
  109: SOUNDNAMES= $(notdir $(SOUNDS))
  110: 
  111: 
  112: 
  113: BININSTALL =    ${DBSCRIPTS:%=$(DBBIN)/%}
  114: CGIINSTALL =    ${CGISCRIPTS:%.cgi=$(CGIBIN)/%.cgi}
  115: LIBINSTALL =    ${LIBS:%=$(LIBDIR)/%}
  116: HTMLINSTALL =   ${HTMLS:%.html=$(HTMLDIR)/%.html}
  117: IMAGEINSTALL =  ${IMAGENAMES:%=$(INSTALLIMAGEDIR)/%}
  118: SOUNDINSTALL =  ${SOUNDNAMES:%=$(INSTALLSOUNDDIR)/%}
  119: 
  120: 
  121: all: $(LIBINSTALL) $(BININSTALL) $(CGIINSTALL) $(HTMLINSTALL) \
  122: 	$(IMAGEINSTALL) $(SOUNDINSTALL)
  123: 
  124: 
  125: 
  126: 
  127: 
  128: $(DBBIN)/%.pl:       %.pl
  129: 	${PERL} -c $<
  130: 	- pod2man --center "Internet Club DB" $< > $*.1
  131: 	- install -m $(LMODE) $*.1 $(MANDIR)/man1
  132: 	- rm $*.1
  133: 	if [ -f $@ ]; then mv $@ $(TMPSAV); fi
  134: 	cp $< $@
  135: 	chmod $(PMODE) $@
  136: 	if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
  137: 
  138: $(CGIBIN)/%.cgi:       %.cgi
  139: 	${PERL} -c $<
  140: 	- pod2man --center "Internet Club DB" $< > $*.1
  141: 	- install -m $(LMODE) $*.1 $(MANDIR)/man1
  142: 	- rm $*.1	
  143: 	if [ -f $@ ]; then mv $@ $(TMPSAV); fi
  144: 	cp $< $@
  145: 	chmod $(PMODE) $@
  146: 	if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
  147: 
  148: 
  149: 
  150: $(LIBDIR)/%.pm:       %.pm
  151: 	${PERL} -c $<
  152: 	- pod2man --center "Internet Club DB" $< > $*.3
  153: 	- install -m $(LMODE) $*.3 $(MANDIR)/man3
  154: 	- rm $*.3
  155: 	if [ -f $@ ]; then mv $@ $(TMPSAV); fi
  156: 	cp $< $@
  157: 	chmod $(LMODE) $@
  158: 	if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
  159: 
  160: 
  161: $(LIBDIR)/%.pl:       %.pl
  162: 	${PERL} -c $<
  163: 	- pod2man --center "Internet Club DB" $< > $*.3
  164: 	- install -m $(LMODE) $*.3 $(MANDIR)/man3
  165: 	- rm $*.3
  166: 	if [ -f $@ ]; then mv $@ $(TMPSAV); fi
  167: 	cp $< $@
  168: 	chmod $(LMODE) $@
  169: 	if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
  170: 
  171: 
  172: $(LIBDIR)/%.cnf:       %.cnf
  173: 	${PERL} -c $<
  174: 	- pod2man --center "Internet Club DB" $< > $*.5
  175: 	- install -m $(LMODE) $*.5 $(MANDIR)/man5
  176: 	- rm $*.5
  177: 	if [ -f $@ ]; then mv $@ $(TMPSAV); fi
  178: 	cp $< $@
  179: 	chmod $(LMODE) $@
  180: 	if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
  181: 
  182: 
  183: $(HTMLDIR)/%.html:       %.html
  184: 	cp $< $@
  185: 
  186: 
  187: $(INSTALLIMAGEDIR)/%: $(IMAGEDIR)/%
  188: 	cp $< $@	
  189: 
  190: 
  191: $(INSTALLSOUNDDIR)/%: $(SOUNDDIR)/%
  192: 	cp $< $@	
  193: 
  194: 
  195: 
  196: srcdeliver:
  197: 	$(RSYNC) $(SRCDIR) $(KULICHKI):$(DESTSRCDIR)
  198: 
  199: 
  200: imagedeliver:
  201: 	cvs update $(SRCDIR)
  202: 	$(RSYNC) $(IMAGEDIR)/ $(KULICHKI):$(DESTIMAGEDIR)/
  203: 
  204: sounddeliver:
  205: 	cvs update $(SRCDIR)
  206: 	$(RSYNC) $(SOUNDDIR)/ $(KULICHKI):$(DESTSOUNDDIR)/
  207: 
  208: prgdeliver:
  209: 	$(RSYNC) ./ $(KULICHKI):$(DESTPRGSRC)
  210: 
  211: dbdeliver: imagedeliver sounddeliver
  212: 	echo "Starting delivering" | mail -s"Starting delivering" $(DELIVERER)
  213: 	mysqldump   --default-character-set=koi8r --add-drop-table -u piataev chgk $(TABLES)  > $(DUMPDIR)/chgkdump
  214: 	echo "delete from hash;" >> $(DUMPDIR)/chgkdump
  215: 	echo "CREATE FULLTEXT INDEX fti ON Questions (Question, Answer, PassCriteria, Comments);" >> $(DUMPDIR)/chgkdump
  216: 	gzip $(DUMPDIR)/chgkdump
  217: 	$(SCP) $(DUMPDIR)/chgkdump.gz  $(KULICHKI):$(DESTDUMPDIR)
  218: 	echo "Delivered" | mail -s"Database delivered" $(DELIVERER)
  219: 
  220: update: 
  221: 	cvs update
  222: 	cvs update $(SRCDIR)
  223: 	cvs update $(DICTDIR)
  224: 	$(MAKE) all
  225: 	$(MAKE) $(TIMESTAMP)
  226: 
  227: $(TIMESTAMP): $(TEXTS)
  228: 	mysql -upiataev chgk <delq.sql
  229: 	$(DBBIN)/mkdb.pl
  230: 	$(DBBIN)/updateindex.pl -i$(SRCDIR)/index
  231: 	$(DBBIN)/updatedb.pl $(SRCDIR)/*.txt 2>&1 | tee $(UPDATELOG)
  232: 	$(DBBIN)/findequal.pl
  233: 	$(DBBIN)/makepeople.pl	
  234: 	$(DBBIN)/makeauthors.pl
  235: 	$(DBBIN)/makeeditors.pl	
  236: 	if [ -s $(UAUTHORS) ]; then  \
  237: 		mail -sUauthors $(AUTHORCHECKER) < $(UAUTHORS); \
  238: 	fi
  239: 	if [ -s $(UNSORTED) ]; then \
  240: 		mail -sUnsorted $(INDEXWRITER) <$(UNSORTED);\
  241: 	 else \
  242: 		$(DBBIN)/mkRS.pl; \
  243: 		$(DBBIN)/updateRS2.pl $(RSPARAMS);\
  244: 		echo "Ready to deliver" | mail -s"Ready to deliver" $(DELIVERER);\
  245: 	 fi
  246: 	touch $(TIMESTAMP)
  247: 
  248: 
  249: authorsdeliver:
  250: 	mysqldump --add-drop-table -u piataev chgk Authors A2Q  equalto > $(DUMPDIR)/chgkdump.0
  251: 	sed 's/TYPE=ISAM PACK_KEYS=1//g' $(DUMPDIR)/chgkdump.0 > $(DUMPDIR)/chgkdump
  252: 	gzip $(DUMPDIR)/chgkdump
  253: 	rm $(DUMPDIR)/chgkdump.0
  254: 	$(SCP) $(DUMPDIR)/chgkdump.gz  $(KULICHKI):$(DESTDUMPDIR)
  255: 
  256: 
  257: dbfill:
  258: 	echo "Starting filling Kulichki database" | mail -s"Starting dbfill" $(DELIVERER)
  259: 	ssh $(KULICHKI) "export LANG=ru_RU.KOI8-R; \
  260: 	echo 'ВНИМАНИЕ! Идёт заливка Базы вопросов. \
  261: 				Результаты поиска в Базе могут быть неполны' \
  262: 		> ~/public_html/dimrub/db/date;\
  263: 		gunzip -c /var/tmp/chgkdump.gz | mysql -u piataev chgk;\
  264: 		date > ~/public_html/dimrub/db/date"
  265: 	echo "Finished filling Kulichki database" | mail -s"Finished dbfill" $(DELIVERER); \
  266: 	$(DBBIN)/stats.pl >> $(SRCDIR)/fill.log; \
  267: 	cvs commit  -m "Database filled" $(SRCDIR)
  268: 

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