OSDN Git Service

modutils: add notices telling that this package is obsolete.
[linuxjm/jm.git] / Makefile
index 1b1b1b9..593660c 100644 (file)
--- a/Makefile
+++ b/Makefile
-NAME = coreutils
-V = 8.25
-
-DEST = draft/man1
-
-# You must compile coreutils in advance.
-srcdir = ./$(NAME)-$(V)
-tarball = $(NAME)-$(V).tar.xz
-
-PACKAGE_NAME = GNU $(NAME)
-PACKAGE_VERSION = $(V)
-PACKAGE_STRING = $(PACKAGE_NAME) $(PACKAGE_VERSION)
-
-all:   build-man
-source:        stamp-build
-
-#------------------------------------------------------------
-
-tarball:       $(tarball)
-$(tarball):
-       wget http://core.ring.gr.jp/pub/GNU/coreutils/$@
-
-stamp-setup:   $(tarball)
-       tar xJf $^
-       ln -s $(srcdir) source
-       @(cd source \
-         && git init \
-         && git add . \
-         && git commit -m 'Import $(PACKAGE_NAME).' > /dev/null \
-       )
-       mkdir -p source/locale/ja/LC_MESSAGES
-       @set -e ; if [ -f patch-$(V).diff ]; then \
-         patch -p0 < patch-$(V).diff; \
-       fi
-       @set -e ; if [ -f ja.po/ja.po.$(V) ]; then \
-         rm -f source/po/ja.po; \
-         ln -s ../../ja.po/ja.po.$(V) source/po/ja.po; \
-         echo "Use JM-maintained ja.po for translation."; \
-       else \
-         echo "No JM-maintained ja.po found for $(V)."; \
-       fi
+#
+# Build macro for JM project.  If something don't work well,
+# please refer the description in admin/JM-CVS/JM-CVS.sgml.
+#
+include ./JM.rules
+
+#
+# defs
+#
+MKRWWW=bin/mkmanweb.perl
+MKPWWW=bin/mkpodweb.perl
+MKDIST=bin/mkdist.perl
+MKSPDIST=bin/mksplitdist.perl
+CHKCVS=bin/chkcvs.sh
+
+ROFFSRC=./manual
+PODSRC=./pod
+INFOSRC=./info
+
+JMVER=0.5
+JMRELEASE := $(shell env LANG=C date +"%Y%m%d")
+DIST := man-pages-ja-$(JMRELEASE)
+
+JMRPMDIST := jman_pages-$(JMVER)-$(JMRELEASE)
+JMRPMSRC := $(TMPDIR)/$(DIST).tar.gz
+JMRPMSPEC=jman_pages.spec
+JMRPM_BUILD_ROOT=$(TMPDIR)/man-pages-ja-root
+
+#
+# global rules
+#
+periodic: chkcvs roff infoman html web cgi guide web-extra
+
+all: periodic archive-install 
+
+#
+# update check for CVS checkout
+#
+chkcvs:
+       $(CHKCVS)
+
+stamp/cvs-release-modified stamp/cvs-status-modified: chkcvs
+
+#
+# roff tree
+#
+roff: stamp/www-roff-modified
+
+stamp/www-roff-modified: stamp/cvs-status-modified
+       @mkdir -p $(WWWROFF)
+       $(RSYNC) -a --delete --omit-dir-times -v $(ROFFSRC)/ $(WWWROFF)
+       @mkdir -p $(WWWPOD)
+       $(RSYNC) -a --delete --omit-dir-times -v $(PODSRC)/ $(WWWPOD)
        touch $@
 
-stamp-configure:       stamp-setup
-       @(cd source && ./configure --localedir=`pwd`/locale)
-       touch stamp-configure
-
-stamp-build:   stamp-configure
-       @(cd source \
-        && make \
-        && make src/arch \
-        && make src/hostname \
-        && make man/arch.1 \
-        && make man/hostname.1 \
-       )
+#
+# html tree
+#
+html: stamp/www-html-modified
+
+stamp/www-html-modified: stamp/cvs-release-modified
+       -$(RM) -rf $(WWWHTML)
+       mkdir -p $(WWWHTML)
+       $(MKRWWW) $(ROFFSRC) $(WWWHTML) $(MAN2HTML)
+       $(MKPWWW) $(PODSRC) $(WWWHTML) $(POD2HTML)
+#      $(MAKE) -C $(INFOSRC) install
+       # Remove temporary files generated by pod2html
+       rm -f pod2htmd.tmp pod2htmi.tmp
        touch $@
 
