diff options
author | Paul W. Frields <stickster@gmail.com> | 2012-10-16 17:54:03 -0400 |
---|---|---|
committer | Paul W. Frields <stickster@gmail.com> | 2012-10-16 17:54:03 -0400 |
commit | 34d04e1ab52c72eaf974f94152a615d3d1f2ae2d (patch) | |
tree | aabbc2fb6c382bcd94d025fa871baeb5b7c1bcc1 | |
parent | 4e899f6edab8799528d17cad192e7beaedbb20df (diff) | |
download | pulsecaster-34d04e1ab52c72eaf974f94152a615d3d1f2ae2d.tar.gz pulsecaster-34d04e1ab52c72eaf974f94152a615d3d1f2ae2d.tar.xz pulsecaster-34d04e1ab52c72eaf974f94152a615d3d1f2ae2d.zip |
More Makefile work, better modularization
-rw-r--r-- | Makefile | 72 |
1 files changed, 53 insertions, 19 deletions
@@ -1,37 +1,71 @@ +##################### +# Makefile support +# (C) 2012 Paul W. Frields <stickster@gmail.com> +# Licensed uner the GNU General Public License, v2 or later. +# + ifndef LANGUAGES -LANGUAGES := $(shell ls po/*.po | sed 's/po\/\(.*\).po/\1/') +LANGUAGES:=$(shell ls po/*.po | sed 's/po\/\(.*\).po/\1/') endif -DOMAIN = pulsecaster - -PO_FILES = $(wildcard po/*.po) -MO_FILES = $(PO_FILES:.po=.mo) +DOMAIN=pulsecaster +PYTHON=$(shell which python) +TX=$(shell which tx) +PWD=$(shell pwd) +GIT=$(shell which git) -PYTHON = $(shell which python) -TX = $(shell which tx) -PWD = $(shell pwd) +LATEST_TAG=$(shell git describe --tags --abbrev=0) +LATEST_VERSION=$(shell $(PYTHON) -c 'from pulsecaster.config import VERSION; print "%s" % (VERSION)') -.PHONY: all mo po clean +all:: +.PHONY:: vars +vars:: + @echo LATEST_TAG = $(LATEST_TAG) + @echo LATEST_VERSION = $(LATEST_VERSION) -all: mo - @echo -n -mo: $(foreach L,$(LANGUAGES),po/$(L).mo) +##################### -define MO_template = -po/$(1).mo: po/$(1).po - mkdir -p locale/$(1)/LC_MESSAGES && $(PYTHON) setup.py compile_catalog -l $(1) -i po/$(1).po -o po/$(1).mo -D $(DOMAIN) >/dev/null -endef -$(foreach L,$(LANGUAGES),$(eval $(call MO_template,$(L)))) +.PHONY:: all clean +##################### +# L10n support +.PHONY:: po +all:: po po: $(foreach L,$(LANGUAGES),po/$(L).po) define PO_template = +PO_FILES+= po/$(1).po po/$(1).po: po/$(DOMAIN).pot $(PYTHON) setup.py update_catalog -l $(1) -i po/$(DOMAIN).pot -o po/$(1).po -D $(DOMAIN) >/dev/null endef $(foreach L,$(LANGUAGES),$(eval $(call PO_template,$(L)))) +vars:: + @echo PO_FILES = $(PO_FILES) +.PHONY:: mo +all:: mo +mo: $(foreach L,$(LANGUAGES),po/$(L).mo) + +define MO_template = +MO_FILES+= po/$(1).mo +po/$(1).mo: po/$(1).po + mkdir -p locale/$(1)/LC_MESSAGES && $(PYTHON) setup.py compile_catalog -l $(1) -i po/$(1).po -o po/$(1).mo -D $(DOMAIN) >/dev/null +clean:: + rm -f po/$(1).mo +endef +$(foreach L,$(LANGUAGES),$(eval $(call MO_template,$(L)))) +vars:: + @echo MO_FILES = $(MO_FILES) +##################### -clean: - rm -rf po/*.mo +##################### +# Release stuff +release:: $(DOMAIN)-$(LATEST_VERSION).tar.gz +$(DOMAIN)-$(LATEST_VERSION).tar.gz:: +ifneq ($(LATEST_TAG),$(LATEST_VERSION)) + @echo Version=$(LATEST_VERSION), latest git tag=$(LATEST_TAG), either fix config.py or tag repo +else + $(PYTHON) setup.py sdist + @echo Tarball is in dist/$@ +endif |