]> git.ipfire.org Git - thirdparty/cups.git/blobdiff - locale/Makefile
Full sweep of all Clang warnings, plus some bug fixes for incorrect memcpy usage.
[thirdparty/cups.git] / locale / Makefile
index d1a0787c7ccd8d54d49df5c3731b6f1834a11657..4b0cc81b4c40ee597bf9d3704fa6b5b95fd2ee90 100644 (file)
@@ -1,41 +1,44 @@
 #
-# "$Id: Makefile 4898 2006-01-08 23:13:20Z mike $"
+# "$Id$"
 #
-#   Locale file makefile for the Common UNIX Printing System (CUPS).
+# Locale file makefile for CUPS.
 #
-#   Copyright 1993-2005 by Easy Software Products.
+# Copyright 2007-2014 by Apple Inc.
+# Copyright 1993-2007 by Easy Software Products.
 #
-#   These coded instructions, statements, and computer programs are the
-#   property of Easy Software Products and are protected by Federal
-#   copyright law.  Distribution and use rights are outlined in the file
-#   "LICENSE.txt" which should have been included with this file.  If this
-#   file is missing or damaged please contact Easy Software Products
-#   at:
+# These coded instructions, statements, and computer programs are the
+# property of Apple Inc. and are protected by Federal copyright
+# law.  Distribution and use rights are outlined in the file "LICENSE.txt"
+# which should have been included with this file.  If this file is
+# file is missing or damaged, see the license at "http://www.cups.org/".
 #
-#       Attn: CUPS Licensing Information
-#       Easy Software Products
-#       44141 Airport View Drive, Suite 204
-#       Hollywood, Maryland 20636 USA
+
+include ../Makedefs
+
+
+OBJS   =       checkpo.o po2strings.o strings2po.o
+TARGETS        =       checkpo po2strings strings2po
+
+
 #
-#       Voice: (301) 373-9600
-#       EMail: cups-info@cups.org
-#         WWW: http://www.cups.org
+# Make everything...
 #
 
-include ../Makedefs
+all:   $(TARGETS)
+
 
 #
-# Locales...
+# Make library targets...
 #
 
-LOCALES        =       fr
+libs:
 
 
 #
-# Make everything...
+# Make unit tests...
 #
 
-all:   translate
+unittests:
 
 
 #
@@ -43,57 +46,163 @@ all:       translate
 #
 
 clean:
-       $(RM) translate translate.o
+       $(RM) $(TARGETS) $(OBJS)
+
+
+#
+# Update dependencies (without system header dependencies...)
+#
+
+depend:
+       $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
 
 
 #
-# Install files...
+# Install all targets...
 #
 
-install:
-       $(INSTALL_DIR) $(LOCALEDIR)
-       for loc in $(LOCALES) ; do \
-               $(INSTALL_DIR) $(LOCALEDIR)/$$loc ; \
-               $(INSTALL_DATA) cups_$$loc.po $(LOCALEDIR)/$$loc/cups_$$loc ; \
+install:       all install-data install-headers install-libs install-exec
+
+
+#
+# Install data files...
+#
+
+install-data: $(INSTALL_LANGUAGES)
+
+install-languages:
+       $(INSTALL_DIR) -m 755 $(LOCALEDIR)
+       for loc in $(LANGUAGES) ; do \
+               if test -f cups_$$loc.po; then \
+                       $(INSTALL_DIR) -m 755 $(LOCALEDIR)/$$loc ; \
+                       $(INSTALL_DATA) cups_$$loc.po $(LOCALEDIR)/$$loc/cups_$$loc.po ; \
+               fi ; \
        done
 
+install-langbundle: po2strings
+       $(INSTALL_DIR) -m 755 "$(BUILDROOT)$(BUNDLEDIR)/Resources/English.lproj"
+       $(INSTALL_DATA) cups.strings "$(BUILDROOT)$(BUNDLEDIR)/Resources/English.lproj"
+
+
+#
+# Install programs...
+#
+
+install-exec:
+
+
+#
+# Install headers...
+#
+
+install-headers:
+
 
 #
-# pot - Creates/updates the cups.pot template file, and merges changes
-#       into existing message catalogs.
+# Install libraries...
 #
 