-#------------------------------------------------------------
+#
+# info tree
+#
+infoman: stamp/www-info-modified
 
-mo-ja = source/locale/ja/LC_MESSAGES/coreutils.mo
-gmo-ja = source/po/ja.gmo
-po-ja = source/po/ja.po
-
-$(mo-ja):      $(gmo-ja)
-       /bin/cp $^ $@
-
-$(gmo-ja):     $(po-ja)
-       $(MAKE) -C source/po $$(basename $@)
-
-catalog:       $(mo-ja)
-
-build-man:     stamp-build catalog
-       $(MAKE) -C help2man.ja $@ PACKAGE_VERSION=$(PACKAGE_VERSION)
-
-install:       build-man
-       $(MAKE) -C help2man.ja $@
-
-clean:
-       $(MAKE) -C help2man.ja $@
-
-clean-build:
-       (cd source && make distclean)
-       $(RM) stamp-configure stamp-build
-
-clean-setup:
-       $(RM) -r $(srcdir)
-       $(RM) source
-       $(RM) stamp-setup stamp-configure stamp-build
-
-realclean:     clean-setup clean
-
-#------------------------------------------------------------
-
-MAN2HTML = ../../admin/man-1.6g/man2html/man2html
-
-html:  html-setup html-gen html-index
-
-html-setup:
-       @set -e; if [ ! -e html ]; then \
-         echo "  MKDIR    html."; \
-         mkdir html; \
-       fi; \
-       for d in draft/man?; do \
-         dm=html/$$(basename $$d); \
-         echo "  MKDIR    $$dm"; \
-         mkdir -p $$dm; \
-       done
+stamp/www-info-modified: stamp/info-release-modified
+       $(MAKE) -C $(INFOSRC) install
+       touch $@
 
