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 &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)