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