'Use msvc 2017 community edition (mainly for x64 support, but it's also the latest/greatest). ' MX2_USE_MSVC=0 'Build architecture: x86 or x64, x64 only working with msvc. ' MX2_ARCH_WINDOWS=x86 'Semi-colon separated list of module root dirs, relative to MX2_HOME or absolute. ' 'mx2cc always adds local modules/ dir to start of list. ' 'MX2_MODULE_DIRS=modules;modules_ext 'If you change anything below, you should rebuild all! '***** WINDOWS DESKTOP TARGET - MINGW ***** 'Note: Requires MinGW compilers+build tools, see: http://monkeycoder.co.nz/monkey2-files. ' '(Note: TDM GCC not recommended, as it uses SJLJ exceptions which are very slow) ' PATH=${MX2_HOME}\devtools\i686-6.2.0-posix-dwarf-rt_v5-rev1\mingw32\bin;${PATH} 'Need this to override installed mingw. ' GCC_EXEC_PREFIX= 'Linker options MX2_LD_OPTS_WINDOWS=-s -static -m32 MX2_LD_OPTS_WINDOWS_DEBUG= MX2_LD_OPTS_WINDOWS_RELEASE= 'C Compiler options. Note: -D_WIN32_WINNT=0x0601 means headers for Windows 7, ie: Windows 7 is min SDK! MX2_CC_OPTS_WINDOWS=-std=gnu99 -D_WIN32_WINNT=0x0603 -m32 MX2_CC_OPTS_WINDOWS_DEBUG=-O2 MX2_CC_OPTS_WINDOWS_RELEASE=-O3 -DNDEBUG 'C++ Compiler options MX2_CPP_OPTS_WINDOWS=-std=c++11 -D_WIN32_WINNT=0x0603 -m32 MX2_CPP_OPTS_WINDOWS_DEBUG=-O2 MX2_CPP_OPTS_WINDOWS_RELEASE=-O3 -DNDEBUG '***** WINDOWS DESKTOP TARGET - MSVC ***** 'directories MX2_MSVC_DIR=${ProgramFiles(x86)}\Microsoft Visual Studio\2017\Community\VC 'For Visual Studio Community Edition 2017 15.6.2 MX2_MSVC_TOOLS_DIR=${MX2_MSVC_DIR}\Tools\MSVC\14.13.26128 MX2_WINDOWS_KITS_DIR=${ProgramFiles(x86)}\Windows Kits\10 MX2_WINDOWS_KIT=10.0.16299.0 'Linker options MX2_LD_OPTS_MSVC= MX2_LD_OPTS_MSVC_DEBUG= MX2_LD_OPTS_MSVC_RELEASE= 'C Compiler options MX2_CC_OPTS_MSVC=-EHs -W0 -MT -utf-8 -bigobj MX2_CC_OPTS_MSVC_DEBUG=-O1 MX2_CC_OPTS_MSVC_RELEASE=-O2 -DNDEBUG 'C++ Compiler options MX2_CPP_OPTS_MSVC=-EHs -W0 -MT -utf-8 -bigobj MX2_CPP_OPTS_MSVC_DEBUG=-O1 MX2_CPP_OPTS_MSVC_RELEASE=-O2 -DNDEBUG 'assembler opts MX2_AS_OPTS_MSVC=-DBOOST_CONTEXT_EXPORT= '***** MSVC X86 PATHS ***** MX2_MSVC_PATH_X86=${MX2_MSVC_TOOLS_DIR}\bin\Hostx86\x86 MX2_MSVC_INCLUDE_X86=${MX2_MSVC_TOOLS_DIR}\include; MX2_MSVC_INCLUDE_X86=${MX2_MSVC_INCLUDE_X86}${MX2_WINDOWS_KITS_DIR}\Include\${MX2_WINDOWS_KIT}\ucrt; MX2_MSVC_INCLUDE_X86=${MX2_MSVC_INCLUDE_X86}${MX2_WINDOWS_KITS_DIR}\Include\${MX2_WINDOWS_KIT}\shared; MX2_MSVC_INCLUDE_X86=${MX2_MSVC_INCLUDE_X86}${MX2_WINDOWS_KITS_DIR}\Include\${MX2_WINDOWS_KIT}\um; MX2_MSVC_LIB_X86=${MX2_MSVC_TOOLS_DIR}\lib\x86; MX2_MSVC_LIB_X86=${MX2_MSVC_LIB_X86}${MX2_WINDOWS_KITS_DIR}\Lib\${MX2_WINDOWS_KIT}\ucrt\x86; MX2_MSVC_LIB_X86=${MX2_MSVC_LIB_X86}${MX2_WINDOWS_KITS_DIR}\Lib\${MX2_WINDOWS_KIT}\um\x86; '***** MSVC X64 PATHS ***** MX2_MSVC_PATH_X64=${MX2_MSVC_TOOLS_DIR}\bin\Hostx64\x64 MX2_MSVC_INCLUDE_X64=${MX2_MSVC_TOOLS_DIR}\include; MX2_MSVC_INCLUDE_X64=${MX2_MSVC_INCLUDE_X64}${MX2_WINDOWS_KITS_DIR}\Include\${MX2_WINDOWS_KIT}\ucrt; MX2_MSVC_INCLUDE_X64=${MX2_MSVC_INCLUDE_X64}${MX2_WINDOWS_KITS_DIR}\Include\${MX2_WINDOWS_KIT}\um; MX2_MSVC_INCLUDE_X64=${MX2_MSVC_INCLUDE_X64}${MX2_WINDOWS_KITS_DIR}\Include\${MX2_WINDOWS_KIT}\shared; MX2_MSVC_LIB_X64=${MX2_MSVC_TOOLS_DIR}\lib\x64; MX2_MSVC_LIB_X64=${MX2_MSVC_LIB_X64}${MX2_WINDOWS_KITS_DIR}\Lib\${MX2_WINDOWS_KIT}\ucrt\x64; MX2_MSVC_LIB_X64=${MX2_MSVC_LIB_X64}${MX2_WINDOWS_KITS_DIR}\Lib\${MX2_WINDOWS_KIT}\um\x64; '***** EMSCRIPTEN TARGET ***** 'This is for the emsdk download available at http://monkeycoder.co.nz/monkey2-files/ ' 'If you have a different emscripten installation installed that you want to use, comment this lot out. ' EMSDK=${MX2_HOME}\devtools\emsdk-1.37.35_64bit EM_CONFIG=${EMSDK}\.emscripten BINARYEN_ROOT = ${EMSDK}\clang\e1.37.35_64bit\binaryen JAVA_HOME = ${EMSDK}\java\8.152_64bit EMSCRIPTEN = ${EMSDK}\emscripten\1.37.35 PATH=${EMSDK};${PATH} PATH=${EMSDK}\clang\e1.37.35_64bit;${PATH} PATH=${EMSDK}\node\8.9.1_64bit\bin;${PATH} PATH=${EMSDK}\python\2.7.5.3_64bit;${PATH} PATH=${EMSDK}\java\8.152_64bit\bin;${PATH} PATH=${EMSDK}\emscripten\1.37.35;${PATH} 'Add mserver_winnt emscripten mini-server/launcher. ' MX2_MSERVER="${MX2_HOME}\devtools\mserver-v86c\mserver_winnt.exe" 'If you have installed the emsdk download from monkeycoder, you can use this one instead... ' 'MX2_MSERVER="${EMSDK}\mserver-v86c\mserver_winnt.exe" 'Linker options MX2_LD_OPTS_EMSCRIPTEN=-s USE_SDL=2 -s TOTAL_MEMORY=536870912 -s DISABLE_EXCEPTION_CATCHING=1 MX2_LD_OPTS_EMSCRIPTEN_WASM=-s BINARYEN=1 MX2_LD_OPTS_EMSCRIPTEN_DEBUG=-O2 -s ASSERTIONS=2 MX2_LD_OPTS_EMSCRIPTEN_RELEASE=-O3 'C Compiler options MX2_CC_OPTS_EMSCRIPTEN=-std=gnu99 -s USE_SDL=2 -s TOTAL_MEMORY=536870912 -s DISABLE_EXCEPTION_CATCHING=1 MX2_CC_OPTS_EMSCRIPTEN_DEBUG=-O2 MX2_CC_OPTS_EMSCRIPTEN_RELEASE=-O3 -DNDEBUG 'C++ Compiler options MX2_CPP_OPTS_EMSCRIPTEN=-std=c++11 -Wno-all -s USE_SDL=2 -s TOTAL_MEMORY=536870912 -s DISABLE_EXCEPTION_CATCHING=1 MX2_CPP_OPTS_EMSCRIPTEN_DEBUG=-O2 MX2_CPP_OPTS_EMSCRIPTEN_RELEASE=-O3 -DNDEBUG '***** ANDROID TARGET ***** 'Note: Requires Android Studio + Android NDK, see: https://developer.android.com/studio/index.html 'This is where *my* ndk-bundle is located - yours is probably somewhere else! ' 'For android builds, you need to either set this correctly or make sure 'ndk-build' is available from the command line. ' 'PATH=D:\devtools\Android\sdk\ndk-bundle;${PATH} 'Controls APP_ABI in Application.mk for NDK ' MX2_ANDROID_APP_ABI=armeabi-v7a x86 'MX2_ANDROID_APP_ABI=all 'Controls APP_PLATFORM in Application.mk for NDK ' MX2_ANDROID_APP_PLATFORM=android-14 'Android app compiler Compiler flags ' MX2_ANDROID_APP_CFLAGS=-std=gnu99 -fno-stack-protector -w MX2_ANDROID_APP_CPPFLAGS=-std=c++11 -fno-stack-protector -frtti -fexceptions -w 'Controls version of STL used by android apps. ' MX2_ANDROID_APP_STL=c++_static '***** RASPBIAN ***** MX2_RASPBIAN_TOOLS=${MX2_HOME}\devtools\SysGCC\Raspberry\bin 'Linker options MX2_LD_OPTS_RASPBIAN=-s -static MX2_LD_OPTS_RASPBIAN_DEBUG= MX2_LD_OPTS_RASPBIAN_RELEASE= 'C Compiler options MX2_CC_OPTS_RASPBIAN=-std=gnu99 MX2_CC_OPTS_RASPBIAN_DEBUG=-Os MX2_CC_OPTS_RASPBIAN_RELEASE=-O3 -DNDEBUG 'C++ Compiler options MX2_CPP_OPTS_RASPBIAN=-std=c++11 MX2_CPP_OPTS_RASPBIAN_DEBUG=-Os MX2_CPP_OPTS_RASPBIAN_RELEASE=-O3 -DNDEBUG