]> git.sur5r.net Git - bacula/bacula/blob - bacula/src/win32/Makefile.inc.in
Tweak fix MySQL quoting again :-(
[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 #
7 #  Absolute paths used in place of relative paths
8 #      Kern Sibbald, October 2008
9 #   Split Win32 and Win64 objects and binaries. However
10 #     the clean is a significant kludge -- hard coded.
11 #     The object directories are deleted during make clean,
12 #     so don't point them to any source directory.
13 #
14
15 # Global Configuration
16
17 ECHO_CMD = @
18
19 # Main Bacula source dir
20 MAINDIR := @WIN32MAINDIR@
21 #
22 # Build dir -- i.e. normally  src/win32
23 BUILDDIR := @WIN32BUILDDIR@
24 #
25 # Dir above Bacula where we find depkgs
26 TOPDIR := @WIN32TOPDIR@
27 #
28 # where we find depkgs
29 DEPKGS := $(TOPDIR)/@WIN32DEPKGS@
30 DEPKGS32 := $(TOPDIR)/@WIN32DEPKGS32@
31
32 DOCDIR := $(TOPDIR)/docs
33
34 MINGW_BIN := @WIN32BINDIR@
35 MINGW_INCLUDE := @WIN32INCDIR@
36 MINGW_DLLDIR := @WIN32DLLDIR@
37
38 CC = $(MINGW_BIN)/mingw32-g++ $(DEFINES) $(INCLUDES)
39 CXX = $(MINGW_BIN)/mingw32-g++ $(DEFINES) $(INCLUDES)
40 AR := $(MINGW_BIN)/mingw32-ar
41 RANLIB := $(MINGW_BIN)/mingw32-ranlib
42 WINDRES := $(MINGW_BIN)/mingw32-windres
43 DLLTOOL := $(MINGW_BIN)/mingw32-dlltool
44 OBJCPY := $(MINGW_BIN)/mingw32-objcopy
45 NSIS_DIR := $(DEPKGS32)/nsis
46 STAB2CV := $(DEPKGS32)/tools/bin/stab2cv
47
48 WIN64=@WIN64@
49
50 ifeq ($(WIN64),yes)
51    CFLAGS := -g -Wall -mno-cygwin -mthreads -O3 -fno-strict-aliasing -DHAVE_VSS64 -Wno-unknown-pragmas
52    LIBS_NETWORK := -lws2_32
53    WIN_VERSION := 64
54    BINDIR := $(BUILDDIR)/release64
55    LIBDIR := $(BUILDDIR)/release64
56    OBJDIR := obj64
57 else
58    CFLAGS := -g -Wall -mno-cygwin -m32 -mwin32 -mthreads -O3 -fno-strict-aliasing -Wno-unknown-pragmas
59    LIBS_NETWORK := -lwsock32
60    WIN_VERSION := 32
61    BINDIR := $(BUILDDIR)/release32
62    LIBDIR := $(BUILDDIR)/release32
63    OBJDIR := obj32
64 endif
65
66 bat=@BAT@
67
68 ifeq ($(bat),no)
69    BUILD_BAT=no
70 else
71    BUILD_BAT=yes
72 endif
73
74 OBJDIRS := obj32 obj64
75
76 LDFLAGS := -g -Wall -mno-cygwin -Wl,--disable-auto-import
77
78 INCLUDE_DDK := -I$(MINGW_INCLUDE)/ddk
79 INCLUDE_BACULA := -I$(MAINDIR)/src -I$(BUILDDIR)/compat
80 INCLUDE_PTHREADS := -I$(DEPKGS)/include/pthreads
81 INCLUDE_ZLIB := -I$(DEPKGS)/include
82 INCLUDE_VSS := -I$(DEPKGS)/vss
83 INCLUDE_ICONS := -I../libwin32
84 INCLUDE_OPENSSL := -I$(DEPKGS)/include
85 INCLUDE_WX := -I$(DEPKGS)/lib/wx_dll/msw -I$(DEPKGS)/include
86 INCLUDE_MYSQL := -I$(DEPKGS)/include/mysql
87
88 LIBS_DB := \
89         $(DEPKGS)/lib/libdb.a
90
91 LIBS_PTHREADS := \
92         $(DEPKGS)/lib/libpthreadGCE.a
93
94 LIBS_ZLIB := \
95         $(DEPKGS)/lib/libz.a
96
97 LIBS_MYSQL := \
98         $(DEPKGS)/lib/libmysql.a
99
100 LIBS_POSTGRESQL := \
101         $(DEPKGS)/lib/libpq.a
102
103 LIBS_SQLITE := \
104         $(DEPKGS)/lib/libsqlite3.a
105
106 LIBS_SSL := \
107         $(DEPKGS)/lib/libssl.dll.a
108
109 LIBS_CRYPTO := \
110         $(DEPKGS)/lib/libcrypto.dll.a
111
112 LIBS_WX := \
113         $(DEPKGS)/lib/wx_dll/libwxmsw28_core.a \
114         $(DEPKGS)/lib/wx_dll/libwxbase28.a
115
116 LIBS_CATS := \
117         $(LIBDIR)/libcats.a
118
119 LIBS_BACULA := \
120         $(LIBDIR)/libbacula.a
121
122 HAVES := \
123         -DHAVE_WIN32 \
124         -DHAVE_MINGW \
125         -DHAVE_ZLIB_H \
126         -DHAVE_LIBZ \
127         -DHAVE_CRYPTO \
128         -DHAVE_OPENSSL \
129         -DHAVE_TLS