]> git.sur5r.net Git - bacula/bacula/blobdiff - bacula/src/win32/win32_installer/Makefile
Restore win32 dir from Branch-5.2 and update it
[bacula/bacula] / bacula / src / win32 / win32_installer / Makefile
diff --git a/bacula/src/win32/win32_installer/Makefile b/bacula/src/win32/win32_installer/Makefile
new file mode 100644 (file)
index 0000000..f374cbf
--- /dev/null
@@ -0,0 +1,178 @@
+#
+# Copyright (C) 2000-2018 Kern Sibbald
+# License: BSD 2-Clause; see file LICENSE-FOSS
+#
+#
+# Makefile for win32 bacula executables
+# Using MinGW cross-compiler on GNU/Linux
+#
+#  Written by Robert Nelson, June 2006
+#
+
+include ../Makefile.inc
+
+VERSION := $(shell sed -ne 's/^.define[ \t]VERSION[ \t][ \t]*"\(.*\)"/\1/p' < ../../version.h)
+RELEASE ?= $(shell awk '/define RELEASE [0-9]+/ { print $$3 }' ../../version.h)
+
+DEFINES := \
+       -DVERSION=$(VERSION) \
+       -DOUT_DIR=$(BUILDDIR)/release32 \
+       -DSRC_DIR=release32 \
+       -DBUILD_TOOLS=MinGW32 \
+       -DWINVER=32 \
+       -DBUILD_BAT=$(BUILD_BAT)
+
+INSTALL_EXE := $(BUILDDIR)/release32/winbacula-$(VERSION).exe
+
+BACULABINARIES := \
+       bacula.dll \
+       alldrives-fd.dll \
+       exchange-fd.dll \
+       bacula-fd.exe \
+       bconsole.exe \
+       bsleep.exe \
+       bsmtp.exe \
+       bacula-sd.exe \
+       bextract.exe \
+       bls.exe \
+       bcopy.exe
+
+ifeq ($(bat),no)
+       BACULA_BINARIES=$(BACULABINARIES)
+       HELP=
+else
+       BACULA_BINARIES=$(BACULABINARIES) bat.exe #bacula-tray-monitor.exe
+       HELP=help
+endif
+
+EXTRA=
+
+#      bacula-sd.exe \
+
+
+DEPKGS_BINARIES := \
+       libeay32.dll \
+       pthreadGCE2.dll \
+       zlib1.dll \
+       ssleay32.dll \
+       openssl.exe \
+       sed.exe \
+       expr64.exe \
+       snooze.exe \
+       QtCore4.dll \
+       QtGui4.dll  \
+       libwinpthread-1.dll \
+       libgcc_s_sjlj-1.dll \
+       libstdc++-6.dll
+#      libgcc_s_dw2-1.dll
+
+
+NONGCC_BINARIES := 
+
+NONGCC_LIBRARIES := 
+
+MINGW_BINARIES := 
+
+SCRIPT_FILES := 
+
+CAT_FILES := 
+
+DIRD_FILES := 
+
+SSL_FILES := \
+       openssl.cnf
+
+LICENSE_FILES := \
+       LICENSE
+
+##########################################################################
+
+# Targets
+
+.PHONY: all clean installer distclean
+
+all:         $(HELP) docs $(INSTALL_EXE) $(EXTRA)
+
+installer:    $(HELP) docs $(INSTALL_EXE)
+
+distclean: clean
+
+clean:
+       @echo "Cleaning `pwd`"
+       $(CMD_ECHO)-rm -f $(INSTALL_EXE)
+       $(CMD_ECHO)-rm -rf release32
+
+help:
+       rm -rf release32/help
+       mkdir -p release32/help
+       cp -f $(BINDIR)/help/* release32/help/
+
+docs:
+       rm -rf release32/docs
+       mkdir -p release32/docs/manuals/en/console
+       mkdir -p release32/docs/manuals/en/main
+       mkdir -p release32/docs/manuals/en/misc
+       mkdir -p release32/docs/manuals/en/problems
+       mkdir -p release32/docs/manuals/en/utility
+       cp -f $(DOCDIR)/docs/manuals/en/pdf-and-html/console/console.pdf release32/docs/manuals/en/console/
+       cp -f $(DOCDIR)/docs/manuals/en/pdf-and-html/main/main.pdf release32/docs/manuals/en/main/
+       cp -f $(DOCDIR)/docs/manuals/en/pdf-and-html/misc/misc.pdf release32/docs/manuals/en/misc/
+       cp -f $(DOCDIR)/docs/manuals/en/pdf-and-html/problems/problems.pdf release32/docs/manuals/en/problems/
+       cp -f $(DOCDIR)/docs/manuals/en/pdf-and-html/utility/utility.pdf release32/docs/manuals/en/utility/
+
+#
+# Rules
+#
+
+define Convert_Binary
+release32/$$(notdir $(1)): $(1)
+       $$(call checkdir,$$@)
+       $(ECHO_CMD)cp -f $$^ $$@ ; \
+       $(STAB2CV) $$@
+endef
+
+define Copy_Binary
+release32/$$(notdir $(1)): $(1)
+       $$(call checkdir,$$@)
+       $(ECHO_CMD)cp -f $$^ $$@
+endef
+
+define Copy_Docs
+release32/$(1): $(DOCDIR)/$(1)
+       $$(call checkdir,$$@)
+       cp -f $$^ $$(dir $$@)
+       $(ECHO_CMD)cp -f $$^ $$(dir $$@)
+endef
+
+define Copy_Licenses
+release32/$$(notdir $(1)): $(1)
+       $$(call checkdir,$$@)
+       $(ECHO_CMD)cp -f $$^ $$(dir $$@)
+endef
+
+$(foreach file,$(addprefix $(DEPKGS)/bin/, $(DEPKGS_BINARIES)),$(eval $(call Convert_Binary,$(file))))
+
+$(foreach file,$(addprefix $(DEPKGS)/bin/, $(NONGCC_BINARIES)),$(eval $(call Copy_Binary,$(file))))
+
+$(foreach file,$(addprefix $(DEPKGS)/lib/, $(NONGCC_LIBRARIES)),$(eval $(call Copy_Binary,$(file))))
+
+$(foreach file,$(addprefix $(BINDIR)/, $(BACULA_BINARIES)),$(eval $(call Convert_Binary,$(file))))
+
+$(foreach file,$(addprefix $(DEPKGS)/ssl/, $(SSL_FILES)),$(eval $(call Copy_Binary,$(file))))
+
+$(foreach file,$(addprefix ../scripts/, $(SCRIPT_FILES)),$(eval $(call Copy_Binary,$(file))))
+
+$(foreach file,$(addprefix ../cats/, $(CAT_FILES)),$(eval $(call Copy_Binary,$(file))))
+
+$(foreach file,$(addprefix ../../dird/, $(DIRD_FILES)),$(eval $(call Copy_Binary,$(file))))
+
+$(foreach file,$(addprefix $(MAINDIR)/, $(LICENSE_FILES)),$(eval $(call Copy_Licenses,$(file))))
+
+#$(foreach file,$(DOC_FILES),$(eval $(call Copy_Docs,$(file))))
+
+
+$(INSTALL_EXE): winbacula.nsi $(addprefix release32/,$(BACULA_BINARIES) $(SCRIPT_FILES) $(CAT_FILES) $(DEPKGS_BINARIES) $(NONGCC_BINARIES) $(NONGCC_LIBRARIES) $(MINGW_BINARIES) $(SSL_FILES) $(DIRD_FILES) $(LICENSE_FILES) )
+       echo "makensis -V3 $(DEFINES) winbacula.nsi"
+       makensis -V3 $(DEFINES) winbacula.nsi
+
+include $(BUILDDIR)/Makefile.rules