-html-gen:
-       @set -e; for f in draft/man?/*.[1-8]; do \
-         n=$$(basename $$f); \
-         t=$$(echo $$f | cut -d / -f 2-3); \
-         o=original/$$t; \
-         echo "  GEN      html/$${t}.html"; \
-         $(MAN2HTML) $$f | tail -n +3 > html/$${t}.draft.html; \
-         $(MAN2HTML) $$o | tail -n +3 > html/$${t}.orig.html; \
-         printf "<html>\n" > html/$${t}.html; \
-         printf "<head><title>$$n</title></head>\n" >> html/$${t}.html; \
-         printf "<frameset cols=\"50%%,50%%\">\n" >> html/$${t}.html; \
-         printf "  <frame src=\"$$n.orig.html\" name=\"orig\" />\n" >> html/$${t}.html; \
-         printf "  <frame src=\"$$n.draft.html\" name=\"draft\" />\n" >> html/$${t}.html; \
-         printf "</frameset></html>\n" >> html/$${t}.html; \
+#
+# web & cgi contents
+#
+web:
+       $(MAKE) -C www/\
+               WWWROOT=$(WWWROOT) CGIROOT=$(CGIROOT) WORKDIR=$(TMPDIR)\
+               install
+
+cgi:
+       $(MAKE) -C admin/cgi/\
+               WWWROOT=$(WWWROOT) CGIROOT=$(CGIROOT)\
+               install
+
+.PHONY:        guide
+guide:
+       $(MAKE) -C guide/ -f Makefile.venv-wrap install WWWROOT=$(WWWROOT) install
+
+.PHONY:        web-extra
+web-extra:
+       rsync -av manual/LDP_man-pages/untrans.html $(WWWROOT)/LDP_untrans.html
+
+#
+# archive related rules
+#
+archive-install: stamp/latest-archive-modified
+       -$(RM) www/man-pages-ja-*.tar.gz www/per-pkg/*.gz
+       -$(RM) www/rpm/*.rpm
+       cp $(TMPDIR)/$(DIST).tar.gz www/
+       mkdir -p www/per-pkg
+       cp $(TMPDIR)/man-pages-ja-*-$(JMRELEASE).tar.gz www/per-pkg
+       mkdir -p www/rpm
+       -cp $(RPMROOT)/RPMS/noarch/$(JMRPMDIST).noarch.rpm www/rpm
+       -cp $(RPMROOT)/SRPMS/$(JMRPMDIST).src.rpm www/rpm
+       touch $<
+       make -C www/ DATE=$(JMRELEASE)\
+               WWWROOT=$(WWWROOT) CGIROOT=$(CGIROOT)\
+               download.html index.html
+       make -C www/\
+               WWWROOT=$(WWWROOT) CGIROOT=$(CGIROOT)\
+               install
+
+stamp/latest-archive-modified: tarball rpm
+
+#
+# tarball
+#
+tarball: $(TMPDIR)/$(DIST).tar.gz
+
+$(TMPDIR)/$(DIST).tar.gz:
+       $(MKDIST) . $(TMPDIR)/$(DIST) $(POD2MAN)
+       $(MAKE) -f Makefile.dist install
+       (cd $(TMPDIR); tar czf $(DIST).tar.gz $(DIST))
+       $(MKSPDIST) $(TMPDIR)/$(DIST)
+       touch stamp/latest-archive-modified
+
+#
+# rpm
+#
+rpm: $(RPMROOT)/RPMS/noarch/$(JMRPMDIST).noarch.rpm
+
+$(RPMROOT)/RPMS/noarch/$(JMRPMDIST).noarch.rpm: $(JMRPMSRC)
+ifdef NORPM
+else
+       mkdir -p $(RPMROOT)/SOURCES
+       mkdir -p $(RPMROOT)/SPECS
+       mkdir -p $(RPMROOT)/BUILD
+       mkdir -p $(RPMROOT)/RPMS/noarch
+       mkdir -p $(RPMROOT)/SRPMS
+       mkdir -p $(RPMROOT)/db
+       mkdir -p $(RPMROOT)/tmp
+       cp $(JMRPMSRC) $(RPMROOT)/SOURCES/
+       sed     -e "s/@@version@@/$(JMVER)/" \
+               -e "s/@@release@@/$(JMRELEASE)/" \
+               -e "s%@@buildroot@@%$(JMRPM_BUILD_ROOT)%" \
+           www/rpm/$(JMRPMSPEC) > $(RPMROOT)/SPECS/$(JMRPMSPEC)
+       $(RPM) --dbpath $(RPMROOT)/db --rebuilddb
+       $(RPMB) --define "buildroot $(JMRPM_BUILD_ROOT)" \
+           --dbpath $(RPMROOT)/db \
+           --define "_topdir $(RPMROOT)"  \
+           --define "_tmppath $(RPMROOT)/tmp"  \
+           --define "_sourcedir $(RPMROOT)/SOURCES" \
+           --define "_mandir /usr/share/man" -ba \
+           $(RPMROOT)/SPECS/$(JMRPMSPEC)
+       touch stamp/latest-archive-modified
+endif
+
+#
+# clean
+#
+clean: tmpclean
+       rm -f stamp/*-modified
+       $(MAKE) -C admin/cgi/ clean
+       $(MAKE) -C www/ clean
+       $(MAKE) -f Makefile.dist clean
+
+tmpclean:
+       rm -rf $(TMPDIR)
+       rm -rf $(JMRPM_BUILD_ROOT)
+       rm -rf $(RPMROOT)/BUILD/$(DIST)
+       for i in $(JMRPMSRC); do \
+           rm -f $(RPMROOT)/SOURCES/`basename $$i` ; \
        done
 
-html-index:
-       @set -e; echo "  GEN      index.html"; \
-       idx=html/index.html; \
-       printf "<html><head><title>" > $$idx; \
-       printf "Drafts of $(PACKAGE_STRING)</title></head>\n" >> $$idx; \
-       printf "<body><h1>Drafts of $(PACKAGE_STRING)</h1>\n<ul>\n" >> $$idx; \
-       for f in draft/man?/*.[1-8]; do \
-         t=$$(echo $$f | cut -d / -f 2-3).html; \
-         printf "<li><a href=\"$$t\">$$(basename $$f)</a></li>\n" >> $$idx; \
-       done; \
-       printf "</ul><hr>$$(LC_ALL=C date)</body></html>\n" >> $$idx
+realclean:     clean
+       $(RM) -rf $(WWWROOT)/*
+       $(RM) -rf $(CGIROOT)/*