Makefile revision 10320
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder# Makefile for generateing man page tarballs that are used in each of the
e6d40133bc9f858308654afb1262b8b483ec5922Till Mossakowski# SUNW*.spec files
97018cf5fa25b494adffd7e9b4e87320dae6bf47Christian Maeder# Generates : $(PACKAGE)-manpages-$(MANPAGE_VERSION).tar.gz
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder# e.g. sun-manpage-tarballs/*.tar.gz
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder# "make" : Rebuilds all man page tarballs
f3a94a197960e548ecd6520bb768cb0d547457bbChristian Maeder# "make check-used" : Outputs list of man pages not being used.
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder# "make check-version" : Prints current man page tarball version
109a53dbf4c9233f869f63ba7a7f3fece49973c3Christian Maeder# "make $(PACKAGE)-manpages-$(MANPAGE_VERSION).tar.gz
109a53dbf4c9233f869f63ba7a7f3fece49973c3Christian Maeder# e.g. "make SUNWgnome-panel-manpages-0.1.tar.gz"
109a53dbf4c9233f869f63ba7a7f3fece49973c3Christian Maeder# will only generate SUNWgnome-panel's man page tarball
109a53dbf4c9233f869f63ba7a7f3fece49973c3Christian Maeder# For each package that contains man pages.
109a53dbf4c9233f869f63ba7a7f3fece49973c3Christian Maeder# - Ensure all relevant man pages for your package are located under the
109a53dbf4c9233f869f63ba7a7f3fece49973c3Christian Maeder# correct man page section dir i.e.
109a53dbf4c9233f869f63ba7a7f3fece49973c3Christian Maeder# entities/man1/man1m/man3/man3tiff/man4/man5
109a53dbf4c9233f869f63ba7a7f3fece49973c3Christian Maeder# - Add Package name to PACKAGES Variable
85e1d54a475bfc30b3eac5ae6c5e42a2d7e93f10Christian Maeder# e.g. PACKAGES = \
85e1d54a475bfc30b3eac5ae6c5e42a2d7e93f10Christian Maeder# SUNWgnome-panel \
109a53dbf4c9233f869f63ba7a7f3fece49973c3Christian Maeder# SUNWyour-package
109a53dbf4c9233f869f63ba7a7f3fece49973c3Christian Maeder# - Add two package specific variables
109a53dbf4c9233f869f63ba7a7f3fece49973c3Christian Maeder# PACKAGE_PAGES - Full path of all manpages for this package
109a53dbf4c9233f869f63ba7a7f3fece49973c3Christian Maeder# e.g. SUNWgnome-panel_PAGES = man1/gnome-panel.1 etc...
109a53dbf4c9233f869f63ba7a7f3fece49973c3Christian Maeder# PACKAGE.PAGES - Assigned to $(PACKAGE_PAGES).
109a53dbf4c9233f869f63ba7a7f3fece49973c3Christian Maeder# e.g. SUNWgnome-panel.PAGES: $(SUNWgnome-panel_PAGES)
109a53dbf4c9233f869f63ba7a7f3fece49973c3Christian Maeder# To Add new man pages to existing packages
109a53dbf4c9233f869f63ba7a7f3fece49973c3Christian Maeder# -----------------------------------------
109a53dbf4c9233f869f63ba7a7f3fece49973c3Christian Maeder# Put very simply, all that is required from engineers is to make some changes
109a53dbf4c9233f869f63ba7a7f3fece49973c3Christian Maeder# and commit in SVN.
109a53dbf4c9233f869f63ba7a7f3fece49973c3Christian Maeder# - Ensure the man page exists in SVN under the relevant man page section sub
bbba6dd86153aacb0f662b182b128df0eb09fd54Christian Maeder# - Add man page to the SUNW<package>_PAGES Makefile variable
109a53dbf4c9233f869f63ba7a7f3fece49973c3Christian Maeder# e.g. For a new gnome-panel man page it would be added to
109a53dbf4c9233f869f63ba7a7f3fece49973c3Christian Maeder# SUNWgnome-panel_PAGES
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder# - Remake tarballs
be43c3fa0292555bd126784ae27ff5c1d23438cbChristian Maeder# This will re-generate all man page tarballs.
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder# - Copy newly generated tarball from sun-manpage-tarballs to package build
f39b8dd9651dfcc38b06191cda23cacbfc298323Christian Maeder# sources e.g. /jds/packages/SOURCES, and ensure package builds and manpages
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder# install correctly.
7f7460e7095628f3437b116ee78d3043d11f8febChristian Maeder# - New man page tarball will be generated by RE for each nightly, and for each
3a9d784341454573b50b32fa1b494e7418df3086Christian Maeder# milestone build.
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder# - Commit change back to subverison, e.g. new/amended man pagees,
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder# Solaris/manpages/Makefile, Solaris/S*.spec files if affected.
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder# MANPAGE_VERSION is maintained by RE and only gets bumped when spec-files gets
be43c3fa0292555bd126784ae27ff5c1d23438cbChristian Maeder# branched. PLEASE do not change this.
f39b8dd9651dfcc38b06191cda23cacbfc298323Christian MaederSUNWevolution-exchange.PAGES: $(SUNWevolution-exchange_PAGES)
a3a7d8b3cdf05c8040c62dbcf9a15dc5042cd721Christian MaederSUNWevolution-data-server.PAGES: $(SUNWevolution-data-server_PAGES)
b53688bfed888214b485cf76439d57262d80e0a7Christian MaederSUNWgnome-a11y-base-libs.PAGES: $(SUNWgnome-a11y-base-libs_PAGES)
b53688bfed888214b485cf76439d57262d80e0a7Christian MaederSUNWgnome-a11y-gok.PAGES: $(SUNWgnome-a11y-gok_PAGES)
a3a7d8b3cdf05c8040c62dbcf9a15dc5042cd721Christian MaederSUNWgnome-a11y-libs.PAGES: $(SUNWgnome-a11y-libs_PAGES)
a3a7d8b3cdf05c8040c62dbcf9a15dc5042cd721Christian MaederSUNWgnome-a11y-reader.PAGES: $(SUNWgnome-a11y-reader_PAGES)
4692b8b63985ab174478d389e20a544054e09ce8Karl LucSUNWgnome-a11y-poke.PAGES: $(SUNWgnome-a11y-poke_PAGES)
a3a7d8b3cdf05c8040c62dbcf9a15dc5042cd721Christian MaederSUNWgnome-archive-mgr.PAGES: $(SUNWgnome-archive-mgr_PAGES)
b53688bfed888214b485cf76439d57262d80e0a7Christian MaederSUNWgnome-audio.PAGES: $(SUNWgnome-audio_PAGES)
8a5c05062ef501bf725a86a370a5145a198e81fdKlaus LuettichSUNWgnome-base-libs.PAGES: $(SUNWgnome-base-libs_PAGES)
a3a7d8b3cdf05c8040c62dbcf9a15dc5042cd721Christian MaederSUNWgnome-base-libs-java.PAGES: $(SUNWgnome-base-libs-java_PAGES)
bc263f610d20a9cd3014ddfca903026127fa0d48Christian MaederSUNWgnome-calculator.PAGES: $(SUNWgnome-calculator_PAGES)
a3a7d8b3cdf05c8040c62dbcf9a15dc5042cd721Christian MaederSUNWgnome-cd-burner.PAGES: $(SUNWgnome-cd-burner_PAGES)
a3a7d8b3cdf05c8040c62dbcf9a15dc5042cd721Christian MaederSUNWgnome-character-map.PAGES: $(SUNWgnome-character-map_PAGES)
a3a7d8b3cdf05c8040c62dbcf9a15dc5042cd721Christian MaederSUNWgnome-common-devel.PAGES: $(SUNWgnome-common-devel_PAGES)
3490b73f69b58ab742417b0867d0e2d4a7778cc0Christian MaederSUNWgnome-component.PAGES: $(SUNWgnome-component_PAGES)
8a5c05062ef501bf725a86a370a5145a198e81fdKlaus LuettichSUNWgnome-config-editor.PAGES: $(SUNWgnome-config-editor_PAGES)
beff4152e9f0fe90885458d1a1733b183a2a8816Christian MaederSUNWgnome-config.PAGES: $(SUNWgnome-config_PAGES)
beff4152e9f0fe90885458d1a1733b183a2a8816Christian MaederSUNWgnome-crash-report.PAGES: $(SUNWgnome-crash-report_PAGES)
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder man1/gnome-accessibility-keyboard-properties.1 \
f6bb0076b79286b0251c1b2745ed8019b6c80252Christian Maeder man1/gnome-default-applications-properties.1 \
a3a7d8b3cdf05c8040c62dbcf9a15dc5042cd721Christian MaederSUNWgnome-desktop-prefs.PAGES: $(SUNWgnome-desktop-prefs_PAGES)
a3a7d8b3cdf05c8040c62dbcf9a15dc5042cd721Christian MaederSUNWgnome-dialog.PAGES: $(SUNWgnome-dialog_PAGES)
91ba5d95b2472cb075646b6120a559dc6581a867Christian MaederSUNWgnome-display-mgr.PAGES: $(SUNWgnome-display-mgr_PAGES)
be43c3fa0292555bd126784ae27ff5c1d23438cbChristian MaederSUNWgnome-file-mgr.PAGES: $(SUNWgnome-file-mgr_PAGES)
be43c3fa0292555bd126784ae27ff5c1d23438cbChristian MaederSUNWgnome-gtksourceview.PAGES: $(SUNWgnome-gtksourceview_PAGES)
91ba5d95b2472cb075646b6120a559dc6581a867Christian MaederSUNWgnome-help-viewer.PAGES: $(SUNWgnome-help-viewer_PAGES)
91ba5d95b2472cb075646b6120a559dc6581a867Christian MaederSUNWgnome-hex-editor.PAGES: $(SUNWgnome-hex-editor_PAGES)
d81905a5b924415c524d702df26204683c82c12eChristian MaederSUNWgnome-im-client.PAGES: $(SUNWgnome-im-client_PAGES)
91ba5d95b2472cb075646b6120a559dc6581a867Christian MaederSUNWgnome-img-viewer.PAGES: $(SUNWgnome-img-viewer_PAGES)
be43c3fa0292555bd126784ae27ff5c1d23438cbChristian Maeder man1/scrollkeeper-get-extended-content-list.1 \
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder man1/scrollkeeper-get-index-from-docpath.1 \
083bc1972a66d73749760eab3a90bf4eb9ca7951Christian MaederSUNWgnome-libs.PAGES: $(SUNWgnome-libs_PAGES)
27b988cb88bfa05fe6f35a853d76ef04f61293efChristian MaederSUNWgnome-media-apps.PAGES: $(SUNWgnome-media-apps_PAGES)
a3a7d8b3cdf05c8040c62dbcf9a15dc5042cd721Christian MaederSUNWgnome-media-player.PAGES: $(SUNWgnome-media-player_PAGES)
a3a7d8b3cdf05c8040c62dbcf9a15dc5042cd721Christian MaederSUNWgnome-media.PAGES: $(SUNWgnome-media_PAGES)
be43c3fa0292555bd126784ae27ff5c1d23438cbChristian MaederSUNWgnome-menu-editor.PAGES: $(SUNWgnome-menu-editor_PAGES)
fefee7e1dee1ee5f0768a03a4abae88d1ca2c3fdRazvan PascanuSUNWgnome-panel.PAGES: $(SUNWgnome-panel_PAGES)
fefee7e1dee1ee5f0768a03a4abae88d1ca2c3fdRazvan PascanuSUNWgnome-pilot.PAGES: $(SUNWgnome-pilot_PAGES)
a3a7d8b3cdf05c8040c62dbcf9a15dc5042cd721Christian MaederSUNWgnome-print.PAGES: $(SUNWgnome-print_PAGES)
0ea2cddb8715a770e646895e16b7b8085f49167cChristian MaederSUNWgnome-removable-media.PAGES: $(SUNWgnome-removable-media_PAGES)
7245138e91992b96b153b8ac527e263d9dc8ff5bChristian MaederSUNWgnome-remote-desktop.PAGES: $(SUNWgnome-remote-desktop_PAGES)
3bcd9d942601d59dd55a6069d8b2d1c33d7ced0eChristian MaederSUNWgnome-session.PAGES: $(SUNWgnome-session_PAGES)
005e0f0c6b0cc898003b03801158c208f3071fc5Kristina SojakovaSUNWgnome-sys-suspend.PAGES: $(SUNWgnome-sys-suspend_PAGES)
0a64bfd28dff15bc93e1f7a86e0a8052e879636dChristian MaederSUNWgnome-system-tools.PAGES: $(SUNWgnome-system-tools_PAGES)
9d6562465b41f17c7967d4e5678f34811d958cb2Christian MaederSUNWgnome-system-monitor.PAGES: $(SUNWgnome-system-monitor_PAGES)
daec53c285f692c56db0cefe16061b46ba602cf0Christian MaederSUNWgnome-terminal.PAGES: $(SUNWgnome-terminal_PAGES)
daec53c285f692c56db0cefe16061b46ba602cf0Christian MaederSUNWgnome-text-editor.PAGES: $(SUNWgnome-text-editor_PAGES)
daec53c285f692c56db0cefe16061b46ba602cf0Christian MaederSUNWgnome-ui-designer.PAGES: $(SUNWgnome-ui-designer_PAGES)
3bcd9d942601d59dd55a6069d8b2d1c33d7ced0eChristian MaederSUNWgnome-utils.PAGES: $(SUNWgnome-utils_PAGES)
b53688bfed888214b485cf76439d57262d80e0a7Christian MaederSUNWogg-vorbis.PAGES: $(SUNWogg-vorbis_PAGES)
2353f65833a3da763392f771223250cd50b8d873Christian MaederSUNWrealplayer.PAGES: $(SUNWrealplayer_PAGES)
b53688bfed888214b485cf76439d57262d80e0a7Christian MaederSUNWthunderbird.PAGES: $(SUNWthunderbird_PAGES)
b53688bfed888214b485cf76439d57262d80e0a7Christian MaederSUNWpilot-link.PAGES: $(SUNWpilot-link_PAGES)
b53688bfed888214b485cf76439d57262d80e0a7Christian MaederSUNWgnome-devhelp.PAGES: $(SUNWgnome-devhelp_PAGES)
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder.SUFFIXES: -manpages-$(MANPAGE_VERSION).tar.gz .PAGES
964ee9fff06b8c821e1d00207f6f185301371be8Christian MaederTARBALLS = $(TARBALL_DIR)/$(addsuffix -$(MANPAGE_VERSION).tar.bz2, $(PACKAGES))
964ee9fff06b8c821e1d00207f6f185301371be8Christian Maeder @test -d $(TARBALL_DIR) || mkdir -p "$(TARBALL_DIR)"
964ee9fff06b8c821e1d00207f6f185301371be8Christian Maeder @test -x $(SGML2ROFF) || echo "sgml2roff utility not found"
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder @test -x $(GZIP) || echo "gzip utility not found"
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder $(MAKE) MAKE=\"$(MAKE)\" $$package-manpages-$(MANPAGE_VERSION).tar.gz; \
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder%-manpages-$(MANPAGE_VERSION).tar.gz: %.PAGES
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder @test -d $(TARBALL_DIR) || mkdir -p "$(TARBALL_DIR)"
c5a4c5f506ea34fa527065b4187127a18c6e2418Christian Maeder @if test -f $(TARBALL_DIR)/$@; then \
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder @test -d $(MANPAGE_DIR) || mkdir -p "$(MANPAGE_DIR)"
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder @echo "Converting manpages for $@"
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder @for manpage in $($(subst .PAGES,_PAGES,$<)); do \
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder $(SGML2ROFF) $$manpage > $(MANPAGE_DIR)/$$base_manpage; \
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder suffix=`expr "$$base_manpage" : '.*\.\([^./]*\)$'`; \
be43c3fa0292555bd126784ae27ff5c1d23438cbChristian Maeder echo $$base_manpage >> $(MANPAGE_DIR)/$$suffix; \
59a10395caff224b2ec541f94dac5082a506c00fChristian Maeder @cp Makefile.template $(MANPAGE_DIR)/Makefile
12aef5992d3af07dee81a4e02cf4be65a83f28bcChristian Maeder mv $(MANPAGE_DIR)/ent $(MANPAGE_DIR)/entities; \
12aef5992d3af07dee81a4e02cf4be65a83f28bcChristian Maeder @for mantype in entities 1 1m 3 3tiff 4 5; do \
be43c3fa0292555bd126784ae27ff5c1d23438cbChristian Maeder if test -f $(MANPAGE_DIR)/$$mantype; then \
0a64bfd28dff15bc93e1f7a86e0a8052e879636dChristian Maeder echo "MAN"$$mantype"PAGES = \\" >> $(MANPAGE_DIR)/Makefile; \
12aef5992d3af07dee81a4e02cf4be65a83f28bcChristian Maeder if (length(saved_page) > 0) \
12aef5992d3af07dee81a4e02cf4be65a83f28bcChristian Maeder print " " saved_page " \\"; \
be43c3fa0292555bd126784ae27ff5c1d23438cbChristian Maeder saved_page=$$0; \
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder print " " saved_page; \
2353f65833a3da763392f771223250cd50b8d873Christian Maeder }' $(MANPAGE_DIR)/$$mantype >> $(MANPAGE_DIR)/Makefile; \
be43c3fa0292555bd126784ae27ff5c1d23438cbChristian Maeder @echo "install:" >> $(MANPAGE_DIR)/Makefile
4b1833c7d3af466e6bcba24f16304e0a78e8da87Christian Maeder @for mantype in entities 1 1m 3 3tiff 4 5; do \
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder if test -f $(MANPAGE_DIR)/$$mantype; then \
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder echo " install -d $$(DESTDIR)$$(MAN"$$mantype"DIR)" >> $(MANPAGE_DIR)/Makefile; \
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder echo " for mp in $$(MAN"$$mantype"PAGES); do \\" >> $(MANPAGE_DIR)/Makefile; \
2353f65833a3da763392f771223250cd50b8d873Christian Maeder echo " install --mode=0644 \$$\$$mp $$(DESTDIR)$$(MAN"$$mantype"DIR); \\" >> $(MANPAGE_DIR)/Makefile; \
9d6562465b41f17c7967d4e5678f34811d958cb2Christian Maeder @tarball=`basename "$@" .gz`; echo "Making tarball $$tarball"; \
9d6562465b41f17c7967d4e5678f34811d958cb2Christian Maeder $(TAR) -cf $(TARBALL_DIR)/$$tarball $(MANPAGE_DIR); \
9d6562465b41f17c7967d4e5678f34811d958cb2Christian Maeder @test -d check-used-manpages || mkdir -p "check-used-manpages"
2353f65833a3da763392f771223250cd50b8d873Christian Maeder @test -d check-all-manpages || mkdir -p "check-all-manpages"
cb2044812811d66efe038d914966e04290be93faChristian Maeder $(MAKE) MAKE=\"$(MAKE)\" $$package.check-used; \
c5a4c5f506ea34fa527065b4187127a18c6e2418Christian Maeder if test -f check-used-manpages/$$base_manpage; then \
be43c3fa0292555bd126784ae27ff5c1d23438cbChristian Maeder echo " "$$base_manpage >> unused-manpages.txt; \
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder @if test -f unused-manpages.txt; then \
b53688bfed888214b485cf76439d57262d80e0a7Christian Maeder echo "Following Manpages are not being used in any SUNW package :"; \
be43c3fa0292555bd126784ae27ff5c1d23438cbChristian Maeder echo "All man pages are being used"; \
c5a4c5f506ea34fa527065b4187127a18c6e2418Christian Maeder @for manpage in $($(subst .PAGES,_PAGES,$<)); do \