| # |
| # Locale file makefile for CUPS. |
| # |
| # Copyright © 2007-2019 by Apple Inc. |
| # Copyright © 1993-2007 by Easy Software Products. |
| # |
| # Licensed under Apache License v2.0. See the file "LICENSE" for more |
| # information. |
| # |
| |
| include ../Makedefs |
| |
| |
| OBJS = checkpo.o po2strings.o strings2po.o |
| TARGETS = checkpo po2strings strings2po |
| |
| |
| # |
| # Make everything... |
| # |
| |
| all: $(TARGETS) |
| |
| |
| # |
| # Make library targets... |
| # |
| |
| libs: |
| |
| |
| # |
| # Make unit tests... |
| # |
| |
| unittests: |
| |
| |
| # |
| # Clean all config and object files... |
| # |
| |
| clean: |
| $(RM) $(TARGETS) $(OBJS) |
| |
| |
| # |
| # Update dependencies (without system header dependencies...) |
| # |
| |
| depend: |
| $(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies |
| |
| |
| # |
| # Install all targets... |
| # |
| |
| 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 en $(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: |
| $(INSTALL_DIR) -m 755 "$(BUILDROOT)$(RESOURCEDIR)" |
| $(INSTALL_DATA) cups.strings "$(BUILDROOT)$(RESOURCEDIR)" |
| |
| |
| # |
| # Install programs... |
| # |
| |
| install-exec: |
| |
| |
| # |
| # Install headers... |
| # |
| |
| install-headers: |
| |
| |
| # |
| # Install libraries... |
| # |
| |
| install-libs: |
| |
| |
| # |
| # Uninstall files... |
| # |
| |
| uninstall: $(UNINSTALL_LANGUAGES) |
| |
| uninstall-languages: |
| -for loc in en $(LANGUAGES) ; do \ |
| $(RM) $(LOCALEDIR)/$$loc/cups_$$loc.po ; \ |
| done |
| |
| uninstall-langbundle: |
| $(RM) "$(BUILDROOT)$(RESOURCEDIR)/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... |
| mv cups.pot cups.pot.bck |
| touch cups.pot |
| cd ..; xgettext -o locale/cups.pot -cTRANSLATORS -s \ |
| --keyword=_ --no-wrap --from-code utf-8 \ |
| --copyright-holder="Apple Inc." \ |
| --package-name="CUPS" --package-version="$(CUPS_VERSION)" \ |
| --msgid-bugs-address="https://github.com/apple/cups/issues" \ |
| */*.c */*.cxx |
| (cat cups.header; tail +6 cups.pot) > cups.pot.N |
| mv cups.pot.N 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_en.po cups.strings |
| |
| cups.strings: cups_en.po po2strings |
| echo Updating cups.strings... |
| ./po2strings cups_en.po 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 $@... |
| $(LD_CC) $(ARCHFLAGS) $(ALL_LDFLAGS) -o checkpo checkpo.o \ |
| $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| |
| checkall: checkpo |
| ./checkpo *.po *.strings |
| |
| |
| # |
| # po2strings - A simple utility which uses iconv to convert GNU gettext |
| # message catalogs to macOS .strings files. |
| # |
| # po2strings filename.po filename.strings |
| # |
| |
| po2strings: po2strings.o ../cups/$(LIBCUPSSTATIC) |
| echo Linking $@... |
| $(LD_CC) $(ARCHFLAGS) $(ALL_LDFLAGS) -o po2strings po2strings.o \ |
| $(LINKCUPSSTATIC) |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| |
| |
| # |
| # strings2po - A simple utility which uses iconv to convert macOS .strings files |
| # to GNU gettext message catalogs. |
| # |
| # strings2po filename.strings filename.po |
| # |
| |
| strings2po: strings2po.o |
| echo Linking $@... |
| $(LD_CC) $(ARCHFLAGS) $(ALL_LDFLAGS) -o strings2po strings2po.o |
| $(CODE_SIGN) -s "$(CODE_SIGN_IDENTITY)" $@ |
| |
| |
| # |
| # Dependencies... |
| # |
| |
| include Dependencies |