2 # Build macro for JM project. If something don't work well,
3 # please refer the description in admin/JM-CVS/JM-CVS.sgml.
10 MKRWWW=bin/mkmanweb.perl
11 MKPWWW=bin/mkpodweb.perl
12 MKDIST=bin/mkdist.perl
13 MKSPDIST=bin/mksplitdist.perl
21 JMRELEASE := $(shell env LANG=C date +"%Y%m%d")
22 DIST := man-pages-ja-$(JMRELEASE)
24 JMRPMDIST := jman_pages-$(JMVER)-$(JMRELEASE)
25 JMRPMSRC := $(TMPDIR)/$(DIST).tar.gz
26 JMRPMSPEC=jman_pages.spec
27 JMRPM_BUILD_ROOT=$(TMPDIR)/man-pages-ja-root
32 periodic: chkcvs roff infoman html web cgi guide
34 all: periodic archive-install
37 # update check for CVS checkout
42 stamp/cvs-release-modified stamp/cvs-status-modified: chkcvs
47 roff: stamp/www-roff-modified
49 stamp/www-roff-modified: stamp/cvs-status-modified
51 $(RSYNC) -a --delete -v $(ROFFSRC)/ $(WWWROFF)
53 $(RSYNC) -a --delete -v $(PODSRC)/ $(WWWPOD)
59 html: stamp/www-html-modified
61 stamp/www-html-modified: stamp/cvs-release-modified
64 $(MKRWWW) $(ROFFSRC) $(WWWHTML) $(MAN2HTML)
65 $(MKPWWW) $(PODSRC) $(WWWHTML) $(POD2HTML)
66 # $(MAKE) -C $(INFOSRC) install
67 # Remove temporary files generated by pod2html
68 rm -f pod2htmd.tmp pod2htmi.tmp
74 infoman: stamp/www-info-modified
76 stamp/www-info-modified: stamp/info-release-modified
77 $(MAKE) -C $(INFOSRC) install
85 WWWROOT=$(WWWROOT) CGIROOT=$(CGIROOT) WORKDIR=$(TMPDIR)\
89 $(MAKE) -C admin/cgi/\
90 WWWROOT=$(WWWROOT) CGIROOT=$(CGIROOT)\
95 $(MAKE) -C guide/ -f Makefile.venv-wrap install WWWROOT=$(WWWROOT) install
98 # archive related rules
100 archive-install: stamp/latest-archive-modified
101 -$(RM) www/man-pages-ja-*.tar.gz www/per-pkg/*.gz
103 cp $(TMPDIR)/$(DIST).tar.gz www/
105 cp $(TMPDIR)/man-pages-ja-*-$(JMRELEASE).tar.gz www/per-pkg
107 -cp $(RPMROOT)/RPMS/noarch/$(JMRPMDIST).noarch.rpm www/rpm
108 -cp $(RPMROOT)/SRPMS/$(JMRPMDIST).src.rpm www/rpm
110 make -C www/ DATE=$(JMRELEASE)\
111 WWWROOT=$(WWWROOT) CGIROOT=$(CGIROOT)\
112 download.html index.html
114 WWWROOT=$(WWWROOT) CGIROOT=$(CGIROOT)\
117 stamp/latest-archive-modified: tarball rpm
122 tarball: $(TMPDIR)/$(DIST).tar.gz
124 $(TMPDIR)/$(DIST).tar.gz:
125 $(MKDIST) . $(TMPDIR)/$(DIST) $(POD2MAN)
126 $(MAKE) -f Makefile.dist install
127 (cd $(TMPDIR); tar czf $(DIST).tar.gz $(DIST))
128 $(MKSPDIST) $(TMPDIR)/$(DIST)
129 touch stamp/latest-archive-modified
134 rpm: $(RPMROOT)/RPMS/noarch/$(JMRPMDIST).noarch.rpm
136 $(RPMROOT)/RPMS/noarch/$(JMRPMDIST).noarch.rpm: $(JMRPMSRC)
139 mkdir -p $(RPMROOT)/SOURCES
140 mkdir -p $(RPMROOT)/SPECS
141 mkdir -p $(RPMROOT)/BUILD
142 mkdir -p $(RPMROOT)/RPMS/noarch
143 mkdir -p $(RPMROOT)/SRPMS
144 mkdir -p $(RPMROOT)/db
145 mkdir -p $(RPMROOT)/tmp
146 cp $(JMRPMSRC) $(RPMROOT)/SOURCES/
147 sed -e "s/@@version@@/$(JMVER)/" \
148 -e "s/@@release@@/$(JMRELEASE)/" \
149 -e "s%@@buildroot@@%$(JMRPM_BUILD_ROOT)%" \
150 www/rpm/$(JMRPMSPEC) > $(RPMROOT)/SPECS/$(JMRPMSPEC)
151 $(RPM) --dbpath $(RPMROOT)/db --rebuilddb
152 $(RPMB) --define "buildroot $(JMRPM_BUILD_ROOT)" \
153 --dbpath $(RPMROOT)/db \
154 --define "_topdir $(RPMROOT)" \
155 --define "_tmppath $(RPMROOT)/tmp" \
156 --define "_sourcedir $(RPMROOT)/SOURCES" \
157 --define "_mandir /usr/share/man" -ba \
158 $(RPMROOT)/SPECS/$(JMRPMSPEC)
159 touch stamp/latest-archive-modified
166 rm -f stamp/*-modified
167 $(MAKE) -C admin/cgi/ clean
168 $(MAKE) -C www/ clean
169 $(MAKE) -f Makefile.dist clean
173 rm -rf $(JMRPM_BUILD_ROOT)
174 rm -rf $(RPMROOT)/BUILD/$(DIST)
175 for i in $(JMRPMSRC); do \
176 rm -f $(RPMROOT)/SOURCES/`basename $$i` ; \
180 $(RM) -rf $(WWWROOT)/*
181 $(RM) -rf $(CGIROOT)/*