# $Id: Makefile.msvc 22581 2011-06-13 10:35:19Z rubidium $

# This file is part of OpenTTD.
# OpenTTD is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 2.
# OpenTTD is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
# See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with OpenTTD. If not, see <http://www.gnu.org/licenses/>.

#
# Makefile for creating bundles of MSVC's binaries in the same way as we make
# the zip bundles for ALL other OSes.
#
# Usage: make -f Makefile.msvc PLATFORM=[Win32|x64] BUNDLE_NAME=openttd-<version>-win[32|64]
#   or   make -f Makefile.msvc PLATFORM=[Win32|x64] BUNDLE_NAME=OTTD-win[32|64]-nightly-<revision>
#

# Check if we want to show what we are doing
ifdef VERBOSE
	Q =
else
	Q = @
endif

AWK         = "awk"
ROOT_DIR   := $(shell pwd)
BIN_DIR     = "$(ROOT_DIR)/bin"
SRC_DIR     = "$(ROOT_DIR)/src"
BUNDLE_DIR  = "$(ROOT_DIR)/bundle"
BUNDLES_DIR = "$(ROOT_DIR)/bundles"
TTD         = openttd.exe
PDB         = openttd.pdb
MODE        = Release
TARGET     := $(shell echo $(PLATFORM) | sed "s@win64@x64@;s@win32@Win32@")

all:
	$(Q)cp objs/$(TARGET)/$(MODE)/$(TTD) $(BIN_DIR)/$(TTD)

include Makefile.bundle.in

bundle_pdb:
	@echo '[BUNDLE] Creating $(BUNDLE_NAME).pdb.xz'
	$(Q)mkdir -p "$(BUNDLES_DIR)"
	$(Q)cp objs/$(TARGET)/Release/$(PDB) $(BUNDLES_DIR)/$(BUNDLE_NAME).pdb
	$(Q)xz -9 $(BUNDLES_DIR)/$(BUNDLE_NAME).pdb

regression: all
	$(Q)cp bin/$(TTD) bin/openttd
	$(Q)cd bin && sh ai/regression/run.sh
