This commit is contained in:
Eric 2024-04-23 22:15:20 -07:00
parent 9bf0974eec
commit 80908ddbfc
No known key found for this signature in database
GPG Key ID: 89C93F0F8D6D5A98
11 changed files with 173 additions and 170 deletions

88
.efrocachemap generated
View File

@ -4056,50 +4056,50 @@
"build/assets/windows/Win32/ucrtbased.dll": "2def5335207d41b21b9823f6805997f1", "build/assets/windows/Win32/ucrtbased.dll": "2def5335207d41b21b9823f6805997f1",
"build/assets/windows/Win32/vc_redist.x86.exe": "b08a55e2e77623fe657bea24f223a3ae", "build/assets/windows/Win32/vc_redist.x86.exe": "b08a55e2e77623fe657bea24f223a3ae",
"build/assets/windows/Win32/vcruntime140d.dll": "865b2af4d1e26a1a8073c89acb06e599", "build/assets/windows/Win32/vcruntime140d.dll": "865b2af4d1e26a1a8073c89acb06e599",
"build/prefab/full/linux_arm64_gui/debug/ballisticakit": "1e1a72bb42210e0992bd7a2408565a2e", "build/prefab/full/linux_arm64_gui/debug/ballisticakit": "7c8972ca3658d967ba43011362b087aa",
"build/prefab/full/linux_arm64_gui/release/ballisticakit": "86af590d3b1dcbe7452fc34812b80703", "build/prefab/full/linux_arm64_gui/release/ballisticakit": "27be65844fce312e8c8e13e9d187798d",
"build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "404fe0d51e5de5cefc953d310478fa72", "build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless": "e746d122dd08a3f92e4ec28cda6c1fdc",
"build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "b74b319219ebf9d65d7140ec7a578915", "build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless": "e0bdc0e743747562e7bcc2404343ded1",
"build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "1f5c341e94401653a3126ad4f8321cdc", "build/prefab/full/linux_x86_64_gui/debug/ballisticakit": "5d7250aeef4af4159e64c03e40607c92",
"build/prefab/full/linux_x86_64_gui/release/ballisticakit": "d564109fb87d7a130a9d79a846a60ca1", "build/prefab/full/linux_x86_64_gui/release/ballisticakit": "106939b64bd0c1a7084e31d94e4482e8",
"build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "11942d4276b94506d4b723d07065c4c5", "build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless": "08c321f9fbd4299b51710ef2cf332f14",
"build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "81d8eab614d6288cbf414e723287fa76", "build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless": "5d8949348cb0f8fa18d756132cb24b21",
"build/prefab/full/mac_arm64_gui/debug/ballisticakit": "fbcc1a2f462b6c6060c420590fb7f497", "build/prefab/full/mac_arm64_gui/debug/ballisticakit": "815364e6a7f8b5e7f9531cc9bc7840b5",
"build/prefab/full/mac_arm64_gui/release/ballisticakit": "a76f362992100904bc068ae17776f36c", "build/prefab/full/mac_arm64_gui/release/ballisticakit": "483f8f40534fde1ce6c76e446e1bd249",
"build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "0e8eac9274458830040a5693910453ea", "build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless": "76f4a382be4ff02bd511349f185f9c94",
"build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "8e02d3a23ebd0be9623f53c5d21b7b2a", "build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless": "8bf5d5375b20828572a7488d283ffebb",
"build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "b94ba75ec9f10f4d96edc7e5f779fce5", "build/prefab/full/mac_x86_64_gui/debug/ballisticakit": "452ee2b082927abfc5e995e7d6d005e2",
"build/prefab/full/mac_x86_64_gui/release/ballisticakit": "1ac05648d26a6186d5a9fb083f417628", "build/prefab/full/mac_x86_64_gui/release/ballisticakit": "93260f68603774826cf48e4556d0fd36",
"build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "c416a591991e58339d6bd128824e2cce", "build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless": "89bef7d763799ca4a9b86f3819e9af7c",
"build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "9d50a74360e4e1d0f3b84426b280a2df", "build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless": "7775b58359a970118938b7629613ae28",
"build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "6e9b87bf674c50d40b92880a90a777e4", "build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe": "af85416a3e610a12c54bf1a151a78750",
"build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "a5cdc149d88a8231c85d5bbf67e5fbb4", "build/prefab/full/windows_x86_gui/release/BallisticaKit.exe": "86a5ecaa46411e8226d6b0a2b1311297",
"build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "8116d38c4678920ce707ada95989fc1e", "build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe": "135935d46ebc78492f05cd23331685c1",
"build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "93f08183b435f9b2d69d33429fab8ded", "build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe": "5a3d820dbf01c0243c574b0594965994",
"build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "11668f7191dc8d4e2b03db15ff2a4241", "build/prefab/lib/linux_arm64_gui/debug/libballisticaplus.a": "d838781c9192c6d1db86bd540478aadf",
"build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "b190199ce8b8fe122993d14fb7e8e813", "build/prefab/lib/linux_arm64_gui/release/libballisticaplus.a": "b9f7438c554cdadedd0d71aabb3a1d86",
"build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "11668f7191dc8d4e2b03db15ff2a4241", "build/prefab/lib/linux_arm64_server/debug/libballisticaplus.a": "d838781c9192c6d1db86bd540478aadf",
"build/prefab/lib/linux_arm64_server/release/libballisticaplus.a": "b190199ce8b8fe122993d14fb7e8e813", "build/prefab/lib/linux_arm64_server/release/libballisticaplus.a": "b9f7438c554cdadedd0d71aabb3a1d86",
"build/prefab/lib/linux_x86_64_gui/debug/libballisticaplus.a": "d33507e6163f7afb54334dc6141d074b", "build/prefab/lib/linux_x86_64_gui/debug/libballisticaplus.a": "7e97bf72f32e0cfe296e514bb9956c66",
"build/prefab/lib/linux_x86_64_gui/release/libballisticaplus.a": "15d57b7d0c2fae7695e008650a37b7f7", "build/prefab/lib/linux_x86_64_gui/release/libballisticaplus.a": "85a1c7eb3dd701914d7d5992205c5bf9",
"build/prefab/lib/linux_x86_64_server/debug/libballisticaplus.a": "d33507e6163f7afb54334dc6141d074b", "build/prefab/lib/linux_x86_64_server/debug/libballisticaplus.a": "7e97bf72f32e0cfe296e514bb9956c66",
"build/prefab/lib/linux_x86_64_server/release/libballisticaplus.a": "15d57b7d0c2fae7695e008650a37b7f7", "build/prefab/lib/linux_x86_64_server/release/libballisticaplus.a": "85a1c7eb3dd701914d7d5992205c5bf9",
"build/prefab/lib/mac_arm64_gui/debug/libballisticaplus.a": "6d5af317e8e9fc6d4eabeab31623e109", "build/prefab/lib/mac_arm64_gui/debug/libballisticaplus.a": "74b654c23ada4a8b002d546788011680",
"build/prefab/lib/mac_arm64_gui/release/libballisticaplus.a": "19e9dab275cd13cc3030de1b0f1f08c9", "build/prefab/lib/mac_arm64_gui/release/libballisticaplus.a": "c54b3817bc065393fd3f06497d6d6c00",
"build/prefab/lib/mac_arm64_server/debug/libballisticaplus.a": "6d5af317e8e9fc6d4eabeab31623e109", "build/prefab/lib/mac_arm64_server/debug/libballisticaplus.a": "74b654c23ada4a8b002d546788011680",
"build/prefab/lib/mac_arm64_server/release/libballisticaplus.a": "19e9dab275cd13cc3030de1b0f1f08c9", "build/prefab/lib/mac_arm64_server/release/libballisticaplus.a": "c54b3817bc065393fd3f06497d6d6c00",
"build/prefab/lib/mac_x86_64_gui/debug/libballisticaplus.a": "3769b38b590a8a5623749771900e60fe", "build/prefab/lib/mac_x86_64_gui/debug/libballisticaplus.a": "8ec7c1d19c225e71fa2be8ed99d2e176",
"build/prefab/lib/mac_x86_64_gui/release/libballisticaplus.a": "4fab22abc481a97e884cce9d67b35c6b", "build/prefab/lib/mac_x86_64_gui/release/libballisticaplus.a": "5471a38a2f6cc967b6518b7976d48cae",
"build/prefab/lib/mac_x86_64_server/debug/libballisticaplus.a": "7c536b056d78148a302c975bf9238118", "build/prefab/lib/mac_x86_64_server/debug/libballisticaplus.a": "807b53c6ca38c392a7477f250d3a85e5",
"build/prefab/lib/mac_x86_64_server/release/libballisticaplus.a": "4fab22abc481a97e884cce9d67b35c6b", "build/prefab/lib/mac_x86_64_server/release/libballisticaplus.a": "5471a38a2f6cc967b6518b7976d48cae",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "af223593bb6072052625a9352ca1e2e0", "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib": "08d57b27324c81c15b548378297d8bee",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "17e870062f0252e1ff53b74d4ead9a42", "build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb": "ddaa4e0263a93bf07ad0b32e88473b95",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "71378bcf65b096029b080f7bd8bfc982", "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.lib": "0655da25b5d61c49dc768c3bcf871a86",
"build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "0f5c4e26925e83e76d82a67bd8fc9aaa", "build/prefab/lib/windows/Debug_Win32/BallisticaKitHeadlessPlus.pdb": "019338079c4c8e486bddb1fcde266d30",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "9e947cd01c42f05f7cb0e957571a8243", "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib": "72c8127f2d20fb08381e9427da4277b0",
"build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "b6390897bf65ee022ecaf8c12b561c8c", "build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb": "e020ac5ad52e12a74f562c4133d843ea",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "d6f03f8f0c2a54c156e602cb83b7480c", "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.lib": "1142e87548995e74ea749eac87a8fc66",
"build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "453de128a75126e519c1a4c9724a1dfe", "build/prefab/lib/windows/Release_Win32/BallisticaKitHeadlessPlus.pdb": "b687a3dcf04060a3c4635e5c5e883b5b",
"src/assets/ba_data/python/babase/_mgen/__init__.py": "f885fed7f2ed98ff2ba271f9dbe3391c", "src/assets/ba_data/python/babase/_mgen/__init__.py": "f885fed7f2ed98ff2ba271f9dbe3391c",
"src/assets/ba_data/python/babase/_mgen/enums.py": "b611c090513a21e2fe90e56582724e9d", "src/assets/ba_data/python/babase/_mgen/enums.py": "b611c090513a21e2fe90e56582724e9d",
"src/ballistica/base/mgen/pyembed/binding_base.inc": "72bfed2cce8ff19741989dec28302f3f", "src/ballistica/base/mgen/pyembed/binding_base.inc": "72bfed2cce8ff19741989dec28302f3f",

View File

@ -1,4 +1,4 @@
### 1.7.34 (build 21808, api 8, 2024-04-23) ### 1.7.34 (build 21810, api 8, 2024-04-23)
- Bumped Python version from 3.11 to 3.12 for all builds and project tools. One - Bumped Python version from 3.11 to 3.12 for all builds and project tools. One
of the things this means is that we can use `typing.override` instead of the of the things this means is that we can use `typing.override` instead of the
`typing_extensions` version so the annoying requirement of installing `typing_extensions` version so the annoying requirement of installing
@ -38,6 +38,9 @@
counts keep increasing in the future, the time expense of spinning up a new counts keep increasing in the future, the time expense of spinning up a new
Python process per pcommand decreases, making pcommandbatch less of a win. Python process per pcommand decreases, making pcommandbatch less of a win.
Please holler if you have any thoughts on this. Please holler if you have any thoughts on this.
- Renamed the `prereqs` Makefile target to `env`. This is easier to type and
feels more accurate now that the target sets up things like the Python virtual
environment and generally gets the project environment ready to use.
### 1.7.33 (build 21795, api 8, 2024-03-24) ### 1.7.33 (build 21795, api 8, 2024-03-24)
- Stress test input-devices are now a bit smarter; they won't press any buttons - Stress test input-devices are now a bit smarter; they won't press any buttons

228
Makefile
View File

