summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBen Longbons <b.r.longbons@gmail.com>2013-10-09 17:57:43 -0700
committerBen Longbons <b.r.longbons@gmail.com>2013-10-10 14:37:49 -0700
commit524df2190b855c4096449a1aaa7b92a15875f7a7 (patch)
treee86f0892239e8ee915a47e15991cb1345b4614c1
parenta44741c83773989430f5e3ac4a8a83c93b1341ff (diff)
downloadtmwa-524df2190b855c4096449a1aaa7b92a15875f7a7.tar.gz
tmwa-524df2190b855c4096449a1aaa7b92a15875f7a7.tar.bz2
tmwa-524df2190b855c4096449a1aaa7b92a15875f7a7.tar.xz
tmwa-524df2190b855c4096449a1aaa7b92a15875f7a7.zip
Add make target for tarballs
-rw-r--r--.gitignore1
-rw-r--r--real.make22
-rw-r--r--version.make5
3 files changed, 25 insertions, 3 deletions
diff --git a/.gitignore b/.gitignore
index f3d4750..e1c02bc 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,6 +2,7 @@
/conf-raw/
/obj/
/bin/
+/dist/
# Generated source files
/src/map/magic-interpreter-parser.hpp
/src/map/magic-interpreter-parser.cpp
diff --git a/real.make b/real.make
index e04d98e..e8442fe 100644
--- a/real.make
+++ b/real.make
@@ -335,3 +335,25 @@ conf-raw/str-%.h: FORCE
} > $@
FORCE: ;
override CPPFLAGS += -I .
+
+# distribution tarballs
+# this only works from within a git checkout
+dist/%/version.make:
+ $(MKDIR_FIRST)
+ git show HEAD:version.make > $@
+ sed 's/^VERSION_FULL := .*/#&\nVERSION_FULL := ${VERSION_FULL}/' -i $@
+ sed 's/^VERSION_HASH := .*/#&\nVERSION_HASH := ${VERSION_HASH}/' -i $@
+dist/%-src.tar: dist/%/version.make
+ git archive --prefix=$*/ -o $@ HEAD
+ ( cd dist && tar uf $*-src.tar --mtime="$$(git log -n1 --pretty=%cd)" --mode=664 --owner=root --group=root $*/version.make )
+ rm dist/$*/version.make
+ rmdir dist/$*/
+dist/%-attoconf-only.tar:
+ $(MKDIR_FIRST)
+ git --git-dir=deps/attoconf/.git archive --prefix=$*/deps/attoconf/ HEAD -o $@
+dist/%-bundled.tar: dist/%-src.tar dist/%-attoconf-only.tar
+ cp dist/$*-src.tar $@
+ tar Af $@ dist/$*-attoconf-only.tar
+
+dist: dist/tmwa-${VERSION_FULL}-src.tar dist/tmwa-${VERSION_FULL}-bundled.tar
+.PHONY: dist
diff --git a/version.make b/version.make
index 04ba9c3..8df7143 100644
--- a/version.make
+++ b/version.make
@@ -1,5 +1,3 @@
-# TODO replace this file in tarballs
-# for now, only git builds will work.
VERSION_FULL := $(shell cd ${SRC_DIR}; git describe --tags HEAD)
VERSION_HASH := $(shell cd ${SRC_DIR}; git rev-parse HEAD)
@@ -11,7 +9,8 @@ VERSION_DEVEL := $(word 4,${version_bits})
ifeq "${VERSION_DEVEL}" ""
VERSION_DEVEL := 0
endif
-VERSION_FULL += $(shell cd ${SRC_DIR}; git diff --quiet HEAD || echo dirty)
+# tracking dirty trees is more trouble than it's worth
+#VERSION_FULL += $(shell cd ${SRC_DIR}; git diff --quiet HEAD || echo dirty)
VENDOR := Vanilla
VENDOR_VERSION := 0