Annotation of db/prgsrc/Makefile, revision 1.97

1.84      boris       1: HOSTNAME=$(shell hostname)
                      2: ifeq ($(HOSTNAME),bilbo)
                      3: ROOT=/home/znatoki
                      4: endif
1.6       boris       5: ifndef ROOT
1.83      boris       6: ROOT = $(HOME)
1.6       boris       7: endif
1.1       boris       8: PERL = perl
                      9: TMPSAV = /tmp
                     10: PMODE = 775
                     11: LMODE = 664
1.83      boris      12: KULICHKI=chgk-db-boris@ledorub.chgk.info
1.80      boris      13: RSYNC = rsync -ruvptCe ssh --delete --progress 
1.16      boris      14: SCP=scp
1.83      boris      15: DESTSRCDIR=~chgk-db/public_html/dimrub/src/
1.23      roma7      16: SRCDIR=../baza
1.48      roma7      17: DICTDIR=../dict
1.40      boris      18: IMAGEDIR=$(SRCDIR)/images
1.93      boris      19: SOUNDDIR=$(SRCDIR)/sounds
1.83      boris      20: DESTIMAGEDIR=~chgk-db/public_html/images/db
1.40      boris      21: INSTALLIMAGEDIR=$(ROOT)/public_html/images/db
1.93      boris      22: DESTSOUNDDIR=~chgk-db/public_html/sounds/db
                     23: INSTALLSOUNDDIR=$(ROOT)/public_html/sounds/db
1.83      boris      24: DESTPRGSRC=~chgk-db/db/prgsrc
                     25: DESTCGIBIN=~chgk-db/public_html/cgi-bin
1.1       boris      26: DUMPDIR=../dump
1.17      boris      27: DESTDUMPDIR=/var/tmp/
1.97    ! roma7      28: TABLES= Questions Tournaments word2question nf nests Authors P2Q equalto People P2T
1.38      roma7      29: INDEXWRITER= rubash@yandex.ru, roma7@zaba.ru
1.34      boris      30: #INDEXWRITER= boris
                     31: AUTHORCHECKER = roma7@zaba.ru
                     32: #AUTHORCHECKER = boris
                     33: DELIVERER = roma7@zaba.ru, boris
1.35      boris      34: #DELIVERER = boris
1.34      boris      35: UPDATELOG = $(DUMPDIR)/update.log
                     36: UAUTHORS=$(DUMPDIR)/uauthors
                     37: UNSORTED=$(DUMPDIR)/unsorted
1.89      boris      38: RSPARAMS= 2000 150
1.39      boris      39: TIMESTAMP= $(DUMPDIR)/timestamp
1.1       boris      40: 
                     41: DBSCRIPTS = mkdb.pl \
                     42:            updatem.pl \
                     43:            updatedb.pl \
                     44:            changecities.pl\
                     45:            createindex.pl\
                     46:            updateindex.pl \
1.8       boris      47:            addlinks.pl \
1.9       boris      48:            deletefiles.pl\
1.10      boris      49:            renamefile.pl \
1.11      boris      50:            makecheck.pl\
                     51:            mkRS.pl\
1.14      boris      52:            delRS.pl\
1.11      boris      53:            updateRS.pl\
                     54:            updateRS1.pl\
1.15      boris      55:            updateRS2.pl\
                     56:            updateRS3.pl\
1.11      boris      57:            dumpRS.pl\
1.45      roma7      58:            findequal.pl\
1.11      boris      59:            dumpin2out.pl\
                     60:            dump2dump.pl\
                     61:            checkPBS.pl\
1.34      boris      62:            loaddump.pl \
1.57      boris      63:            makeauthors.pl\
1.96      roma7      64:            makeeditors.pl\
                     65:            makepeople.pl\          
1.77      boris      66:            chronicles.pl\
1.78      boris      67:            stats.pl \
                     68:            validate.pl
1.11      boris      69: 
                     70: LIBS = chgkfiles.pm \
1.10      boris      71:            common.pl\
                     72:            chgk.cnf\
1.11      boris      73:            dbchgk.pm\
                     74:             check.pl
1.10      boris      75: 
1.1       boris      76: 
1.70      boris      77: CGISCRIPTS = db.cgi\
1.92      boris      78:              dbdefs.pl \
                     79:              cw.pl
1.1       boris      80: 
1.12      boris      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 \
1.58      boris      92:        reklama_bottom.html\
1.90      roma7      93:        dbxml.php\
1.12      boris      94:        search.html  
                     95: 
                     96: 
