]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/win32/Makefile
Fix some trivial errors and implemented the restore of IRIX xattrs.
[bacula/bacula] / bacula / src / win32 / Makefile
index 78eae5572f106b77a3e90375d52078d39738e591..3bea6ece63999e3b23cb2a8c65ff5ea3597abe0a 100644 (file)
+#
+#  Makefile for Win32/Win64 Bacula File daemon
+#
+#  If called make win64=yes the Win64 version will be built
+#     otherwise the Win32 version will be built.
+#
+#  If called with bat=no, bat will not be built, otherwise it will be
+#     built.
+#
+
 ECHO_CMD=@
 
-DIRS=  dll \
-       cats \
-       filed \
-       filed/plugins \
-       dird \
-       stored \
-       console \
-       wx-console \
-       tools \
-       scripts
+WIN32_DIRS=lib filed filed/plugins console scripts
+
+WIN64_DIRS=lib filed filed/plugins console scripts
+
+ifeq ($(win64),yes)
+        DIRS=$(WIN64_DIRS)
+        INSTALLER=win64_installer
+        SPECIAL=bsmtp
+else
+        DIRS=$(WIN32_DIRS)
+        INSTALLER=win32_installer
+        SPECIAL=bat bsmtp
+endif
+
+ifeq ($(bat),no)
+        SPECIAL=bsmtp
+endif       
+
+.PHONY: $(DIRS) clean all Makefile.inc win32_installer full_win32_installer \
+        win64_installer bsmtp
 
-.PHONY: $(DIRS) clean all Makefile.inc installer newinstaller
+all: Makefile.inc $(DIRS) $(SPECIAL) $(INSTALLER)
 
-all: Makefile.inc $(DIRS) installer newinstaller
+clean: $(DIRS) win32_installer win64_installer
+       $(MAKE) -C tools clean
+       $(ECHO_CMD)-rm -rf release32 release64
 
-clean: $(DIRS) installer newinstaller
-       $(ECHO_CMD)-rm -rf release
+bat:
+       (cd ../qt-console; ./make-win32)
+
+full_win32_installer:
+       @if test -f Makefile.inc; then \
+          if $(MAKE) -C $@ $(MAKECMDGOALS); then \
+               echo "\n===== Make of $@ succeeded =====\n\n" ; \
+          else  \
+               echo "\n!!!!! Make of $@ failed !!!!!\n\n" ; exit 1; \
+          fi ; \
+       fi
 
-newinstaller:
+win32_installer:
        @if test -f Makefile.inc; then \
           if $(MAKE) -C $@ $(MAKECMDGOALS); then \
                echo "\n===== Make of $@ succeeded =====\n\n" ; \
           else  \
-               echo "\n!!!!! Make of $@ failed !!!!!\n\n" ; \
+               echo "\n!!!!! Make of $@ failed !!!!!\n\n" ; exit 1; \
           fi ; \
        fi
 
-installer:
+win64_installer:
        @if test -f Makefile.inc; then \
           if $(MAKE) -C $@ $(MAKECMDGOALS); then \
                echo "\n===== Make of $@ succeeded =====\n\n" ; \
           else  \
-               echo "\n!!!!! Make of $@ failed !!!!!\n\n" ; \
+               echo "\n!!!!! Make of $@ failed !!!!!\n\n" ; exit 1; \
           fi ; \
        fi
 
+
 $(DIRS):
        @if test -f Makefile.inc; then \
           if $(MAKE) -C $@ $(MAKECMDGOALS); then \
                echo "\n===== Make of $@ succeeded =====\n\n" ; \
           else  \
-               echo "\n!!!!! Make of $@ failed !!!!!\n\n" ; \
+               echo "\n!!!!! Make of $@ failed !!!!!\n\n" ; exit 1; \
+          fi ; \
+       fi
+
+bsmtp:
+       @if test -f Makefile.inc; then \
+          if $(MAKE) -C tools bsmtp $(MAKECMDGOALS); then \
+               echo "\n===== Make of tools/bsmtp succeeded =====\n\n" ; \
+          else  \
+               echo "\n!!!!! Make of tools/bsmtp failed !!!!!\n\n" ; exit 1; \
           fi ; \
        fi
 
+
+
 Makefile.inc:
        @echo Creating $@
        $(ECHO_CMD)TOPDIR=`(cd ../../..;pwd)`; \
-       if test -e ../../../cross-tools/mingw32/bin/mingw32-gcc; then \
+       TOPDIR=$${DEPKGS:-$${TOPDIR}}; \
+       if test "$(win64)" = yes -a -e $${TOPDIR}/cross-tools/mingw-w64/bin/x86_64-pc-mingw32-gcc; then \
+               BINDIR=$${TOPDIR}/cross-tools/mingw-w64/bin; \
+               INCDIR=$${TOPDIR}/cross-tools/mingw-w64/x86_64-pc-mingw32/include; \
+               DLLDIR=$${TOPDIR}/cross-tools/mingw-w64/x86_64-pc-mingw32/bin; \
+               DEPKGSDIR=depkgs-mingw-w64; \
+               DEPKGSDIR32=depkgs-mingw32; \
+       elif test -e $${TOPDIR}/cross-tools/mingw32/bin/mingw32-gcc; then \
                BINDIR=$${TOPDIR}/cross-tools/mingw32/bin; \
                INCDIR=$${TOPDIR}/cross-tools/mingw32/mingw32/include; \
                DLLDIR=$${TOPDIR}/cross-tools/mingw32/mingw32/bin; \
-       elif test -e /mingw/bin/mingw32-gcc; then \
-               BINDIR=/mingw/bin; \
-               INCDIR=/mingw/include; \
-               DLLDIR=/mingw/bin; \
+               DEPKGSDIR=depkgs-mingw32; \
+               DEPKGSDIR32=depkgs-mingw32; \
        else \
                echo "\nThe GCC cross compiler isn't installed."; \
                echo "You must run build-win32-cross-tools and build-dependencies first.\n"; \
@@ -64,6 +112,10 @@ Makefile.inc:
        BUILDDIR=`(pwd)`; \
        MAINDIR=`(cd ../..;pwd)`; \
        sed \
+               -e "s^@WIN64@^$${win64}^" \
+               -e "s^@BAT@^$${bat}^" \
+               -e "s^@WIN32DEPKGS@^$${DEPKGSDIR}^" \
+               -e "s^@WIN32DEPKGS32@^$${DEPKGSDIR32}^" \
                -e "s^@WIN32BUILDDIR@^$${BUILDDIR}^" \
                -e "s^@WIN32MAINDIR@^$${MAINDIR}^" \
                -e "s^@WIN32TOPDIR@^$${TOPDIR}^" \