File:  [Local Repository] / db / prgsrc / Makefile
Revision 1.97: download - view: text, annotated - select for diffs - revision graph
Sat Apr 24 21:49:04 2010 UTC (14 years ago) by roma7
Branches: MAIN
CVS tags: HEAD
New tables are added

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

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