202 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Makefile
		
	
	
	
			
		
		
	
	
			202 lines
		
	
	
		
			3.8 KiB
		
	
	
	
		
			Makefile
		
	
	
	
| #
 | ||
| # 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
 |