2 # $Id: Makefile,v 1.37 2007/11/19 05:29:25 nakano Exp $
4 # Build macro for JM project. If something don't work well,
5 # please refer the description in admin/JM-CVS/JM-CVS.sgml.
12 MKRWWW=bin/mkmanweb.perl
13 MKPWWW=bin/mkpodweb.perl
14 MKDIST=bin/mkdist.perl
15 MKSPDIST=bin/mksplitdist.perl
22 JMRELEASE := $(shell date +"%Y%m%d")
23 DIST := man-pages-ja-$(JMRELEASE)
25 JMRPMDIST := jman_pages-$(JMVER)-$(JMRELEASE)
26 JMRPMSRC := $(TMPDIR)/$(DIST).tar.gz
27 JMRPMSPEC=jman_pages.spec
28 JMRPM_BUILD_ROOT=$(TMPDIR)/man-pages-ja-root
33 periodic: chkcvs roff html web cgi
35 all: periodic archive-install
38 # update check for CVS checkout
43 stamp/cvs-release-modified stamp/cvs-status-modified: chkcvs
48 roff: stamp/www-roff-modified
50 stamp/www-roff-modified: stamp/cvs-status-modified
52 $(RSYNC) -a $(ROFFSRC)/ $(WWWROFF)
54 $(RSYNC) -a $(PODSRC)/ $(WWWPOD)
60 html: stamp/www-html-modified
62 stamp/www-html-modified: stamp/cvs-release-modified
65 $(MKRWWW) $(ROFFSRC) $(WWWHTML) $(MAN2HTML)
66 $(MKPWWW) $(PODSRC) $(WWWHTML) $(POD2HTML)
67 # Remove temporary files generated by pod2html
68 rm -f pod2htmd.tmp pod2htmi.tmp
76 WWWROOT=$(WWWROOT) CGIROOT=$(CGIROOT) WORKDIR=$(TMPDIR)\
80 $(MAKE) -C admin/cgi/\
81 WWWROOT=$(WWWROOT) CGIROOT=$(CGIROOT)\
85 # archive related rules
87 archive-install: stamp/latest-archive-modified
88 -$(RM) www/man-pages-ja-*.tar.gz www/per-pkg/*.gz
90 cp $(TMPDIR)/$(DIST).tar.gz www/
92 cp $(TMPDIR)/man-pages-ja-*-$(JMRELEASE).tar.gz www/per-pkg
94 -cp $(RPMROOT)/RPMS/noarch/$(JMRPMDIST).noarch.rpm www/rpm
95 -cp $(RPMROOT)/SRPMS/$(JMRPMDIST).src.rpm www/rpm
97 make -C www/ DATE=$(JMRELEASE)\
98 WWWROOT=$(WWWROOT) CGIROOT=$(CGIROOT)\
99 download.html index.html
101 WWWROOT=$(WWWROOT) CGIROOT=$(CGIROOT)\
104 stamp/latest-archive-modified: tarball rpm
109 tarball: $(TMPDIR)/$(DIST).tar.gz
111 $(TMPDIR)/$(DIST).tar.gz:
112 $(MKDIST) . $(TMPDIR)/$(DIST) $(POD2MAN)
113 $(MAKE) -f Makefile.dist install
114 (cd $(TMPDIR); tar czf $(DIST).tar.gz $(DIST))
115 $(MKSPDIST) $(TMPDIR)/$(DIST)
116 touch stamp/latest-archive-modified
121 rpm: $(RPMROOT)/RPMS/noarch/$(JMRPMDIST).noarch.rpm
123 $(RPMROOT)/RPMS/noarch/$(JMRPMDIST).noarch.rpm: $(JMRPMSRC)
124 mkdir -p $(RPMROOT)/SOURCES
125 mkdir -p $(RPMROOT)/SPECS
126 mkdir -p $(RPMROOT)/BUILD
127 mkdir -p $(RPMROOT)/RPMS/noarch
128 mkdir -p $(RPMROOT)/SRPMS
129 mkdir -p $(RPMROOT)/db
130 mkdir -p $(RPMROOT)/tmp
131 cp $(JMRPMSRC) $(RPMROOT)/SOURCES/
132 sed -e "s/@@version@@/$(JMVER)/" \
133 -e "s/@@release@@/$(JMRELEASE)/" \
134 -e "s%@@buildroot@@%$(JMRPM_BUILD_ROOT)%" \
135 www/rpm/$(JMRPMSPEC) > $(RPMROOT)/SPECS/$(JMRPMSPEC)
136 $(RPM) --dbpath $(RPMROOT)/db --rebuilddb
137 $(RPMB) --define "buildroot $(JMRPM_BUILD_ROOT)" \
138 --dbpath $(RPMROOT)/db \
139 --define "_topdir $(RPMROOT)" \
140 --define "_tmppath $(RPMROOT)/tmp" \
141 --define "_mandir /usr/share/man" -ba \
142 $(RPMROOT)/SPECS/$(JMRPMSPEC)
143 touch stamp/latest-archive-modified
149 rm -f stamp/*-modified
151 $(MAKE) -C admin/cgi/ clean
152 $(MAKE) -C www/ clean
153 $(MAKE) -f Makefile.dist clean
154 rm -rf $(JMRPM_BUILD_ROOT)
155 rm -rf $(RPMROOT)/BUILD/$(DIST)
156 for i in $(JMRPMSRC); do \
157 rm -f $(RPMROOT)/SOURCES/`basename $$i` ; \
161 $(RM) -rf $(WWWROOT)/*
162 $(RM) -rf $(CGIROOT)/*