ifndef ROOT ROOT = /home/znatoki endif PERL = perl TMPSAV = /tmp PMODE = 775 LMODE = 664 KULICHKI=znatoki.kulichki.net RSYNC = rsync -ruvptCe ssh --delete --progress --rsync-path='~/bin/rsync' SCP=scp DESTSRCDIR=~piataev/public_html/dimrub/src/ SRCDIR=../baza DICTDIR=../dict IMAGEDIR=$(SRCDIR)/images DESTIMAGEDIR=~piataev/public_html/images/db INSTALLIMAGEDIR=$(ROOT)/public_html/images/db DESTPRGSRC=~piataev/db/prgsrc DESTCGIBIN=~piataev/public_html/cgi-bin DUMPDIR=../dump DESTDUMPDIR=/var/tmp/ TABLES= Questions Tournaments word2question nf nests Authors A2Q equalto 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 50 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\ chronicles.pl LIBS = chgkfiles.pm \ common.pl\ chgk.cnf\ dbchgk.pm\ check.pl CGISCRIPTS = db.cgi 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\ 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)/*.jpg) IMAGENAMES= $(notdir $(IMAGES)) BININSTALL = ${DBSCRIPTS:%=$(DBBIN)/%} CGIINSTALL = ${CGISCRIPTS:%.cgi=$(CGIBIN)/%.cgi} LIBINSTALL = ${LIBS:%=$(LIBDIR)/%} HTMLINSTALL = ${HTMLS:%.html=$(HTMLDIR)/%.html} IMAGEINSTALL = ${IMAGENAMES:%=$(INSTALLIMAGEDIR)/%} all: $(LIBINSTALL) $(BININSTALL) $(CGIINSTALL) $(HTMLINSTALL) $(IMAGEINSTALL) $(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 $< $@ srcdeliver: $(RSYNC) $(SRCDIR) $(KULICHKI):$(DESTSRCDIR) imagedeliver: cvs update $(SRCDIR) $(RSYNC) $(IMAGEDIR)/ $(KULICHKI):$(DESTIMAGEDIR)/ prgdeliver: $(RSYNC) ./ $(KULICHKI):$(DESTPRGSRC) dbdeliver: imagedeliver echo "Starting delivering" | mail -s"Starting delivering" $(DELIVERER) mysqldump --add-drop-table -u piataev chgk $(TABLES) > $(DUMPDIR)/chgkdump.0 sed 's/TYPE=ISAM PACK_KEYS=1//g' $(DUMPDIR)/chgkdump.0 > $(DUMPDIR)/chgkdump echo "delete from hash;" >> $(DUMPDIR)/chgkdump gzip $(DUMPDIR)/chgkdump rm $(DUMPDIR)/chgkdump.0 $(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 &1 | tee $(UPDATELOG) $(DBBIN)/findequal.pl $(DBBIN)/makeauthors.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) "echo 'ВНИМАНИЕ! Идёт заливка Базы вопросов. \ Результаты поиска в Базе могут быть неполны' \ > public_html/dimrub/db/date;\ echo 'SELECT MAX(CreatedAt) FROM Tournaments' | \ mysql -u piataev --skip-column-names chgk >_timestamp.tmp;\ gunzip -c /var/tmp/chgkdump.gz | mysql -u piataev chgk;\ date > public_html/dimrub/db/date; \ echo makehtml=1 | perl $(DESTCGIBIN)/db.cgi -z; \ rm -f _timestamp.tmp" echo "Finished filling Kulichki database" | mail -s"Finished dbfill" $(DELIVERER)