]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/win32/Makefile.inc.in
Separate object/binaries in Win32 and Win64 builds. More to be done.
[bacula/bacula] / bacula / src / win32 / Makefile.inc.in
1 #
2 # Makefile for win32 bacula executables
3 # Using MinGW cross-compiler on GNU/Linux
4 #
5 #  Written by Robert Nelson, June 2006
6 #  Absolute paths used in place of relative paths
7 #      Kern Sibbald, October 2008
8 #
9
10 # Global Configuration
11
12 ECHO_CMD = @
13
14 # Main Bacula source dir
15 MAINDIR := @WIN32MAINDIR@
16 #
17 # Build dir -- i.e. normally  src/win32
18 BUILDDIR := @WIN32BUILDDIR@
19 #
20 # Dir above Bacula where we find depkgs
21 TOPDIR := @WIN32TOPDIR@
22 #
23 # where we find depkgs
24 DEPKGS := $(TOPDIR)/@WIN32DEPKGS@
25 DEPKGS32 := $(TOPDIR)/@WIN32DEPKGS32@
26
27 DOCDIR := $(TOPDIR)/docs
28
29 MINGW_BIN := @WIN32BINDIR@
30 MINGW_INCLUDE := @WIN32INCDIR@
31 MINGW_DLLDIR := @WIN32DLLDIR@
32
33 CC = $(MINGW_BIN)/mingw32-g++ $(DEFINES) $(INCLUDES)
34 CXX = $(MINGW_BIN)/mingw32-g++ $(DEFINES) $(INCLUDES)
35 AR := $(MINGW_BIN)/mingw32-ar
36 RANLIB := $(MINGW_BIN)/mingw32-ranlib
37 WINDRES := $(MINGW_BIN)/mingw32-windres
38 DLLTOOL := $(MINGW_BIN)/mingw32-dlltool
39 OBJCPY := $(MINGW_BIN)/mingw32-objcopy
40 NSIS_DIR := $(DEPKGS32)/nsis
41 STAB2CV := $(DEPKGS32)/tools/bin/stab2cv
42
43 WIN64=@WIN64@
44
45 ifeq ($(WIN64),yes)
46    CFLAGS := -g -Wall -mno-cygwin -mthreads -O3 -fno-strict-aliasing -DHAVE_VSS64
47    LIBS_NETWORK := -lws2_32
48    WIN_VERSION := 64
49    BINDIR := $(BUILDDIR)/release64
50    LIBDIR := $(BUILDDIR)/release64
51    OBJDIR := obj64
52 else
53    CFLAGS := -g -Wall -mno-cygwin -m32 -mwin32 -mthreads -O3 -fno-strict-aliasing
54    LIBS_NETWORK := -lwsock32
55    WIN_VERSION := 32
56    BINDIR := $(BUILDDIR)/release32
57    LIBDIR := $(BUILDDIR)/release32
58    OBJDIR := obj32
59 endif
60
61 LDFLAGS := -g -Wall -mno-cygwin -Wl,--disable-auto-import
62
63 INCLUDE_DDK := -I$(MINGW_INCLUDE)/ddk
64 INCLUDE_BACULA := -I$(MAINDIR)/src -I$(BUILDDIR)/compat
65 INCLUDE_PTHREADS := -I$(DEPKGS)/include/pthreads
66 INCLUDE_ZLIB := -I$(DEPKGS)/include
67 INCLUDE_VSS := -I$(DEPKGS)/vss
68 INCLUDE_ICONS := -I../libwin32
69 INCLUDE_OPENSSL := -I$(DEPKGS)/include
70 INCLUDE_WX := -I$(DEPKGS)/lib/wx_dll/msw -I$(DEPKGS)/include
71 INCLUDE_MYSQL := -I$(DEPKGS)/include/mysql
72
73 LIBS_DB := \
74         $(DEPKGS)/lib/libdb.a
75
76 LIBS_PTHREADS := \
77         $(DEPKGS)/lib/libpthreadGCE.a
78
79 LIBS_ZLIB := \
80         $(DEPKGS)/lib/libz.a
81
82 LIBS_MYSQL := \
83         $(DEPKGS)/lib/libmysql.a
84
85 LIBS_POSTGRESQL := \
86         $(DEPKGS)/lib/libpq.a
87
88 LIBS_SQLITE := \
89         $(DEPKGS)/lib/libsqlite3.a
90
91 LIBS_SSL := \
92         $(DEPKGS)/lib/libssl.dll.a
93
94 LIBS_CRYPTO := \
95         $(DEPKGS)/lib/libcrypto.dll.a
96
97 LIBS_WX := \
98         $(DEPKGS)/lib/wx_dll/libwxmsw28_core.a \
99         $(DEPKGS)/lib/wx_dll/libwxbase28.a
100
101 LIBS_CATS := \
102         $(LIBDIR)/libcats.a
103
104 LIBS_BACULA := \
105         $(LIBDIR)/libbacula.a
106
107 HAVES := \
108         -DHAVE_WIN32 \
109         -DHAVE_MINGW \
110         -DHAVE_ZLIB_H \
111         -DHAVE_LIBZ \
112         -DHAVE_CRYPTO \
113         -DHAVE_OPENSSL \
114         -DHAVE_TLS