automatic arch-version.h update; CTCP support; helpfile fixes; disk-out-of-space...
[srvx.git] / src / Makefile.am
index 68b680427af82cbf0baeb5a2e8d788e8d2673700..f605f8632aff520f6c4029d23274c64420c64885 100644 (file)
@@ -1,20 +1,25 @@
 AM_CPPFLAGS = @RX_INCLUDES@
 LIBS = @LIBS@ @RX_LIBS@
 
-ARCH_REVISION=$(shell tla logs -f | tail -n 1)
 noinst_PROGRAMS = srvx
 EXTRA_PROGRAMS = checkdb globtest
 noinst_DATA = chanserv.help global.help modcmd.help nickserv.help opserv.help saxdb.help sendmail.help mod-sockcheck.help mod-helpserv.help mod-memoserv.help
 EXTRA_DIST = $(noinst_DATA)
 BUILT_SOURCES = arch-version.h
 noinst_HEADERS = arch-version.h
-arch-version.h:
-       @if [ -e $@ ] ; then OLD_REVISION=`cat $@` ; else OLD_REVISION="" ; fi ; \
-       ARCH_REVISION=`tla logs -f | tail -n 1` ; \
-       VERSION_CONTENTS="#define ARCH_VERSION \"$$ARCH_REVISION\"" ; \
-       if [ "z" != "z$$ARCH_REVISION" -a "z$$OLD_REVISION" != "z$$VERSION_CONTENTS" ] ; then \
-           echo "Putting new arch version into $@" ; \
-           echo $$VERSION_CONTENTS > $@ ; \
+
+.PHONY: checkversion
+arch-version.h: checkversion
+checkversion:
+       @tla logs -f >/dev/null || exit 0; \
+       TMPFILE=`mktemp arch-version.h.XXXXXX` || exit 1 ; \
+       echo "#define ARCH_VERSION \"`tla logs -f | tail -n 1`\"" >> $$TMPFILE ; \
+       if diff -q arch-version.h $$TMPFILE >/dev/null 2>&1 ; then \
+           rm $$TMPFILE ; \
+        else \
+           echo "Putting new arch version into arch-version.h" ; \
+           rm -f arch-version.h ; \
+           mv $$TMPFILE arch-version.h ; \
        fi
 
 EXTRA_srvx_SOURCES = proto-bahamut.c proto-common.c proto-p10.c mod-snoop.c mod-memoserv.c mod-helpserv.c mod-sockcheck.c