*/
 
 #undef  VERSION
-#define VERSION "2.5.44"
-#define BDATE   "04 April 2009"
-#define LSMDATE "04Apr09"
+#define VERSION "3.0.0"
+#define BDATE   "05 April 2009"
+#define LSMDATE "05Apr09"
 
 #define PROG_COPYRIGHT "Copyright (C) %d-2009 Free Software Foundation Europe e.V.\n"
 #define BYEAR "2009"       /* year for copyright messages in progs */
 
 all: Makefile.inc $(DIRS) $(SPECIAL) $(INSTALLER)
 
 clean: $(DIRS) win32_installer newinstaller win64_installer
-       $(ECHO_CMD)-rm -rf release
+       $(ECHO_CMD)-rm -rf release32 release64
 
 newinstaller:
        @if test -f Makefile.inc; then \
 
 # Using MinGW cross-compiler on GNU/Linux
 #
 #  Written by Robert Nelson, June 2006
+#
 #  Absolute paths used in place of relative paths
 #      Kern Sibbald, October 2008
+#   Split Win32 and Win64 objects and binaries. However
+#     the clean is a significant kludge -- hard coded.
+#     The object directories are deleted during make clean,
+#     so don't point them to any source directory.
 #
 
 # Global Configuration
    OBJDIR := obj32
 endif
 
+OBJDIRS := obj32 obj64
+
 LDFLAGS := -g -Wall -mno-cygwin -Wl,--disable-auto-import
 
 INCLUDE_DDK := -I$(MINGW_INCLUDE)/ddk
 INCLUDE_MYSQL := -I$(DEPKGS)/include/mysql
 
 LIBS_DB := \
-        $(DEPKGS)/lib/libdb.a
+       $(DEPKGS)/lib/libdb.a
 
 LIBS_PTHREADS := \
-        $(DEPKGS)/lib/libpthreadGCE.a
+       $(DEPKGS)/lib/libpthreadGCE.a
 
 LIBS_ZLIB := \
-        $(DEPKGS)/lib/libz.a
+       $(DEPKGS)/lib/libz.a
 
 LIBS_MYSQL := \
-        $(DEPKGS)/lib/libmysql.a
+       $(DEPKGS)/lib/libmysql.a
 
 LIBS_POSTGRESQL := \
-        $(DEPKGS)/lib/libpq.a
+       $(DEPKGS)/lib/libpq.a
 
 LIBS_SQLITE := \
-        $(DEPKGS)/lib/libsqlite3.a
+       $(DEPKGS)/lib/libsqlite3.a
 
 LIBS_SSL := \
-        $(DEPKGS)/lib/libssl.dll.a
+       $(DEPKGS)/lib/libssl.dll.a
 
 LIBS_CRYPTO := \
-        $(DEPKGS)/lib/libcrypto.dll.a
+       $(DEPKGS)/lib/libcrypto.dll.a
 
 LIBS_WX := \
-        $(DEPKGS)/lib/wx_dll/libwxmsw28_core.a \
-        $(DEPKGS)/lib/wx_dll/libwxbase28.a
+       $(DEPKGS)/lib/wx_dll/libwxmsw28_core.a \
+       $(DEPKGS)/lib/wx_dll/libwxbase28.a
 
 LIBS_CATS := \
-        $(LIBDIR)/libcats.a
+       $(LIBDIR)/libcats.a
 
 LIBS_BACULA := \
-        $(LIBDIR)/libbacula.a
+       $(LIBDIR)/libbacula.a
 
 HAVES := \
-        -DHAVE_WIN32 \
-        -DHAVE_MINGW \
-        -DHAVE_ZLIB_H \
-        -DHAVE_LIBZ \
-        -DHAVE_CRYPTO \
-        -DHAVE_OPENSSL \
-        -DHAVE_TLS
+       -DHAVE_WIN32 \
+       -DHAVE_MINGW \
+       -DHAVE_ZLIB_H \
+       -DHAVE_LIBZ \
+       -DHAVE_CRYPTO \
+       -DHAVE_OPENSSL \
+       -DHAVE_TLS
 
        $(call clean_exe,$(BINDIR)/cats_postgresql.dll)
        $(call clean_exe,$(BINDIR)/cats_sqlite3.dll)
        $(ECHO_CMD)rm -f $(OBJDIR)/libcats.exp $(LIBDIR)/libcats.a
+       $(ECHO_CMD)rm -rf $(OBJDIRS)
 
 $(LIBDIR)/libcats.a $(OBJDIR)/libcats.exp: bacula_cats.def
        $(call checkdir,$@)
