summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorPaul W. Frields <stickster@gmail.com>2012-10-16 17:54:03 -0400
committerPaul W. Frields <stickster@gmail.com>2012-10-16 17:54:03 -0400
commit34d04e1ab52c72eaf974f94152a615d3d1f2ae2d (patch)
treeaabbc2fb6c382bcd94d025fa871baeb5b7c1bcc1
parent4e899f6edab8799528d17cad192e7beaedbb20df (diff)
downloadpulsecaster-34d04e1ab52c72eaf974f94152a615d3d1f2ae2d.tar.gz
pulsecaster-34d04e1ab52c72eaf974f94152a615d3d1f2ae2d.tar.xz
pulsecaster-34d04e1ab52c72eaf974f94152a615d3d1f2ae2d.zip
More Makefile work, better modularization
-rw-r--r--Makefile72
1 files changed, 53 insertions, 19 deletions
diff --git a/Makefile b/Makefile
index 2a80e62..ebcd76e 100644
--- a/Makefile
+++ b/Makefile
@@ -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