OSDN Git Service

sf.jp の環境に合わせて、ファイルパスを修正。
[linuxjm/jm.git] / Makefile
1 #
2 # $Id: Makefile,v 1.37 2007/11/19 05:29:25 nakano Exp $
3 #
4 # Build macro for JM project.  If something don't work well,
5 # please refer the description in admin/JM-CVS/JM-CVS.sgml.
6 #
7 include ./JM.rules
8
9 #
10 # defs
11 #
12 MKRWWW=bin/mkmanweb.perl
13 MKPWWW=bin/mkpodweb.perl
14 MKDIST=bin/mkdist.perl
15 MKSPDIST=bin/mksplitdist.perl
16 CHKCVS=bin/chkcvs.sh
17 YAM2H=bin/yaman2html.perl
18
19 ROFFSRC=./manual
20 PODSRC=./pod
21
22 JMVER=0.5
23 JMRELEASE := $(shell date +"%Y%m%d")
24 DIST := man-pages-ja-$(JMRELEASE)
25
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
30
31 #
32 # global rules
33 #
34 periodic: chkcvs roff html web cgi
35
36 all: periodic archive-install 
37
38 #
39 # update check for CVS checkout
40 #
41 chkcvs:
42         $(CHKCVS)
43
44 cvs-release-modified cvs-status-modified: chkcvs
45
46 #
47 # roff tree
48 #
49 roff: www-roff-modified
50
51 www-roff-modified: cvs-status-modified
52         @mkdir -p $(WWWROFF)
53         $(RSYNC) -a $(ROFFSRC) $(WWWROFF)
54         @mkdir -p $(WWWPOD)
55         $(RSYNC) -a $(PODSRC) $(WWWPOD)
56         touch $@
57
58 #
59 # html tree
60 #
61 html: www-html-modified
62
63 www-html-modified: cvs-release-modified
64         -$(RM) -rf $(WWWHTML)
65         mkdir -p $(WWWHTML)
66         $(MKRWWW) $(ROFFSRC) $(WWWHTML) $(MAN2HTML) $(YAM2H)
67         $(MKPWWW) $(PODSRC) $(WWWHTML) $(POD2HTML)
68         touch $@
69
70 #
71 # web & cgi contents
72 #
73 web:
74         $(MAKE) -C www/\
75                 WWWROOT=$(WWWROOT) CGIROOT=$(CGIROOT)\
76                 install
77
78 cgi:
79         $(MAKE) -C admin/cgi/\
80                 WWWROOT=$(WWWROOT) CGIROOT=$(CGIROOT)\
81                 install
82
83 #
84 # archive related rules
85 #
86 archive-install: latest-archive-modified
87         -$(RM) www/man-pages-ja-*.tar.gz www/per-pkg/*.gz
88         -$(RM) www/rpm/*.rpm
89         cp $(TMPDIR)/$(DIST).tar.gz www/
90         mkdir -p www/per-pkg
91         cp $(TMPDIR)/man-pages-ja-*-$(JMRELEASE).tar.gz www/per-pkg
92         mkdir -p www/rpm
93         -cp $(RPMROOT)/RPMS/noarch/$(JMRPMDIST).noarch.rpm www/rpm
94         -cp $(RPMROOT)/SRPMS/$(JMRPMDIST).src.rpm www/rpm
95         touch $<
96         make -C www/ DATE=$(JMRELEASE)\
97                 WWWROOT=$(WWWROOT) CGIROOT=$(CGIROOT)\
98                 download.html index.html
99         make -C www/\
100                 WWWROOT=$(WWWROOT) CGIROOT=$(CGIROOT)\
101                 install
102
103 latest-archive-modified: tarball rpm
104
105 #
106 # tarball
107 #
108 tarball: $(TMPDIR)/$(DIST).tar.gz
109
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
116
117 #
118 # rpm
119 #
120 rpm: $(RPMROOT)/RPMS/noarch/$(JMRPMDIST).noarch.rpm
121
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
141
142 #
143 # clean
144 #
145 clean:
146         rm -f *-modified
147         rm -rf $(TMPDIR)
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` ; \
155         done
156