+       @mkdir -p $(OBJDIRS)
        $(DLLTOOL) --dllname bacula_cats.dll --no-export-all-symbols --input-def bacula_cats.def --output-exp $(OBJDIR)/libcats.exp --output-lib $(LIBDIR)/libcats.a $^
 
 $(BINDIR)/cats_mysql.dll: $(addprefix $(OBJDIR)/cats_mysql/,mysql.o $(SQL_OBJS)) $(OBJDIR)/libcats.exp
 
        @echo "Cleaning `pwd`"
        $(call clean_obj,$(ALL_OBJS))
        $(call clean_exe,$(BINDIR)/bconsole.exe)
+       $(ECHO_CMD)rm -rf $(OBJDIRS)
 
 #
 # Rules
 
        @echo "Cleaning `pwd`"
        $(call clean_obj,$(ALL_OBJS))
        $(call clean_exe,$(BINDIR)/bacula-dir.exe)
+       $(ECHO_CMD)rm -rf $(OBJDIRS)
 
 #
 # Rules
 
 FILED_LIBS = \
        $(LIBS_PTHREADS) \
        $(LIBS_ZLIB) \
-        $(LIBS_NETWORK) \
+       $(LIBS_NETWORK) \
        -lole32 \
        -loleaut32 \
        -luuid \
        @echo "Cleaning `pwd`"
        $(call clean_obj,$(ALL_OBJS))
        $(call clean_exe,$(BINDIR)/bacula-fd.exe)
+       $(ECHO_CMD)rm -rf $(OBJDIRS)
 
 #
 # Rules
 
        $(LIBS_CRYPTO) \
        $(LIBS_PTHREADS) \
        $(LIBS_ZLIB) \
-        $(LIBS_NETWORK) \
+       $(LIBS_NETWORK) \
        -lole32 \
        -loleaut32 \
        -luuid
        $(call clean_obj,$(EXCHANGE_OBJS))
        $(call clean_exe,$(BINDIR)/exchange-fd.dll)
        $(ECHO_CMD)rm -f $(OBJDIR)/exchange-fd.a $(LIBDIR)/libexchange-fd.a
+       $(ECHO_CMD)rm -rf $(OBJDIRS)
 
 #
 # Rules for generating from ../lib
 
        $(call clean_obj,$(ALL_OBJS))
        $(call clean_exe,$(BINDIR)/bacula.dll)
        $(ECHO_CMD)rm -f $(OBJDIR)/bacula.a $(LIBDIR)/libbacula.a
+       $(ECHO_CMD)rm -rf $(OBJDIRS)
 
 #
 # Rules for generating from ../lib
 
        @echo "Cleaning `pwd`"
        $(call clean_obj,$(ALL_OBJS))
        $(call clean_exe,$(BINDIR)/bsleep.exe)
+       $(ECHO_CMD)rm -rf $(OBJDIRS)
 
 #
 # Rules
 
 
 LIBS_STORED = \
        $(LIBS_PTHREADS) \
-        $(LIBS_NETWORK) \
+       $(LIBS_NETWORK) \
        -lole32 \
        -loleaut32 \
        -luuid \
        $(call clean_exe,$(BINDIR)/bls.exe)
        $(call clean_exe,$(BINDIR)/bscan.exe)
        $(call clean_exe,$(BINDIR)/btape.exe)
+       $(ECHO_CMD)rm -rf $(OBJDIRS)
 
 realclean: clean
        rm -f tags bacula-sd.conf
 
        $(call clean_exe,$(BINDIR)/testls.exe)
        $(call clean_exe,$(BINDIR)/bregex.exe)
        $(call clean_exe,$(BINDIR)/bwild.exe)
+       $(ECHO_CMD)rm -rf $(OBJDIRS)
 
 #
 # Rules
 
 
 CONSOLE_LIBS = \
        $(LIBS_WX) \
-        $(LIBS_NETWORK) \
+       $(LIBS_NETWORK) \
        -lcomctl32 \
        -lole32 \
        -loleaut32 \
        $(call clean_obj,$(ALL_OBJS))
        $(call clean_exe,$(BINDIR)/bwx-console.exe)
        $(call clean_exe,$(BINDIR)/wx-console.exe)
+       $(ECHO_CMD)rm -rf $(OBJDIRS)
 
 #
 # Rules
 
           
 General:
 
-04Apr09
+05Apr09
+kes  Fix Win32 make clean to clean correctly 
 kes  Cleanup Win installer dialog messages a bit ...
+04Apr09
 kes  Separate object/binaries in Win32 and Win64 builds. More to be done.
 kes  Add bconsole to Win64 installer.
 03Apr09