diff --git a/.cleancount b/.cleancount new file mode 100755 index 000000000..d00491fd7 --- /dev/null +++ b/.cleancount @@ -0,0 +1 @@ +1 diff --git a/.cvsignore b/.cvsignore index d70278937..2509bfd98 100755 --- a/.cvsignore +++ b/.cvsignore @@ -7,3 +7,5 @@ ast_expr.c mpg123-0.59r mpg123-0.59r.tar.gz update.out +.lastclean +.cleancount diff --git a/Makefile b/Makefile index b336dce57..9d9342dee 100755 --- 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 64bf06a20..a3cd0f746 100755 --- 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: