mirror of
git://git.tartarus.org/simon/puzzles.git
synced 2025-04-21 16:05:44 -07:00
Added automatic determination of the SVN revision number if a build
takes place in a checked-out copy. Also added mkunxarc.sh which does the same version determination before building its archive. [originally from svn r5782]
This commit is contained in:
6
Recipe
6
Recipe
@ -102,8 +102,10 @@ FORCE:
|
|||||||
!begin gtk
|
!begin gtk
|
||||||
version.o: FORCE;
|
version.o: FORCE;
|
||||||
FORCE:
|
FORCE:
|
||||||
if test -z "$(VER)" && md5sum -c manifest; then \
|
if test -z "$(VER)" && test -f manifest && md5sum -c manifest; then \
|
||||||
$(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) `cat version.def` -c version.c; \
|
$(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) `cat version.def` -c version.c; \
|
||||||
|
elif test -z "$(VER)" && svnversion . >&/dev/null; then \
|
||||||
|
$(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) "-DREVISION=`svnversion .`" -c version.c; \
|
||||||
else \
|
else \
|
||||||
$(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) $(VER) -c version.c; \
|
$(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) $(VER) -c version.c; \
|
||||||
fi
|
fi
|
||||||
@ -117,6 +119,8 @@ version.o: FORCE;
|
|||||||
FORCE:
|
FORCE:
|
||||||
if test -z "$(VER)" && test -f manifest && (md5 -r `awk '{print $$2}' manifest` | diff -w manifest -); then \
|
if test -z "$(VER)" && test -f manifest && (md5 -r `awk '{print $$2}' manifest` | diff -w manifest -); then \
|
||||||
$(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) `cat version.def` -c version.c; \
|
$(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) `cat version.def` -c version.c; \
|
||||||
|
elif test -z "$(VER)" && svnversion . >&/dev/null; then \
|
||||||
|
$(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) "-DREVISION=`svnversion .`" -c version.c; \
|
||||||
else \
|
else \
|
||||||
$(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) $(VER) -c version.c; \
|
$(CC) $(COMPAT) $(XFLAGS) $(CFLAGS) $(VER) -c version.c; \
|
||||||
fi
|
fi
|
||||||
|
55
mkunxarc.sh
Executable file
55
mkunxarc.sh
Executable file
@ -0,0 +1,55 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
|
||||||
|
# Build a Unix source distribution from the Puzzles SVN area.
|
||||||
|
#
|
||||||
|
# Pass a numeric argument to have the archive tagged as that SVN
|
||||||
|
# revision. Otherwise, the script will work it out itself by
|
||||||
|
# calling `svnversion', or failing that it will not version-tag the
|
||||||
|
# archive at all.
|
||||||
|
|
||||||
|
case "$#" in
|
||||||
|
0)
|
||||||
|
# Ignore errors; if we can't get a version, we'll have a blank
|
||||||
|
# string.
|
||||||
|
rev=`svnversion . 2>/dev/null`
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
case "$1" in *[!0-9]*) echo "Malformed revision number '$1'">&2;exit 1;;esac
|
||||||
|
rev="$1"
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
|
||||||
|
if test "x$rev" != "x"; then
|
||||||
|
arcsuffix="-r$rev"
|
||||||
|
ver="-DREVISION=$rev"
|
||||||
|
else
|
||||||
|
arcsuffix=
|
||||||
|
ver=
|
||||||
|
fi
|
||||||
|
|
||||||
|
perl mkfiles.pl
|
||||||
|
make -s -f Makefile.doc
|
||||||
|
|
||||||
|
arcname="puzzles$arcsuffix"
|
||||||
|
mkdir uxarc
|
||||||
|
mkdir uxarc/$arcname
|
||||||
|
find . -name uxarc -prune -o \
|
||||||
|
-name CVS -prune -o \
|
||||||
|
-name '*.app' -prune -o \
|
||||||
|
-name '.[^.]*' -prune -o \
|
||||||
|
-name . -o \
|
||||||
|
-type d -exec mkdir uxarc/$arcname/{} \;
|
||||||
|
find . -name uxarc -prune -o \
|
||||||
|
-name CVS -prune -o \
|
||||||
|
-name '.[^.]*' -prune -o \
|
||||||
|
-name '*.app' -prune -o \
|
||||||
|
-name '*.zip' -prune -o \
|
||||||
|
-name '*.tar.gz' -prune -o \
|
||||||
|
-type f -exec ln -s $PWD/{} uxarc/$arcname/{} \;
|
||||||
|
if test "x$ver" != "x"; then
|
||||||
|
(cd uxarc/$arcname;
|
||||||
|
md5sum `find . -name '*.[ch]' -print` > manifest;
|
||||||
|
echo "$ver" > version.def)
|
||||||
|
fi
|
||||||
|
tar -C uxarc -chzof $arcname.tar.gz $arcname
|
||||||
|
rm -rf uxarc
|
Reference in New Issue
Block a user