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
17 YAM2H=bin/yaman2html.perl
23 JMRELEASE := $(shell date +"%Y%m%d")
24 DIST := man-pages-ja-$(JMRELEASE)
26 JMRPMDIST := jman_pages-$(JMVER)-$(JMRELEASE)
27 JMRPMSRC := $(TMPDIR)/$(DIST).tar.gz
28 JMRPMSPEC=jman_pages.spec
29 JMRPM_BUILD_ROOT=$(TMPDIR)/man-pages-ja-root
34 periodic: chkcvs roff html web cgi
36 all: periodic archive-install
39 # update check for CVS checkout
44 cvs-release-modified cvs-status-modified: chkcvs
49 roff: www-roff-modified
51 www-roff-modified: cvs-status-modified
53 $(RSYNC) -a $(ROFFSRC) $(WWWROFF)
55 $(RSYNC) -a $(PODSRC) $(WWWPOD)
61 html: www-html-modified
63 www-html-modified: cvs-release-modified
66 $(MKRWWW) $(ROFFSRC) $(WWWHTML) $(MAN2HTML) $(YAM2H)
67 $(MKPWWW) $(PODSRC) $(WWWHTML) $(POD2HTML)
75 WWWROOT=$(WWWROOT) CGIROOT=$(CGIROOT)\
79 $(MAKE) -C admin/cgi/\
80 WWWROOT=$(WWWROOT) CGIROOT=$(CGIROOT)\
84 # archive related rules
86 archive-install: latest-archive-modified
87 -$(RM) www/man-pages-ja-*.tar.gz www/per-pkg/*.gz
89 cp $(TMPDIR)/$(DIST).tar.gz www/
91 cp $(TMPDIR)/man-pages-ja-*-$(JMRELEASE).tar.gz www/per-pkg
93 -cp $(RPMROOT)/RPMS/noarch/$(JMRPMDIST).noarch.rpm www/rpm
94 -cp $(RPMROOT)/SRPMS/$(JMRPMDIST).src.rpm www/rpm
96 make -C www/ DATE=$(JMRELEASE)\
97 WWWROOT=$(WWWROOT) CGIROOT=$(CGIROOT)\
98 download.html index.html
100 WWWROOT=$(WWWROOT) CGIROOT=$(CGIROOT)\
103 latest-archive-modified: tarball rpm
108 tarball: $(TMPDIR)/$(DIST).tar.gz
110 $(TMPDIR)/$(DIST).tar.gz:
111 $(MKDIST) . $(TMPDIR)/$(DIST) $(POD2MAN)
112 $(MAKE) -f Makefile.dist install
113 (cd $(TMPDIR); tar czf $(DIST).tar.gz $(DIST))
114 $(MKSPDIST) $(TMPDIR)/$(DIST)
115 touch latest-archive-modified
120 rpm: $(RPMROOT)/RPMS/noarch/$(JMRPMDIST).noarch.rpm
122 $(RPMROOT)/RPMS/noarch/$(JMRPMDIST).noarch.rpm: $(JMRPMSRC)
123 mkdir -p $(RPMROOT)/SOURCES
124 mkdir -p $(RPMROOT)/SPECS
125 mkdir -p $(RPMROOT)/BUILD
126 mkdir -p $(RPMROOT)/RPMS/noarch
127 mkdir -p $(RPMROOT)/SRPMS
128 mkdir -p $(RPMROOT)/db
129 cp $(JMRPMSRC) $(RPMROOT)/SOURCES/
130 sed -e "s/@@version@@/$(JMVER)/" \
131 -e "s/@@release@@/$(JMRELEASE)/" \
132 -e "s%@@buildroot@@%$(JMRPM_BUILD_ROOT)%" \
133 www/rpm/$(JMRPMSPEC) > $(RPMROOT)/SPECS/$(JMRPMSPEC)
134 $(RPM) --dbpath $(RPMROOT)/db --rebuilddb
135 $(RPMB) --define "buildroot $(JMRPM_BUILD_ROOT)" \
136 --dbpath $(RPMROOT)/db \
137 --define "_topdir $(RPMROOT)" \
138 --define "_mandir /usr/share/man" -ba \
139 $(RPMROOT)/SPECS/$(JMRPMSPEC)
140 touch latest-archive-modified
148 $(MAKE) -C admin/cgi/ clean
149 $(MAKE) -C www/ clean
150 $(MAKE) -f Makefile.dist clean
151 rm -rf $(JMRPM_BUILD_ROOT)
152 rm -rf $(RPMROOT)/BUILD/$(DIST)
153 for i in $(JMRPMSRC); do \
154 rm -f $(RPMROOT)/SOURCES/`basename $$i` ; \