Skip to content
Snippets Groups Projects
Makefile 1.54 KiB
Newer Older
  • Learn to ignore specific revisions
  • Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    EN_SOURCES = $(wildcard en/*.txt)
    
    LANGUAGE_PO = $(wildcard po/documentation.*.po)
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    ALL_LANGUAGES = $(subst po/documentation.,,$(subst .po,,$(LANGUAGE_PO)))
    
    
    L10N_BUILD_TARGETS = all man html install doc-l10n install-l10n install-txt
    
    L10N_CLEAN_TARGETS = clean mrproper
    L10N_TARGETS = $(L10N_CLEAN_TARGETS) $(L10N_BUILD_TARGETS)
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    
    
    QUIET_LANG  = +$(MAKE) -C # space to separate -C and subdir
    
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    ifneq ($(findstring $(MAKEFLAGS),s),s)
    ifndef V
    
    	QUIET_LANG = +@echo '   ' LANG $(2);$(MAKE) --no-print-directory -C
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    	export V
    endif
    endif
    
    
    po4a.conf: scripts/create_po4a_conf.sh sources.txt $(LANGUAGE_PO)
    	@./scripts/create_po4a_conf.sh
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    
    po4a-stamp: po4a.conf $(EN_SOURCES) $(LANGUAGE_PO) Makefile
    
    	$(QUIET_PO4A)PERL5LIB=./po4a/lib po4a/po4a -v po4a.conf
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    	@touch $@
    
    update-sources:
    
    	./scripts/update-sources.sh
    
    	$(QUIET_PO4A)PERL5LIB=./po4a/lib po4a/po4a -v --no-translations po4a.conf
    	@for f in po/documentation.*.po; do ./scripts/pre-translate-po $f; ./scripts/set-priorities $f; done
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    
    define MAKE_TARGET
    
    
    	$(QUIET_LANG) $(2) -f ../makefile.locale $(1) lang=$(2)
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    
    
    $(1): $(1)_$(2)
    
    .PHONY: $(1)_$(2)
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    
    endef
    
    
    define DEPEND_PO4A
     $(1)_$(2): po4a-stamp
    endef
    
    .PHONY: $(L10N_BUILD_TARGETS) $(L10N_CLEAN_TARGETS)
    
    man all html doc-l10n : po4a-stamp
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    
    
    $(foreach lang,$(ALL_LANGUAGES),$(foreach target,$(L10N_TARGETS),$(eval $(call MAKE_TARGET,$(target),$(lang),DEPEND_PO4A))))
    
    $(foreach lang,$(ALL_LANGUAGES),$(foreach target,$(L10N_BUILD_TARGETS),$(eval $(call DEPEND_PO4A,$(target),$(lang)))))
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    
    mrproper: mrproper-local
    
    mrproper-local:
    
    Jean-Noël Avila's avatar
    Jean-Noël Avila committed
    	rm -f po4a-stamp po4a.conf