-pot:
+install-libs:
+
+
+#
+# Uninstall files...
+#
+
+uninstall: $(UNINSTALL_LANGUAGES)
+
+uninstall-languages:
+       -for loc in $(LANGUAGES) ; do \
+               $(RM) $(LOCALEDIR)/$$loc/cups_$$loc.po ; \
+       done
+
+uninstall-langbundle:
+       $(RM) "$(BUILDROOT)$(BUNDLEDIR)/Resources/English.lproj/cups.strings"
+
+
+#
+# pot - Creates/updates the cups.pot template file, merges changes into existing
+#       message catalogs, and updates the cups.strings file.  We don't use
+#       xgettext to update the cups.strings file due to known xgettext bugs.
+#
+
+pot:   checkpo po2strings
        echo Updating cups.pot...
-       cd ..; xgettext -o locale/cups.pot -j --keyword=_ --no-wrap \
-               --copyright-holder="Easy Software Products" \
+       mv cups.pot cups.pot.bck
+       touch cups.pot
+       cd ..; xgettext -o locale/cups.pot -cTRANSLATORS -s \
+               --keyword=_ --no-wrap \
+               --copyright-holder="Apple Inc." \
+               --package-name="CUPS" --package-version="1.6" \
                --msgid-bugs-address="http://www.cups.org/str.php" \
-               */*.c
-       (cat cups.header; \
-        tail +6 cups.pot | sed -e '1,$$s/PACKAGE VERSION/CUPS 1.2/' \
-            -e '1,$$s/charset=CHARSET/charset=utf-8/'; \
-        cat cups.footer) > cups.pot.N
+               */*.c */*.cxx
+       (cat cups.header; tail +6 cups.pot; cat cups.footer) > cups.pot.N
        mv cups.pot.N cups.pot
-       for loc in $(LOCALES) ; do \
-               echo Merging changes into cups_$$loc.po... ; \
-               msgmerge -o cups_$$loc.po cups_$$loc.po cups.pot ; \
+       echo Checking cups.pot...
+       ./checkpo cups.pot
+       for loc in *.po ; do \
+               if test $$loc = '*.po'; then \
+                       break; \
+               fi; \
+               echo Merging changes into $$loc... ; \
+               msgmerge -o $$loc -s -N --no-location $$loc cups.pot ; \
+       done
+       echo Updating cups.strings...
+       ./po2strings cups.pot cups.strings
+
+
+#
+# checkpo - A simple utility to check PO files for correct translation
+#           strings.  Dependency on static library is deliberate.
+#
+# checkpo filename.po [... filenameN.po]
+#
+
+checkpo:       checkpo.o ../cups/$(LIBCUPSSTATIC)
+       echo Linking $<...
+       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o checkpo checkpo.o \
+               ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
+               $(COMMONLIBS) $(LIBZ)
+
+checkall:      checkpo
+       for file in *.po; do \
+               ./checkpo $$file; \
        done
 
 
 #
-# translate - A simple utility which uses Google to translate the cups.pot
-#             file to one of several languages.
+# po2strings - A simple utility which uses iconv to convert GNU gettext
+#              message catalogs to OS X .strings files.
+#
+# po2strings filename.po filename.strings
+#
+
+po2strings:    po2strings.o ../cups/$(LIBCUPSSTATIC)
+       echo Linking $<...
+       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o po2strings po2strings.o \
+               ../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
+               $(COMMONLIBS) $(LIBZ)
+
+
+#
+# strings2po - A simple utility which uses iconv to convert OS X .strings files
+#              to GNU gettext message catalogs.
 #
-# translate outfile language
+# strings2po filename.strings filename.po
 #
 
-translate:     translate.o ../cups/$(LIBCUPS)
+strings2po:    strings2po.o
        echo Linking $<...
-       $(CC) $(LDFLAGS) -o translate translate.o $(LIBS)
+       $(CC) $(ARCHFLAGS) $(LDFLAGS) -o strings2po strings2po.o
+
+
+#
+# Dependencies...
+#
 
-translate.o:   ../cups/http.h ../cups/i18n.h ../cups/language.h ../cups/string.h
+include Dependencies
 
 
 #
-# End of "$Id: Makefile 4898 2006-01-08 23:13:20Z mike $".
+# End of "$Id$".
 #