| ############################################################################### |
| # BRLTTY - A background process providing access to the console screen (when in |
| # text mode) for a blind person using a refreshable braille display. |
| # |
| # Copyright (C) 1995-2023 by The BRLTTY Developers. |
| # |
| # BRLTTY comes with ABSOLUTELY NO WARRANTY. |
| # |
| # This is free software, placed under the terms of the |
| # GNU Lesser General Public License, as published by the Free Software |
| # Foundation; either version 2.1 of the License, or (at your option) any |
| # later version. Please see the file LICENSE-LGPL for details. |
| # |
| # Web Page: http://brltty.app/ |
| # |
| # This software is maintained by Dave Mielke <dave@mielke.cc>. |
| ############################################################################### |
| |
| all:: objects languages |
| |
| COPYRIGHT_HOLDER = The BRLTTY Developers |
| LANGUAGE_CODES = ar de fr it ru zh |
| |
| LOCALE_SUBDIRECTORY = locale |
| MESSAGES_SUBDIRECTORY = LC_MESSAGES |
| |
| TEMPLATE_EXTENSION = pot |
| SOURCE_EXTENSION = po |
| OBJECT_EXTENSION = mo |
| |
| LANGUAGES_FILE = LINGUAS |
| TEMPLATE_FILE = $(SRC_DIR)/$(PACKAGE_TARNAME).$(TEMPLATE_EXTENSION) |
| OBJECT_FILE = $(PACKAGE_TARNAME).$(OBJECT_EXTENSION) |
| |
| SOURCE_FILES = $(LANGUAGE_CODES:=.$(SOURCE_EXTENSION)) |
| OBJECT_FILES = $(LANGUAGE_CODES:=.$(OBJECT_EXTENSION)) |
| |
| languages: $(LANGUAGES_FILE) |
| $(LANGUAGES_FILE): FORCE |
| : >$@; \ |
| for language in $(LANGUAGE_CODES); do \ |
| echo $$language >>$@; \ |
| done |
| |
| template $(TEMPLATE_EXTENSION): $(TEMPLATE_FILE) |
| $(TEMPLATE_FILE): $(BLD_TOP)$(PGM_DIR)/cmds.auto.h FORCE |
| $(SRC_TOP)mkpot -p "$(PACKAGE_TARNAME)" -n "$(PACKAGE_VERSION)" -b "$(PACKAGE_BUGREPORT)" -c "$(COPYRIGHT_HOLDER)" -o $@ -- $(SRC_TOP) $(BLD_TOP) |
| |
| sources: $(SOURCE_FILES) |
| %.$(SOURCE_EXTENSION): FORCE |
| $(MSGMERGE) --quiet --update --force-po --no-wrap --no-fuzzy-matching -- $(SRC_DIR)/$@ $(TEMPLATE_FILE) |
| set -- `date --utc +"%Y %m %d %H %M %z"` && \ |
| sed -e "/^.PO-Revision-Date:/s/....-..-.. ..:..[+-]..../$$1-$$2-$$3 $$4:$$5$$6/" -i $(SRC_DIR)/$@ |
| |
| objects: $(OBJECT_FILES) |
| %.$(OBJECT_EXTENSION): FORCE |
| $(MSGFMT) --output-file $@ -- $(SRC_DIR)/$(@F:.$(OBJECT_EXTENSION)=.$(SOURCE_EXTENSION)) |
| directory="$(LOCALE_SUBDIRECTORY)/$(@:.$(OBJECT_EXTENSION)=)/$(MESSAGES_SUBDIRECTORY)"; \ |
| $(INSTALL_DIRECTORY) $${directory}; \ |
| cd $${directory}; \ |
| test -f $(OBJECT_FILE) || $(SYMLINK) ../../../$@ $(OBJECT_FILE); |
| |
| clean:: |
| -rm -f -- *.$(OBJECT_EXTENSION) *~ |
| -rm -f -r -- $(LOCALE_SUBDIRECTORY) |
| |
| install:: objects install-locale-directory |
| for language in $(LANGUAGE_CODES); do \ |
| directory="$(INSTALL_LOCALE_DIRECTORY)/$${language}/$(MESSAGES_SUBDIRECTORY)" && \ |
| $(INSTALL_DIRECTORY) "$${directory}" && \ |
| $(INSTALL_DATA) "$${language}.$(OBJECT_EXTENSION)" "$${directory}/$(OBJECT_FILE)"; \ |
| done |
| |
| uninstall:: |
| -rm -f -- $(INSTALL_LOCALE_DIRECTORY)/*/*/$(OBJECT_FILE) |
| |