Allow me to force a "make clean ; make install" on a cvs update (bug #3358)
authorMark Spencer <markster@digium.com>
Mon, 17 Jan 2005 04:48:51 +0000 (04:48 +0000)
committerMark Spencer <markster@digium.com>
Mon, 17 Jan 2005 04:48:51 +0000 (04:48 +0000)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@4822 65c4cc65-6c06-0410-ace0-fbb531ad65f3

.cleancount [new file with mode: 0755]
.cvsignore
Makefile
README

diff --git a/.cleancount b/.cleancount
new file mode 100755 (executable)
index 0000000..d00491f
--- /dev/null
@@ -0,0 +1 @@
+1
index d702789..2509bfd 100755 (executable)
@@ -7,3 +7,5 @@ ast_expr.c
 mpg123-0.59r
 mpg123-0.59r.tar.gz
 update.out
+.lastclean
+.cleancount
index b336dce..9d9342d 100755 (executable)
--- a/Makefile
+++ b/Makefile
@@ -255,7 +255,9 @@ _all: all
        @echo " +               $(MAKE) install                +"  
        @echo " +-------------------------------------------+"  
 
-all: depend asterisk subdirs 
+all: cleantest depend asterisk subdirs 
+
+noclean: depend asterisk subdirs
 
 editline/config.h:
        cd editline && unset CFLAGS LIBS && ./configure ; \
@@ -330,6 +332,7 @@ clean:
        rm -f *.o *.so asterisk .depend
        rm -f build.h 
        rm -f ast_expr.c
+       rm -f .version
        @if [ -f editline/Makefile ]; then $(MAKE) -C editline distclean ; fi
        @if [ -d mpg123-0.59r ]; then make -C mpg123-0.59r clean; fi
        $(MAKE) -C db1-ast clean
@@ -580,3 +583,14 @@ FORCE:
 
 env:
        env
+
+# If the cleancount has been changed, force a make clean.
+# .cleancount is the global clean count, and .lastclean is the 
+#      last clean count # we had
+# We can avoid this by making noclean
+
+cleantest:
+       if ! cmp -s .cleancount .lastclean ; then \
+               make clean; cp -f .cleancount .lastclean;\
+       fi
+               
diff --git a/README b/README
index 64bf06a..a3cd0f7 100755 (executable)
--- a/README
+++ b/README
@@ -71,6 +71,12 @@ So let's proceed:
 1) Run "make"
 2) Run "make install"
 
+Each time you update or checkout from CVS, you are strongly encouraged 
+to ensure all previous object files are removed to avoid internal 
+inconsistency in Asterisk. Normally, this is automatically done with 
+the presence of the file .cleancount, which increments each time a 'make clean'
+is required, and the file .lastclean, which contains the last .cleancount used. 
+
 If this is your first time working with Asterisk, you may wish to install
 the sample PBX, with demonstration extensions, etc.  If so, run: