groundwork for ARM support in prefab builds

This commit is contained in:
Eric Froemling 2020-10-10 14:53:24 -07:00
parent c549d2f372
commit 94dce555c8
6 changed files with 278 additions and 178 deletions

View File

@ -3932,16 +3932,16 @@
"assets/build/windows/Win32/ucrtbased.dll": "https://files.ballistica.net/cache/ba1/b5/85/f8b6d0558ddb87267f34254b1450",
"assets/build/windows/Win32/vc_redist.x86.exe": "https://files.ballistica.net/cache/ba1/1c/e1/4a1a2eddda2f4aebd5f8b64ab08e",
"assets/build/windows/Win32/vcruntime140d.dll": "https://files.ballistica.net/cache/ba1/50/8d/bc2600ac9491f1b14d659709451f",
"build/prefab/linux-server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/ac/96/c3b9934061393fe09cc90ff24b8d",
"build/prefab/linux-server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/38/2b/5641b3b40846f74f232771ac0457",
"build/prefab/linux/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/26/3b/ea7dd76e5cf6407dc7e20576f191",
"build/prefab/linux/release/ballisticacore": "https://files.ballistica.net/cache/ba1/ed/2a/ba83223990092ce3a4eafd491c76",
"build/prefab/mac-server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/fe/cd/67cb2a544dada857323d01ff6337",
"build/prefab/mac-server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/fc/8c/2bbe38abf6f4e718f9af83d5b120",
"build/prefab/mac/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/3d/9a/ed85e7110f940e24a3358fd01b39",
"build/prefab/mac/release/ballisticacore": "https://files.ballistica.net/cache/ba1/f7/94/406ef9f6014282c1852190765faf",
"build/prefab/windows-server/debug/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/ef/13/78a497e9a6055369470bf58d318e",
"build/prefab/windows-server/release/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/10/42/5a50d344b3adb1441bbd14e244ed",
"build/prefab/windows/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/3f/00/85d7560c026c81847d6591ab2c7f",
"build/prefab/windows/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/80/fb/f7017b6091830f47194a37e5d63f"
"build/prefab/linux_x86_64/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/a7/be/d2d88cedd80218236cace5782990",
"build/prefab/linux_x86_64/release/ballisticacore": "https://files.ballistica.net/cache/ba1/be/9d/3dc0431a002e197163134a5dc881",
"build/prefab/linux_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/c0/d3/95030ef9319c3c8ed13e75254583",
"build/prefab/linux_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/01/f7/170ffdbec21643a4a80e181023b3",
"build/prefab/mac_x86_64/debug/ballisticacore": "https://files.ballistica.net/cache/ba1/9c/62/c7a083e3aa2f93005c5354678207",
"build/prefab/mac_x86_64/release/ballisticacore": "https://files.ballistica.net/cache/ba1/e5/c4/e5be2fa6ebe5ff81a99c3608a73d",
"build/prefab/mac_x86_64_server/debug/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/48/0e/902db411f7298917a8d3b0b13ec2",
"build/prefab/mac_x86_64_server/release/dist/ballisticacore_headless": "https://files.ballistica.net/cache/ba1/fd/0f/8bc3a7dc565a0dd376f124d747d5",
"build/prefab/windows_x86/debug/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/3c/78/d8cd734a0ccab60c2e0ea3a97370",
"build/prefab/windows_x86/release/BallisticaCore.exe": "https://files.ballistica.net/cache/ba1/2b/b7/c193aa65c8adf613f543036b8af4",
"build/prefab/windows_x86_server/debug/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/4c/37/68bc656f1f94994754301d0c742e",
"build/prefab/windows_x86_server/release/dist/ballisticacore_headless.exe": "https://files.ballistica.net/cache/ba1/15/d1/db8211bd2df1e435dcb7f6823fc2"
}

View File

@ -349,6 +349,7 @@
<w>cmds</w>
<w>cmembers</w>
<w>cmodel</w>
<w>cmpf</w>
<w>cnode</w>
<w>codecsmodule</w>
<w>codefilenames</w>
@ -2266,6 +2267,7 @@
<w>winempty</w>
<w>winnergroup</w>
<w>winnergroups</w>
<w>winplat</w>
<w>winplt</w>
<w>winprj</w>
<w>winprune</w>

404
Makefile
View File

@ -151,293 +151,388 @@ prefab-server-release-build:
# Specific platform prefab targets:
RUN_PREFAB_MAC_DEBUG = cd build/prefab/mac/debug && ./ballisticacore
RUN_PREFAB_MAC_X86_64_DEBUG = cd build/prefab/mac_x86_64/debug \
&& ./ballisticacore
prefab-mac-debug: prefab-mac-debug-build
@tools/pcommand ensure_prefab_platform mac
@${RUN_PREFAB_MAC_DEBUG}
RUN_PREFAB_MAC_ARM64_DEBUG = cd build/prefab/mac_arm64/debug \
&& ./ballisticacore
prefab-mac-debug-build: prereqs assets-cmake \
build/prefab/mac/debug/ballisticacore
@${STAGE_ASSETS} -cmake build/prefab/mac/debug
prefab-mac-x86-64-debug: prefab-mac-x86-64-debug-build
@tools/pcommand ensure_prefab_platform mac_x86_64
@${RUN_PREFAB_MAC_X86_64_DEBUG}
build/prefab/mac/debug/ballisticacore: .efrocachemap
prefab-mac-arm64-debug: prefab-mac-arm64-debug-build
@tools/pcommand ensure_prefab_platform mac_arm64
@${RUN_PREFAB_MAC_ARM64_DEBUG}
prefab-mac-x86-64-debug-build: prereqs assets-cmake \
build/prefab/mac_x86_64/debug/ballisticacore
@${STAGE_ASSETS} -cmake build/prefab/mac_x86_64/debug
prefab-mac-arm64-debug-build: prereqs assets-cmake \
build/prefab/mac_arm64/debug/ballisticacore
@${STAGE_ASSETS} -cmake build/prefab/mac_arm64/debug
build/prefab/mac_%/debug/ballisticacore: .efrocachemap
@tools/pcommand efrocache_get $@
RUN_PREFAB_MAC_RELEASE = cd build/prefab/mac/release && ./ballisticacore
RUN_PREFAB_MAC_X86_64_RELEASE = cd build/prefab/mac_x86_64/release \
&& ./ballisticacore
prefab-mac-release: prefab-mac-release-build
@tools/pcommand ensure_prefab_platform mac
@${RUN_PREFAB_MAC_RELEASE}
RUN_PREFAB_MAC_ARM64_RELEASE = cd build/prefab/mac_arm64/release \
&& ./ballisticacore
prefab-mac-release-build: prereqs assets-cmake \
build/prefab/mac/release/ballisticacore
@${STAGE_ASSETS} -cmake build/prefab/mac/release
prefab-mac-x86-64-release: prefab-mac-x86-64-release-build
@tools/pcommand ensure_prefab_platform mac_x86_64
@${RUN_PREFAB_MAC_X86_64_RELEASE}
build/prefab/mac/release/ballisticacore: .efrocachemap
prefab-mac-arm64-release: prefab-mac-arm64-release-build
@tools/pcommand ensure_prefab_platform mac_arm64
@${RUN_PREFAB_MAC_ARM64_RELEASE}
prefab-mac-x86-64-release-build: prereqs assets-cmake \
build/prefab/mac_x86_64/release/ballisticacore
@${STAGE_ASSETS} -cmake build/prefab/mac_x86_64/release
prefab-mac-arm64-release-build: prereqs assets-cmake \
build/prefab/mac_arm64/release/ballisticacore
@${STAGE_ASSETS} -cmake build/prefab/mac_arm64/release
build/prefab/mac_%/release/ballisticacore: .efrocachemap
@tools/pcommand efrocache_get $@
RUN_PREFAB_MAC_SERVER_DEBUG = cd build/prefab/mac-server/debug \
RUN_PREFAB_MAC_X86_64_SERVER_DEBUG = cd build/prefab/mac_x86_64_server/debug \
&& ./ballisticacore_server
prefab-mac-server-debug: prefab-mac-server-debug-build
@tools/pcommand ensure_prefab_platform mac
@${RUN_PREFAB_MAC_SERVER_DEBUG}
RUN_PREFAB_MAC_ARM64_SERVER_DEBUG = cd build/prefab/mac_arm64_server/debug \
&& ./ballisticacore_server
prefab-mac-server-debug-build: prereqs assets-cmake \
build/prefab/mac-server/debug/dist/ballisticacore_headless \
build/prefab/mac-server/debug/ballisticacore_server \
build/prefab/mac-server/debug/config_template.yaml \
build/prefab/mac-server/debug/README.txt
@${STAGE_ASSETS} -cmakeserver build/prefab/mac-server/debug/dist
prefab-mac-x86-64-server-debug: prefab-mac-x86-64-server-debug-build
@tools/pcommand ensure_prefab_platform mac_x86_64
@${RUN_PREFAB_MAC_X86_64_SERVER_DEBUG}
build/prefab/mac-server/debug/ballisticacore_server: \
prefab-mac-arm64-server-debug: prefab-mac-arm64-server-debug-build
@tools/pcommand ensure_prefab_platform mac_arm64
@${RUN_PREFAB_MAC_ARM64_SERVER_DEBUG}
prefab-mac-x86-64-server-debug-build: prereqs assets-cmake \
build/prefab/mac_x86_64_server/debug/dist/ballisticacore_headless \
build/prefab/mac_x86_64_server/debug/ballisticacore_server \
build/prefab/mac_x86_64_server/debug/config_template.yaml \
build/prefab/mac_x86_64_server/debug/README.txt
@${STAGE_ASSETS} -cmakeserver build/prefab/mac_x86_64_server/debug/dist
prefab-mac-arm64-server-debug-build: prereqs assets-cmake \
build/prefab/mac_arm64_server/debug/dist/ballisticacore_headless \
build/prefab/mac_arm64_server/debug/ballisticacore_server \
build/prefab/mac_arm64_server/debug/config_template.yaml \
build/prefab/mac_arm64_server/debug/README.txt
@${STAGE_ASSETS} -cmakeserver build/prefab/mac_arm64_server/debug/dist
build/prefab/mac_%_server/debug/ballisticacore_server: \
assets/src/server/ballisticacore_server.py tools/batools/pcommand.py
@tools/pcommand stage_server_file debug $< $@
build/prefab/mac-server/debug/config_template.yaml: \
build/prefab/mac_%_server/debug/config_template.yaml: \
assets/src/server/config_template.yaml \
tools/batools/build.py \
tools/batools/pcommand.py \
tools/bacommon/servermanager.py
@tools/pcommand stage_server_file debug $< $@
build/prefab/mac-server/debug/README.txt: \
build/prefab/mac_%_server/debug/README.txt: \
assets/src/server/README.txt
@cp $< $@
build/prefab/mac-server/debug/dist/ballisticacore_headless: .efrocachemap
build/prefab/mac_%_server/debug/dist/ballisticacore_headless: .efrocachemap
@tools/pcommand efrocache_get $@
RUN_PREFAB_MAC_SERVER_RELEASE = cd build/prefab/mac-server/release \
&& ./ballisticacore_server
RUN_PREFAB_MAC_X86_64_SERVER_RELEASE = cd \
build/prefab/mac_x86_64_server/release && ./ballisticacore_server
prefab-mac-server-release: prefab-mac-server-release-build
@tools/pcommand ensure_prefab_platform mac
@${RUN_PREFAB_MAC_SERVER_RELEASE}
RUN_PREFAB_MAC_ARM64_SERVER_RELEASE = cd \
build/prefab/mac_arm64_server/release && ./ballisticacore_server
prefab-mac-server-release-build: prereqs assets-cmake \
build/prefab/mac-server/release/dist/ballisticacore_headless \
build/prefab/mac-server/release/ballisticacore_server \
build/prefab/mac-server/release/config_template.yaml \
build/prefab/mac-server/release/README.txt
@${STAGE_ASSETS} -cmakeserver build/prefab/mac-server/release/dist
prefab-mac-x86-64-server-release: prefab-mac-x86-64-server-release-build
@tools/pcommand ensure_prefab_platform mac_x86_64
@${RUN_PREFAB_MAC_X86_64_SERVER_RELEASE}
build/prefab/mac-server/release/ballisticacore_server: \
prefab-mac-arm64-server-release: prefab-mac-arm64-server-release-build
@tools/pcommand ensure_prefab_platform mac_arm64
@${RUN_PREFAB_MAC_ARM64_SERVER_RELEASE}
prefab-mac-x86-64-server-release-build: prereqs assets-cmake \
build/prefab/mac_x86_64_server/release/dist/ballisticacore_headless \
build/prefab/mac_x86_64_server/release/ballisticacore_server \
build/prefab/mac_x86_64_server/release/config_template.yaml \
build/prefab/mac_x86_64_server/release/README.txt
@${STAGE_ASSETS} -cmakeserver build/prefab/mac_x86_64_server/release/dist
prefab-mac-arm64-server-release-build: prereqs assets-cmake \
build/prefab/mac_arm64_server/release/dist/ballisticacore_headless \
build/prefab/mac_arm64_server/release/ballisticacore_server \
build/prefab/mac_arm64_server/release/config_template.yaml \
build/prefab/mac_arm64_server/release/README.txt
@${STAGE_ASSETS} -cmakeserver build/prefab/mac_arm64_server/release/dist
build/prefab/mac_%_server/release/ballisticacore_server: \
assets/src/server/ballisticacore_server.py tools/batools/pcommand.py
@tools/pcommand stage_server_file release $< $@
build/prefab/mac-server/release/config_template.yaml: \
build/prefab/mac_%_server/release/config_template.yaml: \
assets/src/server/config_template.yaml \
tools/batools/build.py \
tools/batools/pcommand.py \
tools/bacommon/servermanager.py
@tools/pcommand stage_server_file release $< $@
build/prefab/mac-server/release/README.txt: \
build/prefab/mac_%_server/release/README.txt: \
assets/src/server/README.txt
@cp $< $@
build/prefab/mac-server/release/dist/ballisticacore_headless: .efrocachemap
build/prefab/mac_%_server/release/dist/ballisticacore_headless: .efrocachemap
@tools/pcommand efrocache_get $@
RUN_PREFAB_LINUX_DEBUG = cd build/prefab/linux/debug && ./ballisticacore
RUN_PREFAB_LINUX_X86_64_DEBUG = cd \
build/prefab/linux_x86_64/debug && ./ballisticacore
prefab-linux-debug: prefab-linux-debug-build
@tools/pcommand ensure_prefab_platform linux
@${RUN_PREFAB_LINUX_DEBUG}
RUN_PREFAB_LINUX_ARM64_DEBUG = cd \
build/prefab/linux_arm64/debug && ./ballisticacore
prefab-linux-debug-build: prereqs assets-cmake \
build/prefab/linux/debug/ballisticacore
@${STAGE_ASSETS} -cmake build/prefab/linux/debug
prefab-linux-x86-64-debug: prefab-linux-x86-64-debug-build
@tools/pcommand ensure_prefab_platform linux_x86_64
@${RUN_PREFAB_LINUX_X86_64_DEBUG}
build/prefab/linux/debug/ballisticacore: .efrocachemap
prefab-linux-arm64-debug: prefab-linux-arm64-debug-build
@tools/pcommand ensure_prefab_platform linux_arm64
@${RUN_PREFAB_LINUX_ARM64_DEBUG}
prefab-linux-x86-64-debug-build: prereqs assets-cmake \
build/prefab/linux_x86_64/debug/ballisticacore
@${STAGE_ASSETS} -cmake build/prefab/linux_x86_64/debug
prefab-linux-arm64-debug-build: prereqs assets-cmake \
build/prefab/linux_arm64/debug/ballisticacore
@${STAGE_ASSETS} -cmake build/prefab/linux_arm64/debug
build/prefab/linux_%/debug/ballisticacore: .efrocachemap
@tools/pcommand efrocache_get $@
RUN_PREFAB_LINUX_RELEASE = cd build/prefab/linux/release && ./ballisticacore
RUN_PREFAB_LINUX_X86_64_RELEASE = cd \
build/prefab/linux_x86_64/release && ./ballisticacore
prefab-linux-release: prefab-linux-release-build
@tools/pcommand ensure_prefab_platform linux
@${RUN_PREFAB_LINUX_RELEASE}
RUN_PREFAB_LINUX_ARM64_RELEASE = cd \
build/prefab/linux_arm64/release && ./ballisticacore
prefab-linux-release-build: prereqs assets-cmake \
build/prefab/linux/release/ballisticacore
@${STAGE_ASSETS} -cmake build/prefab/linux/release
prefab-linux-x86-64-release: prefab-linux-x86-64-release-build
@tools/pcommand ensure_prefab_platform linux_x86_64
@${RUN_PREFAB_LINUX_X86_64_RELEASE}
build/prefab/linux/release/ballisticacore: .efrocachemap
prefab-linux-arm64-release: prefab-linux-arm64-release-build
@tools/pcommand ensure_prefab_platform linux_arm64
@${RUN_PREFAB_LINUX_ARM64_RELEASE}
prefab-linux-x86-64-release-build: prereqs assets-cmake \
build/prefab/linux_x86_64/release/ballisticacore
@${STAGE_ASSETS} -cmake build/prefab/linux_x86_64/release
prefab-linux-arm64-release-build: prereqs assets-cmake \
build/prefab/linux_arm64/release/ballisticacore
@${STAGE_ASSETS} -cmake build/prefab/linux_arm64/release
build/prefab/linux_%/release/ballisticacore: .efrocachemap
@tools/pcommand efrocache_get $@
RUN_PREFAB_LINUX_SERVER_DEBUG = cd build/prefab/linux-server/debug \
&& ./ballisticacore_server
RUN_PREFAB_LINUX_X86_64_SERVER_DEBUG = cd \
build/prefab/linux_x86_64_server/debug && ./ballisticacore_server
prefab-linux-server-debug: prefab-linux-server-debug-build
@tools/pcommand ensure_prefab_platform linux
@${RUN_PREFAB_LINUX_SERVER_DEBUG}
RUN_PREFAB_LINUX_ARM64_SERVER_DEBUG = cd \
build/prefab/linux_arm64_server/debug && ./ballisticacore_server
prefab-linux-server-debug-build: prereqs assets-cmake \
build/prefab/linux-server/debug/dist/ballisticacore_headless \
build/prefab/linux-server/debug/ballisticacore_server \
build/prefab/linux-server/debug/config_template.yaml \
build/prefab/linux-server/debug/README.txt
@${STAGE_ASSETS} -cmakeserver build/prefab/linux-server/debug/dist
prefab-linux-x86-64-server-debug: prefab-linux-x86-64-server-debug-build
@tools/pcommand ensure_prefab_platform linux_x86_64
@${RUN_PREFAB_LINUX_X86_64_SERVER_DEBUG}
build/prefab/linux-server/debug/ballisticacore_server: \
prefab-linux-arm64-server-debug: prefab-linux-arm64-server-debug-build
@tools/pcommand ensure_prefab_platform linux_arm64
@${RUN_PREFAB_LINUX_ARM64_SERVER_DEBUG}
prefab-linux-x86-64-server-debug-build: prereqs assets-cmake \
build/prefab/linux_x86_64_server/debug/dist/ballisticacore_headless \
build/prefab/linux_x86_64_server/debug/ballisticacore_server \
build/prefab/linux_x86_64_server/debug/config_template.yaml \
build/prefab/linux_x86_64_server/debug/README.txt
@${STAGE_ASSETS} -cmakeserver build/prefab/linux_x86_64_server/debug/dist
prefab-linux-arm64-server-debug-build: prereqs assets-cmake \
build/prefab/linux_arm64_server/debug/dist/ballisticacore_headless \
build/prefab/linux_arm64_server/debug/ballisticacore_server \
build/prefab/linux_arm64_server/debug/config_template.yaml \
build/prefab/linux_arm64_server/debug/README.txt
@${STAGE_ASSETS} -cmakeserver build/prefab/linux_arm64_server/debug/dist
build/prefab/linux_%_server/debug/ballisticacore_server: \
assets/src/server/ballisticacore_server.py tools/batools/pcommand.py
@tools/pcommand stage_server_file debug $< $@
build/prefab/linux-server/debug/config_template.yaml: \
build/prefab/linux_%_server/debug/config_template.yaml: \
assets/src/server/config_template.yaml \
tools/batools/build.py \
tools/batools/pcommand.py \
tools/bacommon/servermanager.py
@tools/pcommand stage_server_file debug $< $@
build/prefab/linux-server/debug/README.txt: \
build/prefab/linux_%_server/debug/README.txt: \
assets/src/server/README.txt
@cp $< $@
build/prefab/linux-server/debug/dist/ballisticacore_headless: .efrocachemap
build/prefab/linux_%_server/debug/dist/ballisticacore_headless: .efrocachemap
@tools/pcommand efrocache_get $@
RUN_PREFAB_LINUX_SERVER_RELEASE = cd build/prefab/linux-server/release \
&& ./ballisticacore_server
RUN_PREFAB_LINUX_X86_64_SERVER_RELEASE = cd \
build/prefab/linux_x86_64_server/release && ./ballisticacore_server
prefab-linux-server-release: prefab-linux-server-release-build
@tools/pcommand ensure_prefab_platform linux
@${RUN_PREFAB_LINUX_SERVER_RELEASE}
RUN_PREFAB_LINUX_ARM64_SERVER_RELEASE = cd \
build/prefab/linux_arm64_server/release && ./ballisticacore_server
prefab-linux-server-release-build: prereqs assets-cmake \
build/prefab/linux-server/release/dist/ballisticacore_headless \
build/prefab/linux-server/release/ballisticacore_server \
build/prefab/linux-server/release/config_template.yaml \
build/prefab/linux-server/release/README.txt
@${STAGE_ASSETS} -cmakeserver build/prefab/linux-server/release/dist
prefab-linux-x86-64-server-release: prefab-linux-x86-64-server-release-build
@tools/pcommand ensure_prefab_platform linux_x86_64
@${RUN_PREFAB_LINUX_X86_64_SERVER_RELEASE}
build/prefab/linux-server/release/ballisticacore_server: \
prefab-linux-x86-64-server-release-build: prereqs assets-cmake \
build/prefab/linux_x86_64_server/release/dist/ballisticacore_headless \
build/prefab/linux_x86_64_server/release/ballisticacore_server \
build/prefab/linux_x86_64_server/release/config_template.yaml \
build/prefab/linux_x86_64_server/release/README.txt
@${STAGE_ASSETS} -cmakeserver build/prefab/linux_x86_64_server/release/dist
build/prefab/linux_%_server/release/ballisticacore_server: \
assets/src/server/ballisticacore_server.py tools/batools/pcommand.py
@tools/pcommand stage_server_file release $< $@
build/prefab/linux-server/release/config_template.yaml: \
build/prefab/linux_%_server/release/config_template.yaml: \
assets/src/server/config_template.yaml \
tools/batools/build.py \
tools/batools/pcommand.py \
tools/bacommon/servermanager.py
@tools/pcommand stage_server_file release $< $@
build/prefab/linux-server/release/README.txt: \
build/prefab/linux_%_server/release/README.txt: \
assets/src/server/README.txt
@cp $< $@
build/prefab/linux-server/release/dist/ballisticacore_headless: .efrocachemap
build/prefab/linux_%_server/release/dist/ballisticacore_headless: .efrocachemap
@tools/pcommand efrocache_get $@
PREFAB_WINDOWS_PLATFORM = Win32
WINPLAT_X86 = Win32
RUN_PREFAB_WINDOWS_DEBUG = cd build/prefab/windows/debug && ./BallisticaCore.exe
RUN_PREFAB_WINDOWS_X86_DEBUG = cd build/prefab/windows_x86/debug \
&& ./BallisticaCore.exe
prefab-windows-debug: prefab-windows-debug-build
@tools/pcommand ensure_prefab_platform windows
@{RUN_PREFAB_WINDOWS_DEBUG}
prefab-windows-x86-debug: prefab-windows-x86-debug-build
@tools/pcommand ensure_prefab_platform windows_x86
@{RUN_PREFAB_WINDOWS_X86_DEBUG}
prefab-windows-debug-build: prereqs assets-windows-${PREFAB_WINDOWS_PLATFORM} \
build/prefab/windows/debug/BallisticaCore.exe
@${STAGE_ASSETS} -win-${PREFAB_WINDOWS_PLATFORM}-Debug \
build/prefab/windows/debug
prefab-windows-x86-debug-build: prereqs assets-windows-${WINPLAT_X86} \
build/prefab/windows_x86/debug/BallisticaCore.exe
@${STAGE_ASSETS} -win-${WINPLAT_X86}-Debug \
build/prefab/windows_x86/debug
build/prefab/windows/debug/BallisticaCore.exe: .efrocachemap
build/prefab/windows_x86/debug/BallisticaCore.exe: .efrocachemap
@tools/pcommand efrocache_get $@
RUN_PREFAB_WINDOWS_RELEASE = cd build/prefab/windows/release \
RUN_PREFAB_WINDOWS_X86_RELEASE = cd build/prefab/windows_x86/release \
&& ./BallisticaCore.exe
prefab-windows-release: prefab-windows-release-build
@tools/pcommand ensure_prefab_platform windows
@{RUN_PREFAB_WINDOWS_RELEASE}
prefab-windows-x86-release: prefab-windows-x86-release-build
@tools/pcommand ensure_prefab_platform windows_x86
@{RUN_PREFAB_WINDOWS_X86_RELEASE}
prefab-windows-release-build: prereqs \
assets-windows-${PREFAB_WINDOWS_PLATFORM} \
build/prefab/windows/release/BallisticaCore.exe
@${STAGE_ASSETS} -win-${PREFAB_WINDOWS_PLATFORM}-Release \
build/prefab/windows/release
prefab-windows-x86-release-build: prereqs \
assets-windows-${WINPLAT_X86} \
build/prefab/windows_x86/release/BallisticaCore.exe
@${STAGE_ASSETS} -win-${WINPLAT_X86}-Release \
build/prefab/windows_x86/release
build/prefab/windows/release/BallisticaCore.exe: .efrocachemap
build/prefab/windows_x86/release/BallisticaCore.exe: .efrocachemap
@tools/pcommand efrocache_get $@
RUN_PREFAB_WINDOWS_SERVER_DEBUG = cd build/prefab/windows-server/debug \
RUN_PREFAB_WINDOWS_X86_SERVER_DEBUG = cd build/prefab/windows_x86_server/debug \
&& dist/python.exe ballisticacore_server.py
prefab-windows-server-debug: prefab-windows-server-debug-build
@tools/pcommand ensure_prefab_platform windows
@{RUN_PREFAB_WINDOWS_SERVER_DEBUG}
prefab-windows-x86-server-debug: prefab-windows-x86-server-debug-build
@tools/pcommand ensure_prefab_platform windows_x86
@{RUN_PREFAB_WINDOWS_X86_SERVER_DEBUG}
prefab-windows-server-debug-build: prereqs \
assets-windows-${PREFAB_WINDOWS_PLATFORM} \
build/prefab/windows-server/debug/dist/ballisticacore_headless.exe \
build/prefab/windows-server/debug/launch_ballisticacore_server.bat \
build/prefab/windows-server/debug/ballisticacore_server.py \
build/prefab/windows-server/debug/config_template.yaml \
build/prefab/windows-server/debug/README.txt
@${STAGE_ASSETS} -winserver-${PREFAB_WINDOWS_PLATFORM}-Debug \
build/prefab/windows-server/debug/dist
prefab-windows-x86-server-debug-build: prereqs \
assets-windows-${WINPLAT_X86} \
build/prefab/windows_x86_server/debug/dist/ballisticacore_headless.exe \
build/prefab/windows_x86_server/debug/launch_ballisticacore_server.bat \
build/prefab/windows_x86_server/debug/ballisticacore_server.py \
build/prefab/windows_x86_server/debug/config_template.yaml \
build/prefab/windows_x86_server/debug/README.txt
@${STAGE_ASSETS} -winserver-${WINPLAT_X86}-Debug \
build/prefab/windows_x86_server/debug/dist
build/prefab/windows-server/debug/dist/ballisticacore_headless.exe: .efrocachemap
build/prefab/windows_x86_server/debug/dist/ballisticacore_headless.exe: .efrocachemap
@tools/pcommand efrocache_get $@
build/prefab/windows-server/debug/ballisticacore_server.py: \
build/prefab/windows_%_server/debug/ballisticacore_server.py: \
assets/src/server/ballisticacore_server.py tools/batools/pcommand.py
@tools/pcommand stage_server_file debug $< $@
build/prefab/windows-server/debug/launch_ballisticacore_server.bat: \
build/prefab/windows_%_server/debug/launch_ballisticacore_server.bat: \
assets/src/server/launch_ballisticacore_server.bat tools/batools/pcommand.py
@tools/pcommand stage_server_file debug $< $@
build/prefab/windows-server/debug/config_template.yaml: \
build/prefab/windows_%_server/debug/config_template.yaml: \
assets/src/server/config_template.yaml \
tools/batools/build.py \
tools/batools/pcommand.py \
tools/bacommon/servermanager.py
@tools/pcommand stage_server_file debug $< $@
build/prefab/windows-server/debug/README.txt: \
build/prefab/windows_%_server/debug/README.txt: \
assets/src/server/README.txt
@cp $< $@
RUN_PREFAB_WINDOWS_SERVER_RELEASE = cd build/prefab/windows-server/release \
&& dist/python.exe -O ballisticacore_server.py
RUN_PREFAB_WINDOWS_X86_SERVER_RELEASE = cd \
build/prefab/windows_x86_server/release \
&& dist/python.exe -O ballisticacore_server.py
prefab-windows-server-release: prefab-windows-server-release-build
@tools/pcommand ensure_prefab_platform windows
@{RUN_PREFAB_WINDOWS_SERVER_RELEASE}
prefab-windows-x86-server-release: prefab-windows-x86-server-release-build
@tools/pcommand ensure_prefab_platform windows_x86
@{RUN_PREFAB_WINDOWS_X86_SERVER_RELEASE}
prefab-windows-server-release-build: prereqs \
assets-windows-${PREFAB_WINDOWS_PLATFORM} \
build/prefab/windows-server/release/dist/ballisticacore_headless.exe \
build/prefab/windows-server/release/launch_ballisticacore_server.bat \
build/prefab/windows-server/release/ballisticacore_server.py \
build/prefab/windows-server/release/config_template.yaml \
build/prefab/windows-server/release/README.txt
@${STAGE_ASSETS} -winserver-${PREFAB_WINDOWS_PLATFORM}-Release \
build/prefab/windows-server/release/dist
prefab-windows-x86-server-release-build: prereqs \
assets-windows-${WINPLAT_X86} \
build/prefab/windows_x86_server/release/dist/ballisticacore_headless.exe \
build/prefab/windows_x86_server/release/launch_ballisticacore_server.bat \
build/prefab/windows_x86_server/release/ballisticacore_server.py \
build/prefab/windows_x86_server/release/config_template.yaml \
build/prefab/windows_x86_server/release/README.txt
@${STAGE_ASSETS} -winserver-${WINPLAT_X86}-Release \
build/prefab/windows_x86_server/release/dist
build/prefab/windows-server/release/dist/ballisticacore_headless.exe: .efrocachemap
build/prefab/windows_x86_server/release/dist/ballisticacore_headless.exe: .efrocachemap
@tools/pcommand efrocache_get $@
build/prefab/windows-server/release/ballisticacore_server.py: \
build/prefab/windows_%_server/release/ballisticacore_server.py: \
assets/src/server/ballisticacore_server.py tools/batools/pcommand.py
@tools/pcommand stage_server_file release $< $@
build/prefab/windows-server/release/launch_ballisticacore_server.bat: \
build/prefab/windows_%_server/release/launch_ballisticacore_server.bat: \
assets/src/server/launch_ballisticacore_server.bat tools/batools/pcommand.py
@tools/pcommand stage_server_file release $< $@
build/prefab/windows-server/release/config_template.yaml: \
build/prefab/windows_%_server/release/config_template.yaml: \
assets/src/server/config_template.yaml \
tools/batools/build.py \
tools/batools/pcommand.py \
tools/bacommon/servermanager.py
@tools/pcommand stage_server_file release $< $@
build/prefab/windows-server/release/README.txt: \
build/prefab/windows_%_server/release/README.txt: \
assets/src/server/README.txt
@cp $< $@
@ -768,19 +863,12 @@ ENV_SRC = tools/pcommand tools/batools/build.py
@mkdir -p .cache
@touch .cache/checkenv
# Tell make which of these targets don't represent files.
.PHONY:
################################################################################
# #
# Auxiliary #
# #
################################################################################
# CMake build-type lowercase
CM_BT_LC = $(shell echo $(CMAKE_BUILD_TYPE) | tr A-Z a-z)
# When using CLion, our cmake dir is root. Expose .clang-format there too.
ballisticacore-cmake/.clang-format: .clang-format
@cd ballisticacore-cmake && ln -sf ../.clang-format .
# Tell make which of these targets don't represent files.
.PHONY:

View File

@ -186,5 +186,5 @@ target_include_directories(ballisticacore PRIVATE
# NOTE: seems we need to add 'dl' here for raspberry pi with a manually
# built Python 3.8. Might be able to remove later.
target_link_libraries(ballisticacore PRIVATE
ballisticacore_private ode pthread ${Python_LIBRARIES}
ballisticacore_internal ode pthread ${Python_LIBRARIES}
${SDL2_LIBRARIES} ${EXTRA_LIBRARIES} dl)

View File

@ -455,19 +455,24 @@ def get_current_prefab_platform() -> str:
system = platform.system()
machine = platform.machine()
if system == 'Darwin':
# Currently there's just x86_64 on mac;
# will need to revisit when arm
# cpus happen.
return 'mac'
if machine == 'x86_64':
return 'mac_x86_64'
# TODO: add support for arm macs.
raise RuntimeError(f'make_prefab: unsupported mac machine type:'
f' {machine}.')
if system == 'Linux':
# If it looks like we're in Windows Subsystem for Linux,
# go with the Windows version.
if 'microsoft' in platform.uname().release.lower():
return 'windows'
# TODO: add support for arm windows
if machine == 'x86_64':
return 'windows_x86'
raise RuntimeError(f'make_prefab: unsupported win machine type:'
f' {machine}.')
# We currently only support x86_64 linux.
# TODO: add support for arm linux.
if machine == 'x86_64':
return 'linux'
return 'linux_x86_64'
raise RuntimeError(f'make_prefab: unsupported linux machine type:'
f' {machine}.')
raise RuntimeError(f'make_prefab: unrecognized platform:'

View File

@ -34,6 +34,8 @@ def stage_server_file() -> None:
print(f'Building server file: {os.path.basename(outfilename)}')
os.makedirs(os.path.dirname(outfilename), exist_ok=True)
basename = os.path.basename(infilename)
if basename == 'config_template.yaml':
# Inject all available config values into the config file.
@ -581,6 +583,9 @@ def make_prefab() -> None:
raise RuntimeError('Expected one argument')
target = batools.build.PrefabTarget(sys.argv[2])
platform = batools.build.get_current_prefab_platform()
# We use dashes instead of underscores in target names.
platform = platform.replace('_', '-')
try:
subprocess.run(['make', f'prefab-{platform}-{target.value}-build'],
check=True)