Makefile revision 18050
10139N/A##
10139N/A# Makefile for generateing man page tarballs that are used in each of the
10139N/A# SUNW*.spec files
10139N/A#
10139N/A# Generates : $(PACKAGE)-manpages-$(MANPAGE_VERSION).tar.gz
10139N/A# e.g. sun-manpage-tarballs/*.tar.gz
10139N/A#
10139N/A# Usage :
10139N/A# "make" : Rebuilds all man page tarballs
10139N/A#
10139N/A# "make check-used" : Outputs list of man pages not being used.
10139N/A#
10139N/A# "make check-version" : Prints current man page tarball version
10264N/A#
10139N/A# "make $(PACKAGE)-manpages-$(MANPAGE_VERSION).tar.gz
10139N/A# e.g. "make SUNWgnome-panel-manpages-0.1.tar.gz"
10139N/A# will only generate SUNWgnome-panel's man page tarball
10139N/A#
10264N/A# For each package that contains man pages.
10142N/A# - Ensure all relevant man pages for your package are located under the
10139N/A# correct man page section dir i.e.
10139N/A# entities/man1/man1m/man3/man3tiff/man4/man5
10139N/A# - Add Package name to PACKAGES Variable
10139N/A# e.g. PACKAGES = \
10139N/A# SUNWgnome-panel \
10139N/A# SUNWyour-package
10139N/A#
10139N/A# - Add two package specific variables
10139N/A# PACKAGE - Full path of all manpages for this package with section
10139N/A# suffix.
10139N/A# e.g. SUNWgnome-panel_PAGES = man1/gnome-panel.1 etc...
10139N/A#
10279N/A#
10279N/A# To Add new man pages to existing packages
10279N/A# -----------------------------------------
10279N/A# Put very simply, all that is required from engineers is to make some changes
10248N/A# and commit in SVN.
10248N/A#
10248N/A# - Ensure the man page exists in SVN under the relevant man page section sub
10249N/A# dir
10248N/A# - Add man page to the SUNW<package>_PAGES Makefile variable
10248N/A# e.g. For a new gnome-panel man page it would be added to
10139N/A# SUNWgnome-panel_PAGES
10139N/A# - Remake tarballs
10139N/A# $ make
10139N/A# This will re-generate all man page tarballs.
10139N/A# - Copy newly generated tarball from sun-manpage-tarballs to package build
10139N/A# sources e.g. /jds/packages/SOURCES, and ensure package builds and manpages
10139N/A# install correctly.
10139N/A# - New man page tarball will be generated by RE for each nightly, and for each
10139N/A# milestone build.
10139N/A# - Commit change back to subverison, e.g. new/amended man pagees,
10139N/A# Solaris/manpages/Makefile, Solaris/S*.spec files if affected.
10139N/A#
10139N/A#
10139N/A# MANPAGE_VERSION is maintained by RE and only gets bumped when spec-files gets
10139N/A# branched. PLEASE do not change this.
10139N/A#
10139N/ASHELL=/bin/ksh
10139N/AMANPAGE_VERSION=0.1
10139N/AMANPAGE_DIR=sun-manpages
10139N/ATARBALL_DIR=sun-manpage-tarballs
10139N/AGZIP=/usr/bin/gzip
10139N/ATAR=/usr/bin/tar
10139N/AAWK=/usr/bin/awk
10139N/AMAKE=/usr/sfw/bin/gmake
10139N/AGREP=/usr/bin/grep
10139N/A
10139N/APACKAGES = \
10139N/A SUNWclutter \
10139N/A SUNWclutter-gst \
10139N/A SUNWclutter-gtk \
10139N/A SUNWseahorse-plugins \
10139N/A SUNWgnome-cd-burner \
10139N/A SUNWlibtasn1-bin
10139N/A
10139N/ASUNWclutter = \
10139N/A man3/libclutter-glx-1.0.3
10139N/A
10139N/ASUNWclutter-gst = \
10139N/A man3/libclutter-gst-0.10.3
10139N/A
10139N/ASUNWclutter-gtk = \
10139N/A man3/libclutter-gtk-0.10.3
10139N/A
10139N/ASUNWseahorse-plugins = \
10139N/A man1/seahorse-agent.1 \
10139N/A man1/seahorse-tool.1
10139N/A
10139N/ASUNWgnome-cd-burner = \
10139N/A man1/brasero.1
10139N/A
10139N/ASUNWlibtasn1-bin = \
10139N/A man1/asn1Parser.1 \
10139N/A man1/asn1Coding.1 \
10139N/A man1/asn1Decoding.1
10139N/A
10139N/Aall: TARBALLS
10139N/A.PHONY: all clean prep check-used $(PACKAGES)
10139N/A
10139N/ATARBALLS = $(TARBALL_DIR)/$(addsuffix -$(MANPAGE_VERSION).tar.bz2, $(PACKAGES))
10139N/A
10139N/Aprep:
10139N/A @test -d $(TARBALL_DIR) || mkdir -p "$(TARBALL_DIR)"
10139N/A @test -x $(GZIP) || echo "gzip utility not found"
10142N/A
10139N/ATARBALLS: prep
10139N/A rm -rf $(TARBALL_DIR)/*.tar.gz
10139N/A @for package in $(PACKAGES); do \
10139N/A $(MAKE) MAKE=\"$(MAKE)\" $$package-manpages-$(MANPAGE_VERSION).tar.gz; \
10139N/A done
10139N/A
10139N/A%-manpages-$(MANPAGE_VERSION).tar.gz: % prep
10139N/A @rm -rf $(TARBALL_DIR)/$@
10139N/A @rm -rf $(MANPAGE_DIR)/*
10139N/A @test -d $(MANPAGE_DIR) || mkdir -p "$(MANPAGE_DIR)"
10139N/A @cp Makefile.template $(MANPAGE_DIR)/Makefile
10248N/A @tarball=`basename "$@" .gz`; echo "Making tarball $$tarball"; \
10248N/A for manpage in $($<); do \
10248N/A suffix_name=`echo $$manpage | \
10139N/A sed -n "s/man[0-9]\w*\/.*\.\([0-9]\w*\)$$/\1/p"`; \
10139N/A section_name=`echo "$$manpage" | \
10139N/A sed -n "s/man\([0-9]\w*\)\/.*\.\([0-9]\w*\)$$/\1/p"`; \
10139N/A [ "$$section_name" == "$$suffix_name" ] || \
10139N/A { echo "Can't recognize the section name of $$manpage_name"; exit 1; }; \
10139N/A manpage_name=`basename $$manpage`; \
10139N/A manpage_name=$$manpage_name; \
10139N/A cp $$manpage $(MANPAGE_DIR)/$$manpage_name; \
10139N/A done; \
10139N/A $(TAR) -cf $(TARBALL_DIR)/$$tarball $(MANPAGE_DIR); \
10139N/A $(GZIP) $(TARBALL_DIR)/$$tarball
10139N/A @rm -rf $(MANPAGE_DIR)
10139N/A
10139N/Acheck-used:
10139N/A @test -d check-used-manpages || mkdir -p "check-used-manpages"
10139N/A @test -d check-all-manpages || mkdir -p "check-all-manpages"
10139N/A @rm -f unused-manpages.txt
10139N/A @cp man*/* check-all-manpages
10139N/A @for package in $(PACKAGES); do \
10139N/A $(MAKE) MAKE=\"$(MAKE)\" $$package.check-used; \
10139N/A done
10139N/A @all_manpages=`ls check-all-manpages/*`; \
10139N/A for manpage in $$all_manpages; do \
10139N/A base_manpage=`basename $$manpage`; \
10139N/A if test -f check-used-manpages/$$base_manpage; then \
10139N/A echo " "$$base_manpage >> /dev/null; \
10139N/A else \
10139N/A echo " "$$base_manpage >> unused-manpages.txt; \
10139N/A fi; \
10139N/A done
10139N/A @if test -f unused-manpages.txt; then \
10139N/A echo "Following Manpages are not being used in any SUNW package :"; \
10139N/A cat unused-manpages.txt; \
10139N/A rm -f unused-manpages.txt; \
10139N/A else \
10139N/A echo "All man pages are being used"; \
10139N/A fi
10139N/A @rm -rf check-all-manpages
10139N/A @rm -rf check-used-manpages
10139N/A
10139N/A%.check-used: %
10139N/A @for manpage in $($<); do \
10139N/A cp $$manpage check-used-manpages; \
10139N/A done
10139N/A
10139N/Acheck-version:
10139N/A @echo $(MANPAGE_VERSION)
10139N/A
10139N/Aclean:
10139N/A rm -rf $(MANPAGE_DIR)
10139N/A rm -rf $(TARBALL_DIR)/*.tar.gz
10139N/A
10139N/A