1.13      boris      97: 
1.1       boris      98: DBBIN = ../bin
                     99: MANDIR = ../man
1.10      boris     100: LIBDIR = ../lib
1.6       boris     101: CGIBIN = $(ROOT)/public_html/cgi-bin
1.13      boris     102: HTMLDIR = $(ROOT)/public_html/dimrub/db
1.1       boris     103: 
1.40      boris     104: TEXTS = $(wildcard $(SRCDIR)/*.txt) $(SRCDIR)/index
1.94      boris     105: IMAGES = $(wildcard $(IMAGEDIR)/*.gif) $(wildcard $(IMAGEDIR)/*.jpg)
                    106: SOUNDS = $(wildcard $(SOUNDDIR)/*.mp3) $(wildcard $(SOUNDDIR)/*.mid)
1.40      boris     107: IMAGENAMES= $(notdir $(IMAGES))
1.93      boris     108: SOUNDNAMES= $(notdir $(SOUNDS))
1.40      boris     109: 
                    110: 
                    111: 
1.10      boris     112: BININSTALL =    ${DBSCRIPTS:%=$(DBBIN)/%}
1.1       boris     113: CGIINSTALL =    ${CGISCRIPTS:%.cgi=$(CGIBIN)/%.cgi}
1.10      boris     114: LIBINSTALL =    ${LIBS:%=$(LIBDIR)/%}
1.13      boris     115: HTMLINSTALL =   ${HTMLS:%.html=$(HTMLDIR)/%.html}
1.40      boris     116: IMAGEINSTALL =  ${IMAGENAMES:%=$(INSTALLIMAGEDIR)/%}
1.93      boris     117: SOUNDINSTALL =  ${SOUNDNAMES:%=$(INSTALLSOUNDDIR)/%}
1.40      boris     118: 
1.84      boris     119: 
1.93      boris     120: all: $(LIBINSTALL) $(BININSTALL) $(CGIINSTALL) $(HTMLINSTALL) \
                    121:        $(IMAGEINSTALL) $(SOUNDINSTALL)
1.40      boris     122: 
1.10      boris     123: 
1.1       boris     124: 
1.39      boris     125: 
1.1       boris     126: 
1.11      boris     127: $(DBBIN)/%.pl:       %.pl
1.1       boris     128:        ${PERL} -c $<
                    129:        - pod2man --center "Internet Club DB" $< > $*.1
                    130:        - install -m $(LMODE) $*.1 $(MANDIR)/man1
1.10      boris     131:        - rm $*.1
1.1       boris     132:        if [ -f $@ ]; then mv $@ $(TMPSAV); fi
                    133:        cp $< $@
                    134:        chmod $(PMODE) $@
                    135:        if [ -f $(TMPSAV)/$(@F) ]; then rm -f $(TMPSAV)/$(@F); fi
1.33      boris     136: 
1.1       boris     137: $(CGIBIN)/%.cgi:       %.cgi
                    138:        ${PERL} -c $<
                    139:        - pod2man --center "Internet Club DB" $< > $*.1
                    140:        - install -m $(LMODE) $*.1 $(MANDIR)/man1
1.10      boris     141:        - rm $*.1       
1.1       boris     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: 
1.10      boris     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
1.11      boris     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
1.10      boris     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: 
1.12      boris     182: $(HTMLDIR)/%.html:       %.html
                    183:        cp $< $@
                    184: 
1.10      boris     185: 
1.40      boris     186: $(INSTALLIMAGEDIR)/%: $(IMAGEDIR)/%
                    187:        cp $< $@        
1.1       boris     188: 
1.93      boris     189: 
                    190: $(INSTALLSOUNDDIR)/%: $(SOUNDDIR)/%
                    191:        cp $< $@        
                    192: 
                    193: 
                    194: 
1.1       boris     195: srcdeliver:
                    196:        $(RSYNC) $(SRCDIR) $(KULICHKI):$(DESTSRCDIR)
                    197: 
                    198: 
1.40      boris     199: imagedeliver:
1.49      boris     200:        cvs update $(SRCDIR)
1.60      boris     201:        $(RSYNC) $(IMAGEDIR)/ $(KULICHKI):$(DESTIMAGEDIR)/
1.40      boris     202: 
1.93      boris     203: sounddeliver:
                    204:        cvs update $(SRCDIR)
                    205:        $(RSYNC) $(SOUNDDIR)/ $(KULICHKI):$(DESTSOUNDDIR)/
                    206: 
1.1       boris     207: prgdeliver:
                    208:        $(RSYNC) ./ $(KULICHKI):$(DESTPRGSRC)
                    209: 
1.93      boris     210: dbdeliver: imagedeliver sounddeliver
1.51      roma7     211:        echo "Starting delivering" | mail -s"Starting delivering" $(DELIVERER)
1.91      boris     212:        mysqldump   --default-character-set=koi8r --add-drop-table -u piataev chgk $(TABLES)  > $(DUMPDIR)/chgkdump
1.59      boris     213:        echo "delete from hash;" >> $(DUMPDIR)/chgkdump
1.95      roma7     214:        echo "CREATE FULLTEXT INDEX fti ON Questions (Question, Answer, PassCriteria, Comments);" >> $(DUMPDIR)/chgkdump
1.16      boris     215:        gzip $(DUMPDIR)/chgkdump
                    216:        $(SCP) $(DUMPDIR)/chgkdump.gz  $(KULICHKI):$(DESTDUMPDIR)
1.46      boris     217:        echo "Delivered" | mail -s"Database delivered" $(DELIVERER)
1.12      boris     218: 
1.24      roma7     219: update: 
1.50      boris     220:        cvs update
1.21      roma7     221:        cvs update $(SRCDIR)
1.48      roma7     222:        cvs update $(DICTDIR)
1.50      boris     223:        $(MAKE) all
1.39      boris     224:        $(MAKE) $(TIMESTAMP)
                    225: 
                    226: $(TIMESTAMP): $(TEXTS)
1.27      roma7     227:        mysql -upiataev chgk <delq.sql
1.36      boris     228:        $(DBBIN)/mkdb.pl
                    229:        $(DBBIN)/updateindex.pl -i$(SRCDIR)/index
                    230:        $(DBBIN)/updatedb.pl $(SRCDIR)/*.txt 2>&1 | tee $(UPDATELOG)
1.43      roma7     231:        $(DBBIN)/findequal.pl
1.96      roma7     232:        $(DBBIN)/makepeople.pl  
1.36      boris     233:        $(DBBIN)/makeauthors.pl
1.96      roma7     234:        $(DBBIN)/makeeditors.pl 
1.34      boris     235:        if [ -s $(UAUTHORS) ]; then  \
                    236:                mail -sUauthors $(AUTHORCHECKER) < $(UAUTHORS); \
                    237:        fi
                    238:        if [ -s $(UNSORTED) ]; then \
                    239:                mail -sUnsorted $(INDEXWRITER) <$(UNSORTED);\
                    240:         else \
1.36      boris     241:                $(DBBIN)/mkRS.pl; \
                    242:                $(DBBIN)/updateRS2.pl $(RSPARAMS);\
1.47      roma7     243:                echo "Ready to deliver" | mail -s"Ready to deliver" $(DELIVERER);\
1.34      boris     244:         fi
1.39      boris     245:        touch $(TIMESTAMP)
                    246: 
1.33      boris     247: 
                    248: authorsdeliver:
1.42      roma7     249:        mysqldump --add-drop-table -u piataev chgk Authors A2Q  equalto > $(DUMPDIR)/chgkdump.0
1.33      boris     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: 
1.52      boris     255: 
                    256: dbfill:
                    257:        echo "Starting filling Kulichki database" | mail -s"Starting dbfill" $(DELIVERER)
1.86      boris     258:        ssh $(KULICHKI) "export LANG=ru_RU.KOI8-R; \
                    259:        echo 'ВНИМАНИЕ! Идёт заливка Базы вопросов. \
1.55      boris     260:                                Результаты поиска в Базе могут быть неполны' \
1.73      boris     261:                > ~/public_html/dimrub/db/date;\
1.88      boris     262:                gunzip -c /var/tmp/chgkdump.gz | mysql -u piataev chgk;\
1.73      boris     263:                date > ~/public_html/dimrub/db/date"
1.74      boris     264:        echo "Finished filling Kulichki database" | mail -s"Finished dbfill" $(DELIVERER); \
1.77      boris     265:        $(DBBIN)/stats.pl >> $(SRCDIR)/fill.log; \
1.76      boris     266:        cvs commit  -m "Database filled" $(SRCDIR)
1.67      boris     267: 

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