@ -25,7 +25,7 @@
################################################################################ ################################################################################
# List targets in this Makefile and basic descriptions for them. # List targets in this Makefile and basic descriptions for them.
help: prereqs help: env
@$(PCOMMAND) makefile_target_list Makefile @$(PCOMMAND) makefile_target_list Makefile
# Set env-var BA_ENABLE_COMPILE_COMMANDS_DB=1 to enable creating/updating a # Set env-var BA_ENABLE_COMPILE_COMMANDS_DB=1 to enable creating/updating a
@ -48,7 +48,7 @@ endif
# Prereq targets that should be safe to run anytime; even if project-files # Prereq targets that should be safe to run anytime; even if project-files
# are out of date. # are out of date.
PREREQS_SAFE = .cache/checkenv $(PCOMMANDBATCHBIN) .dir-locals.el .mypy.ini \ ENV_REQS_SAFE = .cache/checkenv $(PCOMMANDBATCHBIN) .dir-locals.el .mypy.ini \
.pyrightconfig.json .pylintrc .clang-format \ .pyrightconfig.json .pylintrc .clang-format \
ballisticakit-cmake/.clang-format .editorconfig tools/cloudshell \ ballisticakit-cmake/.clang-format .editorconfig tools/cloudshell \
tools/bacloud tools/bacloud
@ -56,67 +56,67 @@ PREREQS_SAFE = .cache/checkenv $(PCOMMANDBATCHBIN) .dir-locals.el .mypy.ini \
# Prereq targets that may break if the project needs updating should go here. # Prereq targets that may break if the project needs updating should go here.
# An example is compile-command-databases; these might try to run cmake and # An example is compile-command-databases; these might try to run cmake and
# fail if the CMakeList files don't match what's on disk. If such a target was # fail if the CMakeList files don't match what's on disk. If such a target was
# included in PREREQS_SAFE it would try to build *before* project updates # included in ENV_REQS_SAFE it would try to build *before* project updates
# which would leave us stuck in a broken state. # which would leave us stuck in a broken state.
PREREQS_POST_UPDATE_ONLY = $(PREREQ_COMPILE_COMMANDS_DB) ENV_REQS_POST_UPDATE_ONLY = $(PREREQ_COMPILE_COMMANDS_DB)
# Target that should be built before building almost any other target. This # Target that should be built before building almost any other target. This
# installs tool config files, sets up the Python virtual environment, etc. # installs tool config files, sets up the Python virtual environment, etc.
prereqs: $(PREREQS_SAFE) $(PREREQS_POST_UPDATE_ONLY) env: $(ENV_REQS_SAFE) $(ENV_REQS_POST_UPDATE_ONLY)
# Set of prereqs safe to run if the project state is dirty. # Set of prereqs safe to run if the project state is dirty.
prereqs-pre-update: $(PREREQS_SAFE) env-pre-update: $(ENV_REQS_SAFE)
prereqs-clean: env-clean:
rm -rf $(PREREQS_SAFE) $(PREREQS_POST_UPDATE_ONLY) rm -rf $(ENV_REQS_SAFE) $(ENV_REQS_POST_UPDATE_ONLY)
# Build all assets for all platforms. # Build all assets for all platforms.
assets: prereqs meta assets: env meta
@$(PCOMMAND) lazybuild assets_src $(LAZYBUILDDIR)/$@ \ @$(PCOMMAND) lazybuild assets_src $(LAZYBUILDDIR)/$@ \
cd src/assets \&\& $(MAKE) -j$(CPUS) cd src/assets \&\& $(MAKE) -j$(CPUS)
# Build assets required for cmake builds (linux, mac). # Build assets required for cmake builds (linux, mac).
assets-cmake: prereqs meta assets-cmake: env meta
@$(PCOMMAND) lazybuild assets_src $(LAZYBUILDDIR)/$@ \ @$(PCOMMAND) lazybuild assets_src $(LAZYBUILDDIR)/$@ \
cd src/assets \&\& $(MAKE) -j$(CPUS) cmake cd src/assets \&\& $(MAKE) -j$(CPUS) cmake
# Build only script assets for cmake builds (linux, mac). # Build only script assets for cmake builds (linux, mac).
assets-cmake-scripts: prereqs meta assets-cmake-scripts: env meta
@$(PCOMMAND) lazybuild assets_src $(LAZYBUILDDIR)/$@ \ @$(PCOMMAND) lazybuild assets_src $(LAZYBUILDDIR)/$@ \
cd src/assets \&\& $(MAKE) -j$(CPUS) scripts-cmake cd src/assets \&\& $(MAKE) -j$(CPUS) scripts-cmake
# Build assets required for server builds. # Build assets required for server builds.
assets-server: prereqs meta assets-server: env meta
@$(PCOMMAND) lazybuild assets_src $(LAZYBUILDDIR)/$@ \ @$(PCOMMAND) lazybuild assets_src $(LAZYBUILDDIR)/$@ \
cd src/assets \&\& $(MAKE) -j$(CPUS) server cd src/assets \&\& $(MAKE) -j$(CPUS) server
# Build assets required for WINDOWS_PLATFORM windows builds. # Build assets required for WINDOWS_PLATFORM windows builds.
assets-windows: prereqs meta assets-windows: env meta
@$(PCOMMAND) lazybuild assets_src $(LAZYBUILDDIR)/$@ \ @$(PCOMMAND) lazybuild assets_src $(LAZYBUILDDIR)/$@ \
cd src/assets \&\& $(MAKE) -j$(CPUS) win-$(WINDOWS_PLATFORM) cd src/assets \&\& $(MAKE) -j$(CPUS) win-$(WINDOWS_PLATFORM)
# Build assets required for Win32 windows builds. # Build assets required for Win32 windows builds.
assets-windows-Win32: prereqs meta assets-windows-Win32: env meta
@$(PCOMMAND) lazybuild assets_src $(LAZYBUILDDIR)/$@ \ @$(PCOMMAND) lazybuild assets_src $(LAZYBUILDDIR)/$@ \
cd src/assets \&\& $(MAKE) -j$(CPUS) win-Win32 cd src/assets \&\& $(MAKE) -j$(CPUS) win-Win32
# Build assets required for x64 windows builds. # Build assets required for x64 windows builds.
assets-windows-x64: prereqs meta assets-windows-x64: env meta
@$(PCOMMAND) lazybuild assets_src $(LAZYBUILDDIR)/$@ \ @$(PCOMMAND) lazybuild assets_src $(LAZYBUILDDIR)/$@ \
cd src/assets \&\& $(MAKE) -j$(CPUS) win-x64 cd src/assets \&\& $(MAKE) -j$(CPUS) win-x64
# Build assets required for mac xcode builds # Build assets required for mac xcode builds
assets-mac: prereqs meta assets-mac: env meta
@$(PCOMMAND) lazybuild assets_src $(LAZYBUILDDIR)/$@ \ @$(PCOMMAND) lazybuild assets_src $(LAZYBUILDDIR)/$@ \
cd src/assets \&\& $(MAKE) -j$(CPUS) mac cd src/assets \&\& $(MAKE) -j$(CPUS) mac
# Build assets required for ios. # Build assets required for ios.
assets-ios: prereqs meta assets-ios: env meta
@$(PCOMMAND) lazybuild assets_src $(LAZYBUILDDIR)/$@ \ @$(PCOMMAND) lazybuild assets_src $(LAZYBUILDDIR)/$@ \
cd src/assets \&\& $(MAKE) -j$(CPUS) ios cd src/assets \&\& $(MAKE) -j$(CPUS) ios
# Build assets required for android. # Build assets required for android.
assets-android: prereqs meta assets-android: env meta
@$(PCOMMAND) lazybuild assets_src $(LAZYBUILDDIR)/$@ \ @$(PCOMMAND) lazybuild assets_src $(LAZYBUILDDIR)/$@ \
cd src/assets \&\& $(MAKE) -j$(CPUS) android cd src/assets \&\& $(MAKE) -j$(CPUS) android
@ -126,7 +126,7 @@ assets-clean:
cd src/assets && $(MAKE) clean cd src/assets && $(MAKE) clean
# Build resources. # Build resources.
resources: prereqs meta resources: env meta
@$(PCOMMAND) lazybuild resources_src $(LAZYBUILDDIR)/$@ \ @$(PCOMMAND) lazybuild resources_src $(LAZYBUILDDIR)/$@ \
cd src/resources \&\& $(MAKE) -j$(CPUS) cd src/resources \&\& $(MAKE) -j$(CPUS)
@ -139,7 +139,7 @@ resources-clean:
# #
# Meta builds can affect sources used by asset builds, resource builds, and # Meta builds can affect sources used by asset builds, resource builds, and
# compiles, so it should be listed as a dependency of any of those. # compiles, so it should be listed as a dependency of any of those.
meta: prereqs meta: env
@$(PCOMMAND) lazybuild meta_src $(LAZYBUILDDIR)/$@ \ @$(PCOMMAND) lazybuild meta_src $(LAZYBUILDDIR)/$@ \
cd src/meta \&\& $(MAKE) -j$(CPUS) cd src/meta \&\& $(MAKE) -j$(CPUS)
@ -150,13 +150,13 @@ meta-clean:
# Remove ALL files and directories that aren't managed by git (except for a # Remove ALL files and directories that aren't managed by git (except for a
# few things such as localconfig.json). # few things such as localconfig.json).
clean: prereqs clean: env
$(CHECK_CLEAN_SAFETY) $(CHECK_CLEAN_SAFETY)
rm -rf build # Kill this ourself; can confuse git if contains other repos. rm -rf build # Kill this ourself; can confuse git if contains other repos.
git clean -dfx $(ROOT_CLEAN_IGNORES) git clean -dfx $(ROOT_CLEAN_IGNORES)
# Show what clean would delete without actually deleting it. # Show what clean would delete without actually deleting it.
clean-list: prereqs clean-list: env
$(CHECK_CLEAN_SAFETY) $(CHECK_CLEAN_SAFETY)
@echo Would remove build # Handle this part ourself; can confuse git. @echo Would remove build # Handle this part ourself; can confuse git.
git clean -dnx $(ROOT_CLEAN_IGNORES) git clean -dnx $(ROOT_CLEAN_IGNORES)
@ -164,22 +164,22 @@ clean-list: prereqs
# Build/update dummy python modules. # Build/update dummy python modules.
# #
# IMPORTANT - building this target can kick off full builds/cleans and so it # IMPORTANT - building this target can kick off full builds/cleans and so it
# should not be built in parallel with other targets. See py_check_prereqs # should not be built in parallel with other targets. See py_check_prepass
# target for more info. # target for more info.
dummymodules: prereqs meta dummymodules: env meta
@$(PCOMMAND) lazybuild dummymodules_src $(LAZYBUILDDIR)/$@ \ @$(PCOMMAND) lazybuild dummymodules_src $(LAZYBUILDDIR)/$@ \
rm -rf build/dummymodules \&\& $(PCOMMAND) gen_dummy_modules rm -rf build/dummymodules \&\& $(PCOMMAND) gen_dummy_modules
dummymodules-clean: prereqs dummymodules-clean: env
rm -f $(LAZYBUILDDIR)/dummymodules rm -f $(LAZYBUILDDIR)/dummymodules
rm -rf build/dummymodules rm -rf build/dummymodules
# Build the project's Python virtual environment. This should happen # Build the project's Python virtual environment. This should happen
# automatically as a dependency of the prereqs target. # automatically as a dependency of the env target.
venv: .venv/efro_venv_complete venv: .venv/efro_venv_complete
# Update pip requirements to latest versions. # Update pip requirements to latest versions.
venv-upgrade: prereqs venv-upgrade: env
$(PCOMMAND) requirements_upgrade config/requirements.txt $(PCOMMAND) requirements_upgrade config/requirements.txt
venv-clean: venv-clean:
@ -189,13 +189,13 @@ venv-clean:
# #
# IMPORTANT: Docs generation targets may themselves run builds, so they should # IMPORTANT: Docs generation targets may themselves run builds, so they should
# be run alone serially and never in parallel alongside other builds. # be run alone serially and never in parallel alongside other builds.
docs: prereqs docs: env
$(MAKE) docs-pdoc $(MAKE) docs-pdoc
docs-pdoc: prereqs docs-pdoc: env
@$(PCOMMAND) gen_docs_pdoc @$(PCOMMAND) gen_docs_pdoc
docs-sphinx: prereqs docs-sphinx: env
$(MAKE) dummymodules $(MAKE) dummymodules
@$(PCOMMAND) gen_docs_sphinx @$(PCOMMAND) gen_docs_sphinx
@ -203,11 +203,11 @@ docs-sphinx-clean:
rm -rf .cache/sphinx rm -rf .cache/sphinx
rm -rf build/sphinx rm -rf build/sphinx
pcommandbatch_speed_test: prereqs pcommandbatch_speed_test: env
@$(PCOMMAND) pcommandbatch_speed_test $(PCOMMANDBATCHBIN) @$(PCOMMAND) pcommandbatch_speed_test $(PCOMMANDBATCHBIN)
# Tell make which of these targets don't represent files. # Tell make which of these targets don't represent files.
.PHONY: help prereqs prereqs-pre-update prereqs-clean assets assets-cmake \ .PHONY: help env env-pre-update env-clean assets assets-cmake \
assets-cmake-scripts assets-windows assets-windows-Win32 \ assets-cmake-scripts assets-windows assets-windows-Win32 \
assets-windows-x64 assets-mac assets-ios assets-android assets-clean \ assets-windows-x64 assets-mac assets-ios assets-android assets-clean \
resources resources-clean meta meta-clean clean clean-list \ resources resources-clean meta meta-clean clean clean-list \
@ -236,11 +236,11 @@ prefab-gui-release: prefab-gui-release-build
$($(shell $(WSLU) $(PCOMMAND) prefab_run_var gui-release)) $($(shell $(WSLU) $(PCOMMAND) prefab_run_var gui-release))
# Assemble a debug build for this platform. # Assemble a debug build for this platform.
prefab-gui-debug-build: prereqs prefab-gui-debug-build: env
$(WSLU) $(PCOMMAND) make_prefab gui-debug $(WSLU) $(PCOMMAND) make_prefab gui-debug
# Assemble a release build for this platform. # Assemble a release build for this platform.
prefab-gui-release-build: prereqs prefab-gui-release-build: env
$(WSLU) $(PCOMMAND) make_prefab gui-release $(WSLU) $(PCOMMAND) make_prefab gui-release
# Assemble & run a server debug build for this platform. # Assemble & run a server debug build for this platform.
@ -252,11 +252,11 @@ prefab-server-release: prefab-server-release-build
$($(shell $(WSLU) $(PCOMMAND) prefab_run_var server-release)) $($(shell $(WSLU) $(PCOMMAND) prefab_run_var server-release))
# Assemble a server debug build for this platform. # Assemble a server debug build for this platform.
prefab-server-debug-build: prereqs prefab-server-debug-build: env
$(WSLU) $(PCOMMAND) make_prefab server-debug $(WSLU) $(PCOMMAND) make_prefab server-debug
# Assemble a server release build for this platform. # Assemble a server release build for this platform.
prefab-server-release-build: prereqs prefab-server-release-build: env
$(WSLU) $(PCOMMAND) make_prefab server-release $(WSLU) $(PCOMMAND) make_prefab server-release
# Clean all prefab builds. # Clean all prefab builds.
@ -284,11 +284,11 @@ prefab-mac-arm64-gui-debug: prefab-mac-arm64-gui-debug-build
@$(PCOMMAND) ensure_prefab_platform mac_arm64 @$(PCOMMAND) ensure_prefab_platform mac_arm64
$(RUN_PREFAB_MAC_ARM64_GUI_DEBUG) $(RUN_PREFAB_MAC_ARM64_GUI_DEBUG)
prefab-mac-x86-64-gui-debug-build: prereqs assets-cmake \ prefab-mac-x86-64-gui-debug-build: env assets-cmake \
build/prefab/full/mac_x86_64_gui/debug/ballisticakit build/prefab/full/mac_x86_64_gui/debug/ballisticakit
@$(STAGE_BUILD) -cmake -debug build/prefab/full/mac_x86_64_gui/debug @$(STAGE_BUILD) -cmake -debug build/prefab/full/mac_x86_64_gui/debug
prefab-mac-arm64-gui-debug-build: prereqs assets-cmake \ prefab-mac-arm64-gui-debug-build: env assets-cmake \
build/prefab/full/mac_arm64_gui/debug/ballisticakit build/prefab/full/mac_arm64_gui/debug/ballisticakit
@$(STAGE_BUILD) -cmake -debug build/prefab/full/mac_arm64_gui/debug @$(STAGE_BUILD) -cmake -debug build/prefab/full/mac_arm64_gui/debug
@ -314,11 +314,11 @@ prefab-mac-arm64-gui-release: prefab-mac-arm64-gui_release-build
@$(PCOMMAND) ensure_prefab_platform mac_arm64 @$(PCOMMAND) ensure_prefab_platform mac_arm64
$(RUN_PREFAB_MAC_ARM64_GUI_RELEASE) $(RUN_PREFAB_MAC_ARM64_GUI_RELEASE)
prefab-mac-x86-64-gui-release-build: prereqs assets-cmake \ prefab-mac-x86-64-gui-release-build: env assets-cmake \
build/prefab/full/mac_x86_64_gui/release/ballisticakit build/prefab/full/mac_x86_64_gui/release/ballisticakit
@$(STAGE_BUILD) -cmake -release build/prefab/full/mac_x86_64_gui/release @$(STAGE_BUILD) -cmake -release build/prefab/full/mac_x86_64_gui/release
prefab-mac-arm64-gui-release-build: prereqs assets-cmake \ prefab-mac-arm64-gui-release-build: env assets-cmake \
build/prefab/full/mac_arm64_gui/release/ballisticakit build/prefab/full/mac_arm64_gui/release/ballisticakit
@$(STAGE_BUILD) -cmake -release build/prefab/full/mac_arm64_gui/release @$(STAGE_BUILD) -cmake -release build/prefab/full/mac_arm64_gui/release
@ -344,11 +344,11 @@ prefab-mac-arm64-server-debug: prefab-mac-arm64-server-debug-build
@$(PCOMMAND) ensure_prefab_platform mac_arm64 @$(PCOMMAND) ensure_prefab_platform mac_arm64
$(RUN_PREFAB_MAC_ARM64_SERVER_DEBUG) $(RUN_PREFAB_MAC_ARM64_SERVER_DEBUG)
prefab-mac-x86-64-server-debug-build: prereqs assets-server \ prefab-mac-x86-64-server-debug-build: env assets-server \
build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless build/prefab/full/mac_x86_64_server/debug/dist/ballisticakit_headless
@$(STAGE_BUILD) -cmakeserver -debug build/prefab/full/mac_x86_64_server/debug @$(STAGE_BUILD) -cmakeserver -debug build/prefab/full/mac_x86_64_server/debug
prefab-mac-arm64-server-debug-build: prereqs assets-server \ prefab-mac-arm64-server-debug-build: env assets-server \
build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless build/prefab/full/mac_arm64_server/debug/dist/ballisticakit_headless
@$(STAGE_BUILD) -cmakeserver -debug build/prefab/full/mac_arm64_server/debug @$(STAGE_BUILD) -cmakeserver -debug build/prefab/full/mac_arm64_server/debug
@ -374,12 +374,12 @@ prefab-mac-arm64-server-release: prefab-mac-arm64-server-release-build
@$(PCOMMAND) ensure_prefab_platform mac_arm64 @$(PCOMMAND) ensure_prefab_platform mac_arm64
$(RUN_PREFAB_MAC_ARM64_SERVER_RELEASE) $(RUN_PREFAB_MAC_ARM64_SERVER_RELEASE)
prefab-mac-x86-64-server-release-build: prereqs assets-server \ prefab-mac-x86-64-server-release-build: env assets-server \
build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless build/prefab/full/mac_x86_64_server/release/dist/ballisticakit_headless
@$(STAGE_BUILD) -cmakeserver -release \ @$(STAGE_BUILD) -cmakeserver -release \
build/prefab/full/mac_x86_64_server/release build/prefab/full/mac_x86_64_server/release
prefab-mac-arm64-server-release-build: prereqs assets-server \ prefab-mac-arm64-server-release-build: env assets-server \
build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless build/prefab/full/mac_arm64_server/release/dist/ballisticakit_headless
@$(STAGE_BUILD) -cmakeserver -release \ @$(STAGE_BUILD) -cmakeserver -release \
build/prefab/full/mac_arm64_server/release build/prefab/full/mac_arm64_server/release
@ -406,11 +406,11 @@ prefab-linux-arm64-gui-debug: prefab-linux-arm64-gui-debug-build
@$(WSLL) $(PCOMMAND) ensure_prefab_platform linux_arm64 @$(WSLL) $(PCOMMAND) ensure_prefab_platform linux_arm64
$(RUN_PREFAB_LINUX_ARM64_GUI_DEBUG) $(RUN_PREFAB_LINUX_ARM64_GUI_DEBUG)
prefab-linux-x86-64-gui-debug-build: prereqs assets-cmake \ prefab-linux-x86-64-gui-debug-build: env assets-cmake \
build/prefab/full/linux_x86_64_gui/debug/ballisticakit build/prefab/full/linux_x86_64_gui/debug/ballisticakit
@$(STAGE_BUILD) -cmake -debug build/prefab/full/linux_x86_64_gui/debug @$(STAGE_BUILD) -cmake -debug build/prefab/full/linux_x86_64_gui/debug
prefab-linux-arm64-gui-debug-build: prereqs assets-cmake \ prefab-linux-arm64-gui-debug-build: env assets-cmake \
build/prefab/full/linux_arm64_gui/debug/ballisticakit build/prefab/full/linux_arm64_gui/debug/ballisticakit
@$(STAGE_BUILD) -cmake -debug build/prefab/full/linux_arm64_gui/debug @$(STAGE_BUILD) -cmake -debug build/prefab/full/linux_arm64_gui/debug
@ -436,11 +436,11 @@ prefab-linux-arm64-gui-release: prefab-linux-arm64-gui-release-build
@$(WSLL) $(PCOMMAND) ensure_prefab_platform linux_arm64 @$(WSLL) $(PCOMMAND) ensure_prefab_platform linux_arm64
$(RUN_PREFAB_LINUX_ARM64_GUI_RELEASE) $(RUN_PREFAB_LINUX_ARM64_GUI_RELEASE)
prefab-linux-x86-64-gui-release-build: prereqs assets-cmake \ prefab-linux-x86-64-gui-release-build: env assets-cmake \
build/prefab/full/linux_x86_64_gui/release/ballisticakit build/prefab/full/linux_x86_64_gui/release/ballisticakit
@$(STAGE_BUILD) -cmake -release build/prefab/full/linux_x86_64_gui/release @$(STAGE_BUILD) -cmake -release build/prefab/full/linux_x86_64_gui/release
prefab-linux-arm64-gui-release-build: prereqs assets-cmake \ prefab-linux-arm64-gui-release-build: env assets-cmake \
build/prefab/full/linux_arm64_gui/release/ballisticakit build/prefab/full/linux_arm64_gui/release/ballisticakit
@$(STAGE_BUILD) -cmake -release build/prefab/full/linux_arm64_gui/release @$(STAGE_BUILD) -cmake -release build/prefab/full/linux_arm64_gui/release
@ -466,12 +466,12 @@ prefab-linux-arm64-server-debug: prefab-linux-arm64-server-debug-build
@$(WSLL) $(PCOMMAND) ensure_prefab_platform linux_arm64 @$(WSLL) $(PCOMMAND) ensure_prefab_platform linux_arm64
$(RUN_PREFAB_LINUX_ARM64_SERVER_DEBUG) $(RUN_PREFAB_LINUX_ARM64_SERVER_DEBUG)
prefab-linux-x86-64-server-debug-build: prereqs assets-server \ prefab-linux-x86-64-server-debug-build: env assets-server \
build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless build/prefab/full/linux_x86_64_server/debug/dist/ballisticakit_headless
@$(STAGE_BUILD) -cmakeserver -debug \ @$(STAGE_BUILD) -cmakeserver -debug \
build/prefab/full/linux_x86_64_server/debug build/prefab/full/linux_x86_64_server/debug
prefab-linux-arm64-server-debug-build: prereqs assets-server \ prefab-linux-arm64-server-debug-build: env assets-server \
build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless build/prefab/full/linux_arm64_server/debug/dist/ballisticakit_headless
@$(STAGE_BUILD) -cmakeserver -debug \ @$(STAGE_BUILD) -cmakeserver -debug \
build/prefab/full/linux_arm64_server/debug build/prefab/full/linux_arm64_server/debug
@ -498,12 +498,12 @@ prefab-linux-arm64-server-release: prefab-linux-arm64-server-release-build
@$(WSLL) $(PCOMMAND) ensure_prefab_platform linux_arm64 @$(WSLL) $(PCOMMAND) ensure_prefab_platform linux_arm64
$(RUN_PREFAB_LINUX_ARM64_SERVER_RELEASE) $(RUN_PREFAB_LINUX_ARM64_SERVER_RELEASE)
prefab-linux-x86-64-server-release-build: prereqs assets-server \ prefab-linux-x86-64-server-release-build: env assets-server \
build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless build/prefab/full/linux_x86_64_server/release/dist/ballisticakit_headless
@$(STAGE_BUILD) -cmakeserver -release \ @$(STAGE_BUILD) -cmakeserver -release \
build/prefab/full/linux_x86_64_server/release build/prefab/full/linux_x86_64_server/release
prefab-linux-arm64-server-release-build: prereqs assets-server \ prefab-linux-arm64-server-release-build: env assets-server \
build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless build/prefab/full/linux_arm64_server/release/dist/ballisticakit_headless
@$(STAGE_BUILD) -cmakeserver -release \ @$(STAGE_BUILD) -cmakeserver -release \
build/prefab/full/linux_arm64_server/release build/prefab/full/linux_arm64_server/release
@ -523,7 +523,7 @@ prefab-windows-x86-gui-debug: prefab-windows-x86-gui-debug-build
@$(WSLW) $(PCOMMAND) ensure_prefab_platform windows_x86 @$(WSLW) $(PCOMMAND) ensure_prefab_platform windows_x86
$(RUN_PREFAB_WINDOWS_X86_GUI_DEBUG) $(RUN_PREFAB_WINDOWS_X86_GUI_DEBUG)
prefab-windows-x86-gui-debug-build: prereqs assets-windows-$(WINPLAT_X86) \ prefab-windows-x86-gui-debug-build: env assets-windows-$(WINPLAT_X86) \
build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe build/prefab/full/windows_x86_gui/debug/BallisticaKit.exe
@$(STAGE_BUILD) -win-$(WINPLAT_X86) -debug \ @$(STAGE_BUILD) -win-$(WINPLAT_X86) -debug \
build/prefab/full/windows_x86_gui/debug build/prefab/full/windows_x86_gui/debug
@ -546,7 +546,7 @@ prefab-windows-x86-gui-release: prefab-windows-x86-gui-release-build
@$(WSLW) $(PCOMMAND) ensure_prefab_platform windows_x86 @$(WSLW) $(PCOMMAND) ensure_prefab_platform windows_x86
$(RUN_PREFAB_WINDOWS_X86_GUI_RELEASE) $(RUN_PREFAB_WINDOWS_X86_GUI_RELEASE)
prefab-windows-x86-gui-release-build: prereqs \ prefab-windows-x86-gui-release-build: env \
assets-windows-$(WINPLAT_X86) \ assets-windows-$(WINPLAT_X86) \
build/prefab/full/windows_x86_gui/release/BallisticaKit.exe build/prefab/full/windows_x86_gui/release/BallisticaKit.exe
@$(STAGE_BUILD) -win-$(WINPLAT_X86) -release \ @$(STAGE_BUILD) -win-$(WINPLAT_X86) -release \
@ -571,7 +571,7 @@ prefab-windows-x86-server-debug: prefab-windows-x86-server-debug-build
@$(WSLW) $(PCOMMAND) ensure_prefab_platform windows_x86 @$(WSLW) $(PCOMMAND) ensure_prefab_platform windows_x86
$(RUN_PREFAB_WINDOWS_X86_SERVER_DEBUG) $(RUN_PREFAB_WINDOWS_X86_SERVER_DEBUG)
prefab-windows-x86-server-debug-build: prereqs \ prefab-windows-x86-server-debug-build: env \
assets-windows-$(WINPLAT_X86) \ assets-windows-$(WINPLAT_X86) \
build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe build/prefab/full/windows_x86_server/debug/dist/BallisticaKitHeadless.exe
@$(STAGE_BUILD) -winserver-$(WINPLAT_X86) -debug \ @$(STAGE_BUILD) -winserver-$(WINPLAT_X86) -debug \
@ -596,7 +596,7 @@ prefab-windows-x86-server-release: prefab-windows-x86-server-release-build
@$(WSLW) $(PCOMMAND) ensure_prefab_platform windows_x86 @$(WSLW) $(PCOMMAND) ensure_prefab_platform windows_x86
$(RUN_PREFAB_WINDOWS_X86_SERVER_RELEASE) $(RUN_PREFAB_WINDOWS_X86_SERVER_RELEASE)
prefab-windows-x86-server-release-build: prereqs \ prefab-windows-x86-server-release-build: env \
assets-windows-$(WINPLAT_X86) \ assets-windows-$(WINPLAT_X86) \
build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe build/prefab/full/windows_x86_server/release/dist/BallisticaKitHeadless.exe
@$(STAGE_BUILD) -winserver-$(WINPLAT_X86) -release \ @$(STAGE_BUILD) -winserver-$(WINPLAT_X86) -release \
@ -652,51 +652,51 @@ build/prefab/lib/windows/Release_%/BallisticaKitHeadlessPlus.pdb: .efrocachemap
SPINOFF_TEST_TARGET ?= core SPINOFF_TEST_TARGET ?= core
# Run a given spinoff test. # Run a given spinoff test.
spinoff-test: prereqs spinoff-test: env
$(PCOMMAND) spinoff_test $(SPINOFF_TEST_TARGET) $(SPINOFF_TEST_EXTRA_ARGS) $(PCOMMAND) spinoff_test $(SPINOFF_TEST_TARGET) $(SPINOFF_TEST_EXTRA_ARGS)
# Build and check core feature set alone. # Build and check core feature set alone.
spinoff-test-core: prereqs spinoff-test-core: env
$(PCOMMAND) spinoff_test core $(SPINOFF_TEST_EXTRA_ARGS) $(PCOMMAND) spinoff_test core $(SPINOFF_TEST_EXTRA_ARGS)
# Build and check base feature set alone. # Build and check base feature set alone.
spinoff-test-base: prereqs spinoff-test-base: env
$(PCOMMAND) spinoff_test base $(SPINOFF_TEST_EXTRA_ARGS) $(PCOMMAND) spinoff_test base $(SPINOFF_TEST_EXTRA_ARGS)
# Build and check plus feature set alone. # Build and check plus feature set alone.
spinoff-test-plus: prereqs spinoff-test-plus: env
$(PCOMMAND) spinoff_test plus $(SPINOFF_TEST_EXTRA_ARGS) $(PCOMMAND) spinoff_test plus $(SPINOFF_TEST_EXTRA_ARGS)
# Build and check classic feature set alone. # Build and check classic feature set alone.
spinoff-test-classic: prereqs spinoff-test-classic: env
$(PCOMMAND) spinoff_test classic $(SPINOFF_TEST_EXTRA_ARGS) $(PCOMMAND) spinoff_test classic $(SPINOFF_TEST_EXTRA_ARGS)
# Build and check template_fs feature set alone. # Build and check template_fs feature set alone.
spinoff-test-template_fs: prereqs spinoff-test-template_fs: env
$(PCOMMAND) spinoff_test template_fs $(SPINOFF_TEST_EXTRA_ARGS) $(PCOMMAND) spinoff_test template_fs $(SPINOFF_TEST_EXTRA_ARGS)
# Build and check ui_v1 feature set alone. # Build and check ui_v1 feature set alone.
spinoff-test-ui_v1: prereqs spinoff-test-ui_v1: env
$(PCOMMAND) spinoff_test ui_v1 $(SPINOFF_TEST_EXTRA_ARGS) $(PCOMMAND) spinoff_test ui_v1 $(SPINOFF_TEST_EXTRA_ARGS)
# Build and check ui_v1_lib feature set alone. # Build and check ui_v1_lib feature set alone.
spinoff-test-ui_v1_lib: prereqs spinoff-test-ui_v1_lib: env
$(PCOMMAND) spinoff_test ui_v1_lib $(SPINOFF_TEST_EXTRA_ARGS) $(PCOMMAND) spinoff_test ui_v1_lib $(SPINOFF_TEST_EXTRA_ARGS)
# Build and check scene_v1 feature set alone. # Build and check scene_v1 feature set alone.
spinoff-test-scene_v1: prereqs spinoff-test-scene_v1: env
$(PCOMMAND) spinoff_test scene_v1 $(SPINOFF_TEST_EXTRA_ARGS) $(PCOMMAND) spinoff_test scene_v1 $(SPINOFF_TEST_EXTRA_ARGS)
# Build and check scene_v1_lib feature set alone. # Build and check scene_v1_lib feature set alone.
spinoff-test-scene_v1_lib: prereqs spinoff-test-scene_v1_lib: env
$(PCOMMAND) spinoff_test scene_v1_lib $(SPINOFF_TEST_EXTRA_ARGS) $(PCOMMAND) spinoff_test scene_v1_lib $(SPINOFF_TEST_EXTRA_ARGS)
# Blow away all spinoff-test builds. # Blow away all spinoff-test builds.
spinoff-test-clean: prereqs spinoff-test-clean: env
rm -rf build/spinofftest rm -rf build/spinofftest
# Grab the current parent project and sync it into ourself. # Grab the current parent project and sync it into ourself.
spinoff-update: prereqs spinoff-update: env
@$(PCOMMAND) spinoff_check_submodule_parent @$(PCOMMAND) spinoff_check_submodule_parent
$(MAKE) update $(MAKE) update
@$(PCOMMANDBATCH) echo BLU Pulling current parent project... @$(PCOMMANDBATCH) echo BLU Pulling current parent project...
@ -707,7 +707,7 @@ spinoff-update: prereqs
@$(PCOMMANDBATCH) echo GRN Spinoff update successful! @$(PCOMMANDBATCH) echo GRN Spinoff update successful!
# Upgrade to latest parent project and sync it into ourself. # Upgrade to latest parent project and sync it into ourself.
spinoff-upgrade: prereqs spinoff-upgrade: env
@$(PCOMMAND) spinoff_check_submodule_parent @$(PCOMMAND) spinoff_check_submodule_parent
$(MAKE) update $(MAKE) update
@$(PCOMMANDBATCH) echo BLU Pulling latest parent project... @$(PCOMMANDBATCH) echo BLU Pulling latest parent project...
@ -730,15 +730,15 @@ spinoff-upgrade: prereqs
################################################################################ ################################################################################
# Update any project files that need it (does NOT build projects). # Update any project files that need it (does NOT build projects).
update: prereqs-pre-update update: env-pre-update
@$(PCOMMAND) update_project @$(PCOMMAND) update_project
# Though not technically necessary, let's keep things like tool-configs # Though not technically necessary, let's keep things like tool-configs
# immediately updated so our editors/etc. better reflect the current state. # immediately updated so our editors/etc. better reflect the current state.
@$(MAKE) -j$(CPUS) prereqs @$(MAKE) -j$(CPUS) env
@$(PCOMMANDBATCH) echo GRN Update-Project: SUCCESS! @$(PCOMMANDBATCH) echo GRN Update-Project: SUCCESS!
# Don't update but fail if anything needs it. # Don't update but fail if anything needs it.
update-check: prereqs-pre-update update-check: env-pre-update
@$(PCOMMAND) update_project --check @$(PCOMMAND) update_project --check
@$(PCOMMANDBATCH) echo GRN Check-Project: Everything up to date. @$(PCOMMANDBATCH) echo GRN Check-Project: Everything up to date.
@ -753,33 +753,33 @@ update-check: prereqs-pre-update
################################################################################ ################################################################################
# Run formatting on all files in the project considered 'dirty'. # Run formatting on all files in the project considered 'dirty'.
format: prereqs format: env
@$(MAKE) -j$(CPUS) format-code format-scripts format-makefile @$(MAKE) -j$(CPUS) format-code format-scripts format-makefile
@$(PCOMMANDBATCH) echo BLD Formatting complete for $(notdir $(CURDIR))! @$(PCOMMANDBATCH) echo BLD Formatting complete for $(notdir $(CURDIR))!
# Same but always formats; ignores dirty state. # Same but always formats; ignores dirty state.
format-full: prereqs format-full: env
@$(MAKE) -j$(CPUS) format-code-full format-scripts-full format-makefile @$(MAKE) -j$(CPUS) format-code-full format-scripts-full format-makefile
@$(PCOMMANDBATCH) echo BLD Formatting complete for $(notdir $(CURDIR))! @$(PCOMMANDBATCH) echo BLD Formatting complete for $(notdir $(CURDIR))!
# Run formatting for compiled code sources (.cc, .h, etc.). # Run formatting for compiled code sources (.cc, .h, etc.).
format-code: prereqs format-code: env
@$(PCOMMAND) formatcode @$(PCOMMAND) formatcode
# Same but always formats; ignores dirty state. # Same but always formats; ignores dirty state.
format-code-full: prereqs format-code-full: env
@$(PCOMMAND) formatcode -full @$(PCOMMAND) formatcode -full
# Runs formatting for scripts (.py, etc). # Runs formatting for scripts (.py, etc).
format-scripts: prereqs format-scripts: env
@$(PCOMMAND) formatscripts @$(PCOMMAND) formatscripts
# Same but always formats; ignores dirty state. # Same but always formats; ignores dirty state.
format-scripts-full: prereqs format-scripts-full: env
@$(PCOMMAND) formatscripts -full @$(PCOMMAND) formatscripts -full
# Runs formatting on the project Makefile. # Runs formatting on the project Makefile.
format-makefile: prereqs format-makefile: env
@$(PCOMMAND) formatmakefile @$(PCOMMAND) formatmakefile
.PHONY: format format-full format-code format-code-full format-scripts \ .PHONY: format format-full format-code format-code-full format-scripts \
@ -793,67 +793,67 @@ format-makefile: prereqs
################################################################################ ################################################################################
# Run all project checks. (static analysis) # Run all project checks. (static analysis)
check: py_check_prereqs check: py_check_prepass
@$(DMAKE) -j$(CPUS) update-check cpplint pylint mypy @$(DMAKE) -j$(CPUS) update-check cpplint pylint mypy
@$(PCOMMANDBATCH) echo SGRN BLD ALL CHECKS PASSED! @$(PCOMMANDBATCH) echo SGRN BLD ALL CHECKS PASSED!
# Same as check but no caching (all files are checked). # Same as check but no caching (all files are checked).
check-full: py_check_prereqs check-full: py_check_prepass
@$(DMAKE) -j$(CPUS) update-check cpplint-full pylint-full mypy-full @$(DMAKE) -j$(CPUS) update-check cpplint-full pylint-full mypy-full
@$(PCOMMANDBATCH) echo SGRN BLD ALL CHECKS PASSED! @$(PCOMMANDBATCH) echo SGRN BLD ALL CHECKS PASSED!
# Same as 'check' plus optional/slow extra checks. # Same as 'check' plus optional/slow extra checks.
check2: py_check_prereqs check2: py_check_prepass
@$(DMAKE) -j$(CPUS) update-check cpplint pylint mypy @$(DMAKE) -j$(CPUS) update-check cpplint pylint mypy
@$(PCOMMANDBATCH) echo SGRN BLD ALL CHECKS PASSED! @$(PCOMMANDBATCH) echo SGRN BLD ALL CHECKS PASSED!
# Same as check2 but no caching (all files are checked). # Same as check2 but no caching (all files are checked).
check2-full: py_check_prereqs check2-full: py_check_prepass
@$(DMAKE) -j$(CPUS) update-check cpplint-full pylint-full mypy-full @$(DMAKE) -j$(CPUS) update-check cpplint-full pylint-full mypy-full
@$(PCOMMANDBATCH) echo SGRN BLD ALL CHECKS PASSED! @$(PCOMMANDBATCH) echo SGRN BLD ALL CHECKS PASSED!
# Run Cpplint checks on all C/C++ code. # Run Cpplint checks on all C/C++ code.
cpplint: prereqs meta cpplint: env meta
@$(PCOMMAND) cpplint @$(PCOMMAND) cpplint
# Run Cpplint checks without caching (all files are checked). # Run Cpplint checks without caching (all files are checked).
cpplint-full: prereqs meta cpplint-full: env meta
@$(PCOMMAND) cpplint -full @$(PCOMMAND) cpplint -full
# Run Pylint checks on all Python Code. # Run Pylint checks on all Python Code.
pylint: py_check_prereqs pylint: py_check_prepass
@$(PCOMMAND) pylint @$(PCOMMAND) pylint
# Run Pylint checks without caching (all files are checked). # Run Pylint checks without caching (all files are checked).
pylint-full: py_check_prereqs pylint-full: py_check_prepass
@$(PCOMMAND) pylint -full @$(PCOMMAND) pylint -full
# Run Mypy checks on all Python code. # Run Mypy checks on all Python code.
mypy: py_check_prereqs mypy: py_check_prepass
@$(PCOMMAND) mypy @$(PCOMMAND) mypy
# Run Mypy checks without caching (all files are checked). # Run Mypy checks without caching (all files are checked).
mypy-full: py_check_prereqs mypy-full: py_check_prepass
@$(PCOMMAND) mypy -full @$(PCOMMAND) mypy -full
# Run Mypy checks on all Python code using daemon mode. # Run Mypy checks on all Python code using daemon mode.
dmypy: py_check_prereqs dmypy: py_check_prepass
@$(PCOMMAND) dmypy @$(PCOMMAND) dmypy
# Stop the mypy daemon # Stop the mypy daemon
dmypy-stop: py_check_prereqs dmypy-stop: py_check_prepass
@$(PCOMMAND) dmypy -stop @$(PCOMMAND) dmypy -stop
# Run Pyright checks on all Python code. # Run Pyright checks on all Python code.
pyright: py_check_prereqs pyright: py_check_prepass
@$(PCOMMAND) pyright @$(PCOMMAND) pyright
# Run PyCharm checks on all Python code. # Run PyCharm checks on all Python code.
pycharm: py_check_prereqs pycharm: py_check_prepass
@$(PCOMMAND) pycharm @$(PCOMMAND) pycharm
# Run PyCharm checks without caching (all files are checked). # Run PyCharm checks without caching (all files are checked).
pycharm-full: py_check_prereqs pycharm-full: py_check_prepass
@$(PCOMMAND) pycharm -full @$(PCOMMAND) pycharm -full
# Build prerequisites needed for python checks. # Build prerequisites needed for python checks.
@ -868,12 +868,12 @@ pycharm-full: py_check_prereqs
# others (such as by the 'check-full' target) the parent target should # others (such as by the 'check-full' target) the parent target should
# explicitly built this beforehand to ensure it does not happen during the # explicitly built this beforehand to ensure it does not happen during the
# parallel part. # parallel part.
py_check_prereqs: dummymodules py_check_prepass: dummymodules
# Tell make which of these targets don't represent files. # Tell make which of these targets don't represent files.
.PHONY: check check-full check2 check2-full cpplint cpplint-full pylint \ .PHONY: check check-full check2 check2-full cpplint cpplint-full pylint \
pylint-full mypy mypy-full dmypy dmypy-stop pycharm pycharm-full \ pylint-full mypy mypy-full dmypy dmypy-stop pycharm pycharm-full \
py_check_prereqs py_check_prepass
################################################################################ ################################################################################
@ -891,12 +891,12 @@ py_check_prereqs: dummymodules
TEST_TARGET ?= tests TEST_TARGET ?= tests
# Run all tests. (live execution verification) # Run all tests. (live execution verification)
test: py_check_prereqs test: py_check_prepass
@$(PCOMMANDBATCH) echo BLU Running all tests... @$(PCOMMANDBATCH) echo BLU Running all tests...
@$(PCOMMAND) tests_warm_start @$(PCOMMAND) tests_warm_start
@$(PCOMMAND) pytest -v $(TEST_TARGET) @$(PCOMMAND) pytest -v $(TEST_TARGET)
test-verbose: py_check_prereqs test-verbose: py_check_prepass
@$(PCOMMANDBATCH) echo BLU Running all tests... @$(PCOMMANDBATCH) echo BLU Running all tests...
@$(PCOMMAND) tests_warm_start @$(PCOMMAND) tests_warm_start
@$(PCOMMAND) pytest -o log_cli=true -o log_cli_level=debug \ @$(PCOMMAND) pytest -o log_cli=true -o log_cli_level=debug \
@ -934,7 +934,7 @@ test-rpc:
preflight: preflight:
@$(MAKE) format @$(MAKE) format
@$(MAKE) update @$(MAKE) update
@$(MAKE) -j$(CPUS) py_check_prereqs # Needs to be done explicitly first. @$(MAKE) -j$(CPUS) py_check_prepass # Needs to be done explicitly first.
@$(MAKE) -j$(CPUS) cpplint pylint mypy test @$(MAKE) -j$(CPUS) cpplint pylint mypy test
@$(PCOMMANDBATCH) echo SGRN BLD PREFLIGHT SUCCESSFUL! @$(PCOMMANDBATCH) echo SGRN BLD PREFLIGHT SUCCESSFUL!
@ -942,7 +942,7 @@ preflight:
preflight-full: preflight-full:
@$(MAKE) format-full @$(MAKE) format-full
@$(MAKE) update @$(MAKE) update
@$(MAKE) -j$(CPUS) py_check_prereqs # Needs to be done explicitly first. @$(MAKE) -j$(CPUS) py_check_prepass # Needs to be done explicitly first.
@$(MAKE) -j$(CPUS) cpplint-full pylint-full mypy-full test-full @$(MAKE) -j$(CPUS) cpplint-full pylint-full mypy-full test-full
@$(PCOMMANDBATCH) echo SGRN BLD PREFLIGHT SUCCESSFUL! @$(PCOMMANDBATCH) echo SGRN BLD PREFLIGHT SUCCESSFUL!
@ -950,7 +950,7 @@ preflight-full:
preflight2: preflight2:
@$(MAKE) format @$(MAKE) format
@$(MAKE) update @$(MAKE) update
@$(MAKE) -j$(CPUS) py_check_prereqs # Needs to be done explicitly first. @$(MAKE) -j$(CPUS) py_check_prepass # Needs to be done explicitly first.
@$(MAKE) -j$(CPUS) cpplint pylint mypy test @$(MAKE) -j$(CPUS) cpplint pylint mypy test
@$(PCOMMANDBATCH) echo SGRN BLD PREFLIGHT SUCCESSFUL! @$(PCOMMANDBATCH) echo SGRN BLD PREFLIGHT SUCCESSFUL!
@ -958,7 +958,7 @@ preflight2:
preflight2-full: preflight2-full:
@$(MAKE) format-full @$(MAKE) format-full
@$(MAKE) update @$(MAKE) update
@$(MAKE) -j$(CPUS) py_check_prereqs # Needs to be done explicitly first. @$(MAKE) -j$(CPUS) py_check_prepass # Needs to be done explicitly first.
@$(MAKE) -j$(CPUS) cpplint-full pylint-full mypy-full test-full @$(MAKE) -j$(CPUS) cpplint-full pylint-full mypy-full test-full
@$(PCOMMANDBATCH) echo SGRN BLD PREFLIGHT SUCCESSFUL! @$(PCOMMANDBATCH) echo SGRN BLD PREFLIGHT SUCCESSFUL!
@ -998,7 +998,7 @@ windows-release: windows-release-build
build/windows/Release_Win32/BallisticaKitGeneric.exe build/windows/Release_Win32/BallisticaKitGeneric.exe
# Build a debug windows build (from WSL). # Build a debug windows build (from WSL).
windows-debug-build: prereqs \ windows-debug-build: env \
build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib \ build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib \
build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb
@$(WSLW) $(PCOMMAND) ensure_prefab_platform windows_x86 @$(WSLW) $(PCOMMAND) ensure_prefab_platform windows_x86
@ -1008,7 +1008,7 @@ windows-debug-build: prereqs \
$(MAKE) _windows-wsl-build $(MAKE) _windows-wsl-build
# Rebuild a debug windows build (from WSL). # Rebuild a debug windows build (from WSL).
windows-debug-rebuild: prereqs \ windows-debug-rebuild: env \
build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib \ build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.lib \
build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb build/prefab/lib/windows/Debug_Win32/BallisticaKitGenericPlus.pdb
@$(WSLW) $(PCOMMAND) ensure_prefab_platform windows_x86 @$(WSLW) $(PCOMMAND) ensure_prefab_platform windows_x86
@ -1018,7 +1018,7 @@ windows-debug-rebuild: prereqs \
$(MAKE) _windows-wsl-rebuild $(MAKE) _windows-wsl-rebuild
# Build a release windows build (from WSL). # Build a release windows build (from WSL).
windows-release-build: prereqs \ windows-release-build: env \
build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib \ build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib \
build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb
@$(WSLW) $(PCOMMAND) ensure_prefab_platform windows_x86 @$(WSLW) $(PCOMMAND) ensure_prefab_platform windows_x86
@ -1028,7 +1028,7 @@ windows-release-build: prereqs \
$(MAKE) _windows-wsl-build $(MAKE) _windows-wsl-build
# Rebuild a release windows build (from WSL). # Rebuild a release windows build (from WSL).
windows-release-rebuild: prereqs \ windows-release-rebuild: env \
build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib \ build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.lib \
build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb build/prefab/lib/windows/Release_Win32/BallisticaKitGenericPlus.pdb
@$(WSLW) $(PCOMMAND) ensure_prefab_platform windows_x86 @$(WSLW) $(PCOMMAND) ensure_prefab_platform windows_x86
@ -1038,13 +1038,13 @@ windows-release-rebuild: prereqs \
$(MAKE) _windows-wsl-rebuild $(MAKE) _windows-wsl-rebuild
# Remove all non-git-managed files in windows subdir. # Remove all non-git-managed files in windows subdir.
windows-clean: prereqs windows-clean: env
@$(CHECK_CLEAN_SAFETY) @$(CHECK_CLEAN_SAFETY)
git clean -dfx ballisticakit-windows git clean -dfx ballisticakit-windows
rm -rf build/windows $(LAZYBUILDDIR) rm -rf build/windows $(LAZYBUILDDIR)
# Show what would be cleaned. # Show what would be cleaned.
windows-clean-list: prereqs windows-clean-list: env
@$(CHECK_CLEAN_SAFETY) @$(CHECK_CLEAN_SAFETY)
git clean -dnx ballisticakit-windows git clean -dnx ballisticakit-windows
echo would also remove build/windows $(LAZYBUILDDIR) echo would also remove build/windows $(LAZYBUILDDIR)
@ -1223,21 +1223,21 @@ TOOL_CFG_SRC = tools/efrotools/toolconfig.py config/projectconfig.json \
ENV_SRC = tools/batools/build.py .venv/efro_venv_complete tools/pcommand ENV_SRC = tools/batools/build.py .venv/efro_venv_complete tools/pcommand
# Generate a pcommand script hard-coded to use our virtual environment. # Generate a pcommand script hard-coded to use our virtual environment.
# This is a prereq dependency so should not itself depend on prereqs. # This is a prereq dependency so should not itself depend on env.
tools/pcommand: tools/efrotools/genwrapper.py tools/efrotools/pyver.py tools/pcommand: tools/efrotools/genwrapper.py tools/efrotools/pyver.py
@echo Generating tools/pcommand... @echo Generating tools/pcommand...
@PYTHONPATH=tools python3 -m \ @PYTHONPATH=tools python3 -m \
efrotools.genwrapper pcommand batools.pcommandmain tools/pcommand efrotools.genwrapper pcommand batools.pcommandmain tools/pcommand
# Generate a cloudshell script hard-coded to use our virtual environment. # Generate a cloudshell script hard-coded to use our virtual environment.
# This is a prereq dependency so should not itself depend on prereqs. # This is a prereq dependency so should not itself depend on env.
tools/cloudshell: tools/efrotools/genwrapper.py tools/efrotools/pyver.py tools/cloudshell: tools/efrotools/genwrapper.py tools/efrotools/pyver.py
@echo Generating tools/cloudshell... @echo Generating tools/cloudshell...
@PYTHONPATH=tools python3 -m \ @PYTHONPATH=tools python3 -m \
efrotools.genwrapper cloudshell efrotoolsinternal.cloudshell tools/cloudshell efrotools.genwrapper cloudshell efrotoolsinternal.cloudshell tools/cloudshell
# Generate a bacloud script hard-coded to use our virtual environment. # Generate a bacloud script hard-coded to use our virtual environment.
# This is a prereq dependency so should not itself depend on prereqs. # This is a prereq dependency so should not itself depend on env.
tools/bacloud: tools/efrotools/genwrapper.py tools/efrotools/pyver.py tools/bacloud: tools/efrotools/genwrapper.py tools/efrotools/pyver.py
@echo Generating tools/bacloud... @echo Generating tools/bacloud...
@PYTHONPATH=tools python3 -m \ @PYTHONPATH=tools python3 -m \
@ -1270,7 +1270,7 @@ SKIP_ENV_CHECKS ?= 0
VENV_PYTHON ?= python3.12 VENV_PYTHON ?= python3.12
# Rebuild our virtual environment whenever reqs or Python version changes. # Rebuild our virtual environment whenever reqs or Python version changes.
# This is a prereq dependency so should not itself depend on prereqs. Note # This is a prereq dependency so should not itself depend on env. Note
# that we rely on pcommand but can't use it in here until the end when the # that we rely on pcommand but can't use it in here until the end when the
# venv is up. # venv is up.
.venv/efro_venv_complete: tools/pcommand config/requirements.txt \ .venv/efro_venv_complete: tools/pcommand config/requirements.txt \
@ -1337,7 +1337,7 @@ ballisticakit-cmake/.clang-format: .clang-format
&& mv compile_commands.json .cache/compile_commands_db && mv compile_commands.json .cache/compile_commands_db
@$(PCOMMANDBATCH) echo BLU Created compile commands db at $@ @$(PCOMMANDBATCH) echo BLU Created compile commands db at $@
_windows-wsl-build: prereqs _windows-wsl-build: env
@$(PCOMMAND) wsl_build_check_win_drive @$(PCOMMAND) wsl_build_check_win_drive
$(WIN_MSBUILD_EXE_B) \ $(WIN_MSBUILD_EXE_B) \
$(shell $(PCOMMAND) wsl_path_to_win --escape \ $(shell $(PCOMMAND) wsl_path_to_win --escape \
@ -1348,7 +1348,7 @@ _windows-wsl-build: prereqs
$(VISUAL_STUDIO_VERSION) $(VISUAL_STUDIO_VERSION)
@$(PCOMMAND) echo BLU BLD Built build/windows/BallisticaKit$(WINPRJ).exe. @$(PCOMMAND) echo BLU BLD Built build/windows/BallisticaKit$(WINPRJ).exe.
_windows-wsl-rebuild: prereqs _windows-wsl-rebuild: env
@$(PCOMMAND) wsl_build_check_win_drive @$(PCOMMAND) wsl_build_check_win_drive
$(WIN_MSBUILD_EXE_B) \ $(WIN_MSBUILD_EXE_B) \
$(shell $(PCOMMAND) wsl_path_to_win --escape \ $(shell $(PCOMMAND) wsl_path_to_win --escape \

View File

@ -1,6 +1,6 @@
# Ballistica Tool Config Source # Ballistica Tool Config Source
These configs can be installed via 'make prereqs' in the project root. These configs can be installed via 'make env' in the project root.
(this should automatically happen as part of other targets such as 'make check') (this should automatically happen as part of other targets such as 'make check')
Some of these are filtered to include an abs path to the project root or other Some of these are filtered to include an abs path to the project root or other

View File

@ -52,7 +52,7 @@ if TYPE_CHECKING:
# Build number and version of the ballistica binary we expect to be # Build number and version of the ballistica binary we expect to be
# using. # using.
TARGET_BALLISTICA_BUILD = 21808 TARGET_BALLISTICA_BUILD = 21810
TARGET_BALLISTICA_VERSION = '1.7.34' TARGET_BALLISTICA_VERSION = '1.7.34'

View File

@ -39,7 +39,7 @@ auto main(int argc, char** argv) -> int {
namespace ballistica { namespace ballistica {
// These are set automatically via script; don't modify them here. // These are set automatically via script; don't modify them here.
const int kEngineBuildNumber = 21808; const int kEngineBuildNumber = 21810;
const char* kEngineVersion = "1.7.34"; const char* kEngineVersion = "1.7.34";
const int kEngineApiVersion = 8; const int kEngineApiVersion = 8;

View File

@ -89,17 +89,17 @@ class App:
): ):
raise CleanError('Unable to locate project directory.') raise CleanError('Unable to locate project directory.')
# Also run project prereqs checks so we can hopefully inform the user # Also run project env checks so we can hopefully inform the user
# of missing Python modules/etc. instead of just failing cryptically. # of missing Python modules/etc. instead of just failing cryptically.
try: try:
subprocess.run( subprocess.run(
['make', '--quiet', 'prereqs'], ['make', '--quiet', 'env'],
check=True, check=True,
cwd=self._project_root, cwd=self._project_root,
) )
except subprocess.CalledProcessError as exc: except subprocess.CalledProcessError as exc:
raise CleanError( raise CleanError(
'"make prereqs" check failed. ' '"make env" check failed. '
'Install missing requirements and try again.' 'Install missing requirements and try again.'
) from exc ) from exc

View File

@ -1072,7 +1072,7 @@ class SpinoffContext:
# Interestingly, seems we need to use shell command cd here # Interestingly, seems we need to use shell command cd here
# instead of just passing cwd arg. # instead of just passing cwd arg.
subprocess.run( subprocess.run(
f'cd {self._src_root} && make prereqs', f'cd {self._src_root} && make env',
shell=True, shell=True,
check=True, check=True,
capture_output=True, capture_output=True,

View File

@ -48,7 +48,7 @@ def format_cpp_str(
if not os.path.isfile(cfconfig): if not os.path.isfile(cfconfig):
raise CleanError( raise CleanError(
f".clang-format file not found in '{projroot}';" f".clang-format file not found in '{projroot}';"
" do 'make prereqs' to generate it." " do 'make env' to generate it."
) )
with tempfile.TemporaryDirectory() as tempdir: with tempfile.TemporaryDirectory() as tempdir:
@ -91,7 +91,7 @@ def format_project_cpp_files(projroot: Path, full: bool) -> None:
if not os.path.isfile(cfconfig): if not os.path.isfile(cfconfig):
raise CleanError( raise CleanError(
f".clang-format file not found in '{os.getcwd()}';" f".clang-format file not found in '{os.getcwd()}';"
" do 'make prereqs' to generate it." " do 'make env' to generate it."
) )
# Exclude generated files or else we could mess up dependencies # Exclude generated files or else we could mess up dependencies

View File

@ -74,7 +74,7 @@ def requirements_upgrade() -> None:
subprocess.run([sys.executable, '-m', 'pur', '-r', fname], check=True) subprocess.run([sys.executable, '-m', 'pur', '-r', fname], check=True)
# Sort lines. # Sort lines.
with open(reqpath, encoding='utf-8') as infile: with open(fname, encoding='utf-8') as infile:
reqs2 = infile.read().strip() reqs2 = infile.read().strip()
reqs_new = ( reqs_new = (
'\n'.join(sorted(reqs2.splitlines(), key=lambda l: l.lower())) '\n'.join(sorted(reqs2.splitlines(), key=lambda l: l.lower()))

View File

@ -46,7 +46,7 @@ if __name__ == '__main__':
env['BA_SPINOFF_DST_ROOT'] = dst_proj_root env['BA_SPINOFF_DST_ROOT'] = dst_proj_root
# Make sure the src project is properly bootstrapped. # Make sure the src project is properly bootstrapped.
subprocess.run(['make', 'prereqs'], check=True, cwd=src_proj_root) subprocess.run(['make', 'env'], check=True, cwd=src_proj_root)
# Finally, run for realz (from src proj dir). # Finally, run for realz (from src proj dir).
result = subprocess.run(cmd, check=False, env=env, cwd=src_proj_root) result = subprocess.run(cmd, check=False, env=env, cwd=src_proj_root)