Makefile revision 9728
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur##
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# Makefile for generateing .po tarballs for Sun UI strings.
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur#
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# Generates : $(PACKAGE)-po-sun-$(PO_VERSION).tar.bz2
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# e.g. po-sun-tarballs/*.tar.bz2
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur#
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# Usage :
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# "make clean" : Remove previous tarballs
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur#
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# "make" : Update all .po tarballs
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur#
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# "make check-used" : Outputs list of .po not being used.
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur#
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# "make check-version" : Prints current .po tarball version
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur#
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# "make $(PACKAGE)-po-sun-$(PO_VERSION).tar.bz2
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# e.g. "make gnome-panel-po-sun-0.1.tar.bz2"
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# will only generate gnome-panel's .po tarball
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur#
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# For each package that contains .po files.
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# - Ensure all .po files for your package are located under the
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# correct .po package dir i.e.
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# $package/ja.po
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur#
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# - Add Package name to PACKAGES Variable
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# e.g. PACKAGES = \
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# gnome-panel \
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# your-package
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur#
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# - Add two package specific variables
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# PACKAGE_PAGES - Full path of all po for this package
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# e.g. gnome-panel_PAGES = gnome-panel
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# PACKAGE.PAGES - Assigned to $(PACKAGE_PAGES).
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# e.g. gnome-panel.PAGES: $(gnome-panel_PAGES)
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur#
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur#
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# To Add new .po files to existing packages
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# -----------------------------------------
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# Put very simply, all that is required from engineers is to make some changes
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# and commit in SVN.
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur#
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# - Ensure the .po file exists in SVN under the relevant package dir
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# - Add .po files to the <package> directory
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# e.g. For a new gnome-panel de.po file it would be added in
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# gnome-panel/de.po
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# - Remake tarballs
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# $ make clean
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# $ make
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# This will re-generate all .po tarballs.
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# - Copy newly generated tarball from po-sun-tarballs to package build
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# sources e.g. /jds/packages/SOURCES, and ensure package builds and po
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# install correctly.
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# - New .po tarball will be generated by RE for each nightly, and for each
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# milestone build.
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# - Commit change back to subverison, e.g. new/amended man pagees,
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# po-sun/Makefile, po-sun/package/*.po files if affected.
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur#
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur#
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# PO_VERSION is maintained by L10N and only gets bumped when spec-files gets
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# branched. PLEASE do not change this.
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur# %po_sun_version is also updated in l10n.inc
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur#
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur
d5ace9454616652a717c9831d949dffa319381f9Erwin T TsaurPO_VERSION=0.1
d5ace9454616652a717c9831d949dffa319381f9Erwin T TsaurPO_DIR=po-sun
d5ace9454616652a717c9831d949dffa319381f9Erwin T TsaurTARBALL_DIR=po-sun-tarballs
d5ace9454616652a717c9831d949dffa319381f9Erwin T TsaurBZIP2=/usr/bin/bzip2
d5ace9454616652a717c9831d949dffa319381f9Erwin T TsaurTAR=/usr/bin/tar
d5ace9454616652a717c9831d949dffa319381f9Erwin T TsaurAWK=/usr/bin/awk
d5ace9454616652a717c9831d949dffa319381f9Erwin T TsaurMAKE=/usr/sfw/bin/gmake
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur
d5ace9454616652a717c9831d949dffa319381f9Erwin T TsaurPACKAGES = \
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur gnome-menus \
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur gnome-panel \
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur gnome-utils
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaurall: TARBALLS
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaurgnome-menus_PAGES = gnome-menus/po-sun
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaurgnome-menus.PAGES: $(gnome-menus_PAGES)
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaurgnome-panel_PAGES = gnome-panel/po-sun
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaurgnome-panel.PAGES: $(gnome-panel_PAGES)
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaurgnome-utils_PAGES = gnome-utils/po-sun
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaurgnome-utils.PAGES: $(gnome-panel_PAGES)
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur
d5ace9454616652a717c9831d949dffa319381f9Erwin T TsaurTARBALL_DIR_SUFFIX = po-sun-$(PO_VERSION)
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur.SUFFIXES: -$(TARBALL_DIR_SUFFIX).tar.bz2 .PAGES
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur.SUFFIXES: .check-used .PAGES
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur
d5ace9454616652a717c9831d949dffa319381f9Erwin T TsaurTARBALLS = $(TARBALL_DIR)/$(addsuffix -$(TARBALL_DIR_SUFFIX).tar.bz2, $(PACKAGES))
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur
d5ace9454616652a717c9831d949dffa319381f9Erwin T TsaurTARBALLS:
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur @test -d $(TARBALL_DIR) || mkdir -p "$(TARBALL_DIR)"
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur @test -x $(BZIP2) || echo "bzip2 utility not found"
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur @for package in $(PACKAGES); do \
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur if test ! -f $(TARBALL_DIR)/$$package-$(TARBALL_DIR_SUFFIX).tar.bz2; then \
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur $(MAKE) MAKE=\"$(MAKE)\" $$package-$(TARBALL_DIR_SUFFIX).tar.bz2; \
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur fi; \
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur done
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur%-$(TARBALL_DIR_SUFFIX).tar.bz2: %.PAGES
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur @test -d $(TARBALL_DIR) || mkdir -p "$(TARBALL_DIR)"
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur @if test -f $(TARBALL_DIR)/$@; then \
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur rm -f $(TARBALL_DIR)/$@; \
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur fi
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur @test -d $(PO_DIR) || mkdir -p "$(PO_DIR)"
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur @rm -rf $(PO_DIR)/*
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur @for po_dir in $($(subst .PAGES,_PAGES,$<)); do \
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur cp -R $$po_dir "$(PO_DIR)"; \
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur base_po_dir=`basename $$po_dir`; \
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur cp Makefile.template "$(PO_DIR)"/$$base_po_dir/Makefile; \
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur done;
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur @cd "$(PO_DIR)"; \
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur tarball=`basename "$@" .bz2`; echo "Making tarball $$tarball"; \
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur $(TAR) -cf ../$(TARBALL_DIR)/$$tarball *; \
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur $(BZIP2) ../$(TARBALL_DIR)/$$tarball; \
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur cd ..
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur @rm -rf $(PO_DIR)
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaurcheck-used:
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur @test -d check-used-po-sun || mkdir -p "check-used-po-sun"
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur @test -d check-all-po-sun || mkdir -p "check-all-po-sun"
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur @rm -f unused-po-sun.txt
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur @for package in $(PACKAGES); do \
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur $(MAKE) MAKE=\"$(MAKE)\" $$package.check-used; \
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur done
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur @rm -rf check-all-po-sun
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur @rm -rf check-used-po-sun
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur%.check-used: %.PAGES
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur @for package in $($(subst .PAGES,_PAGES,$<)); do \
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur touch check-used-po-sun/$$package; \
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur done
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaurcheck-version:
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur @echo $(PO_VERSION)
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaurclean:
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur rm -rf $(PO_DIR)
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur rm -rf $(TARBALL_DIR)
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur
d5ace9454616652a717c9831d949dffa319381f9Erwin T Tsaur