# 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
DEPKGS32 := $(TOPDIR)/@WIN32DEPKGS32@
DOCDIR := $(TOPDIR)/docs
-BINDIR := $(BUILDDIR)/release
-LIBDIR := $(BUILDDIR)/release
-OBJDIR := .
MINGW_BIN := @WIN32BINDIR@
MINGW_INCLUDE := @WIN32INCDIR@
OBJCPY := $(MINGW_BIN)/mingw32-objcopy
NSIS_DIR := $(DEPKGS32)/nsis
STAB2CV := $(DEPKGS32)/tools/bin/stab2cv
+
WIN64=@WIN64@
ifeq ($(WIN64),yes)
- CFLAGS := -g -Wall -mno-cygwin -mthreads -O3 -fno-strict-aliasing -DHAVE_VSS64
- LIBS_NETWORK := -lws2_32
- WIN_VERSION := 64
+ CFLAGS := -g -Wall -mno-cygwin -mthreads -O3 -fno-strict-aliasing -DHAVE_VSS64 -Wno-unknown-pragmas
+ LIBS_NETWORK := -lws2_32
+ WIN_VERSION := 64
+ BINDIR := $(BUILDDIR)/release64
+ LIBDIR := $(BUILDDIR)/release64
+ OBJDIR := obj64
else
- CFLAGS := -g -Wall -mno-cygwin -m32 -mwin32 -mthreads -O3 -fno-strict-aliasing
- LIBS_NETWORK := -lwsock32
- WIN_VERSION := 32
+ CFLAGS := -g -Wall -mno-cygwin -m32 -mwin32 -mthreads -O3 -fno-strict-aliasing -Wno-unknown-pragmas
+ LIBS_NETWORK := -lwsock32
+ WIN_VERSION := 32
+ BINDIR := $(BUILDDIR)/release32
+ LIBDIR := $(BUILDDIR)/release32
+ OBJDIR := obj32
endif
+bat=@BAT@
+
+ifeq ($(bat),no)
+ BUILD_BAT=no
+else
+ BUILD_BAT=yes
+endif
+
+OBJDIRS := obj32 obj64
+
LDFLAGS := -g -Wall -mno-cygwin -Wl,--disable-auto-import
INCLUDE_DDK := -I$(MINGW_INCLUDE)/ddk