1#
2# "$Id: Makefile 11093 2013-07-03 20:48:42Z msweet $"
3#
4#   Locale file makefile for CUPS.
5#
6#   Copyright 2007-2012 by Apple Inc.
7#   Copyright 1993-2007 by Easy Software Products.
8#
9#   These coded instructions, statements, and computer programs are the
10#   property of Apple Inc. and are protected by Federal copyright
11#   law.  Distribution and use rights are outlined in the file "LICENSE.txt"
12#   which should have been included with this file.  If this file is
13#   file is missing or damaged, see the license at "http://www.cups.org/".
14#
15
16include ../Makedefs
17
18
19OBJS	=	checkpo.o po2strings.o strings2po.o translate.o
20TARGETS	=	checkpo po2strings strings2po translate
21
22
23#
24# Make everything...
25#
26
27all:	$(TARGETS)
28
29
30#
31# Make library targets...
32#
33
34libs:
35
36
37#
38# Make unit tests...
39#
40
41unittests:
42
43
44#
45# Clean all config and object files...
46#
47
48clean:
49	$(RM) $(TARGETS) $(OBJS)
50
51
52#
53# Update dependencies (without system header dependencies...)
54#
55
56depend:
57	$(CC) -MM $(ALL_CFLAGS) $(OBJS:.o=.c) >Dependencies
58
59
60#
61# Install all targets...
62#
63
64install:	all install-data install-headers install-libs install-exec
65
66
67#
68# Install data files...
69#
70
71install-data: $(INSTALL_LANGUAGES)
72
73install-languages:
74	$(INSTALL_DIR) -m 755 $(LOCALEDIR)
75	for loc in $(LANGUAGES) ; do \
76		if test -f cups_$$loc.po; then \
77			$(INSTALL_DIR) -m 755 $(LOCALEDIR)/$$loc ; \
78			$(INSTALL_DATA) cups_$$loc.po $(LOCALEDIR)/$$loc/cups_$$loc.po ; \
79		fi ; \
80	done
81
82install-langbundle: po2strings
83	$(INSTALL_DIR) -m 755 "$(BUILDROOT)$(BUNDLEDIR)/Resources/English.lproj"
84	$(INSTALL_DATA) cups.strings "$(BUILDROOT)$(BUNDLEDIR)/Resources/English.lproj"
85
86
87#
88# Install programs...
89#
90
91install-exec:
92
93
94#
95# Install headers...
96#
97
98install-headers:
99
100
101#
102# Install libraries...
103#
104
105install-libs:
106
107
108#
109# Uninstall files...
110#
111
112uninstall: $(UNINSTALL_LANGUAGES)
113
114uninstall-languages:
115	-for loc in $(LANGUAGES) ; do \
116		$(RM) $(LOCALEDIR)/$$loc/cups_$$loc.po ; \
117	done
118
119uninstall-langbundle:
120	$(RM) "$(BUILDROOT)$(BUNDLEDIR)/Resources/English.lproj/cups.strings"
121
122
123#
124# pot - Creates/updates the cups.pot template file, merges changes into existing
125#       message catalogs, and updates the cups.strings file.  We don't use
126#       xgettext to update the cups.strings file due to known xgettext bugs.
127#
128
129pot:	checkpo po2strings
130	echo Updating cups.pot...
131	mv cups.pot cups.pot.bck
132	touch cups.pot
133	cd ..; xgettext -o locale/cups.pot -cTRANSLATORS -s \
134		--keyword=_ --no-wrap \
135		--copyright-holder="Apple Inc." \
136		--package-name="CUPS" --package-version="1.6" \
137		--msgid-bugs-address="http://www.cups.org/str.php" \
138		*/*.c */*.cxx
139	(cat cups.header; tail +6 cups.pot; cat cups.footer) > cups.pot.N
140	mv cups.pot.N cups.pot
141	echo Checking cups.pot...
142	./checkpo cups.pot
143	for loc in *.po ; do \
144		if test $$loc = '*.po'; then \
145			break; \
146		fi; \
147		echo Merging changes into $$loc... ; \
148		msgmerge -o $$loc -s -N --no-location $$loc cups.pot ; \
149	done
150	echo Updating cups.strings...
151	./po2strings cups.pot cups.strings
152
153
154#
155# checkpo - A simple utility to check PO files for correct translation
156#           strings.  Dependency on static library is deliberate.
157#
158# checkpo filename.po [... filenameN.po]
159#
160
161checkpo:	checkpo.o ../cups/$(LIBCUPSSTATIC)
162	echo Linking $<...
163	$(CC) $(ARCHFLAGS) $(LDFLAGS) -o checkpo checkpo.o \
164		../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
165		$(COMMONLIBS) $(LIBZ)
166
167checkall:	checkpo
168	for file in *.po; do \
169		./checkpo $$file; \
170	done
171
172
173#
174# po2strings - A simple utility which uses iconv to convert GNU gettext
175#              message catalogs to OS X .strings files.
176#
177# po2strings filename.po filename.strings
178#
179
180po2strings:	po2strings.o ../cups/$(LIBCUPSSTATIC)
181	echo Linking $<...
182	$(CC) $(ARCHFLAGS) $(LDFLAGS) -o po2strings po2strings.o \
183		../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
184		$(COMMONLIBS) $(LIBZ)
185
186
187#
188# strings2po - A simple utility which uses iconv to convert OS X .strings files
189#              to GNU gettext message catalogs.
190#
191# strings2po filename.strings filename.po
192#
193
194strings2po:	strings2po.o
195	echo Linking $<...
196	$(CC) $(ARCHFLAGS) $(LDFLAGS) -o strings2po strings2po.o
197
198
199#
200# translate - A simple utility which uses Google to translate the cups.pot
201#             file to one of several languages.
202#
203# translate outfile language
204#
205
206translate:	translate.o ../cups/$(LIBCUPSSTATIC)
207	echo Linking $<...
208	$(CC) $(ARCHFLAGS) $(LDFLAGS) -o translate translate.o \
209		../cups/$(LIBCUPSSTATIC) $(LIBGSSAPI) $(SSLLIBS) $(DNSSDLIBS) \
210		$(COMMONLIBS) $(LIBZ)
211
212
213#
214# Dependencies...
215#
216
217include Dependencies
218
219
220#
221# End of "$Id: Makefile 11093 2013-07-03 20:48:42Z msweet $".
222#
223