mirror of
https://github.com/RYDE-WORK/ballistica.git
synced 2026-02-04 22:43:17 +08:00
added general prefab make targets and misc tidying
This commit is contained in:
parent
97dac7138c
commit
66693c11d1
91
Makefile
91
Makefile
@ -28,42 +28,6 @@
|
|||||||
# Prefix used for output of docs/changelogs/etc targets for use in webpages.
|
# Prefix used for output of docs/changelogs/etc targets for use in webpages.
|
||||||
DOCPREFIX = "ballisticacore_"
|
DOCPREFIX = "ballisticacore_"
|
||||||
|
|
||||||
# Print help by default
|
|
||||||
all: help
|
|
||||||
|
|
||||||
# Tell make which of these targets don't represent files.
|
|
||||||
.PHONY: all
|
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
|
||||||
# #
|
|
||||||
# Prefab #
|
|
||||||
# #
|
|
||||||
################################################################################
|
|
||||||
|
|
||||||
# Prebuilt binaries for various platforms.
|
|
||||||
|
|
||||||
prefab-mac: prefab-mac-build
|
|
||||||
@cd build/prefab/mac/debug && ./ballisticacore
|
|
||||||
|
|
||||||
prefab-mac-build: assets-cmake build/prefab/mac/debug/ballisticacore
|
|
||||||
@${STAGE_ASSETS} -cmake build/prefab/mac/debug
|
|
||||||
|
|
||||||
build/prefab/mac/debug/ballisticacore: .efrocachemap
|
|
||||||
@tools/snippets efrocache_get $@
|
|
||||||
|
|
||||||
prefab-mac-release: prefab-mac-release-build
|
|
||||||
@cd build/prefab-mac/release && ./ballisticacore
|
|
||||||
|
|
||||||
prefab-mac-release-build: assets-cmake build/prefab/mac/release/ballisticacore
|
|
||||||
@${STAGE_ASSETS} -cmake build/prefab/mac/release
|
|
||||||
|
|
||||||
build/prefab/mac/release/ballisticacore: .efrocachemap
|
|
||||||
@tools/snippets efrocache_get $@
|
|
||||||
|
|
||||||
# Tell make which of these targets don't represent files.
|
|
||||||
.PHONY: prefab-mac prefab-mac-build prefab-mac-release prefab-mac-release-build
|
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# #
|
# #
|
||||||
@ -77,12 +41,9 @@ PREREQS = .dir-locals.el .mypy.ini .pycheckers \
|
|||||||
.pylintrc .style.yapf .clang-format \
|
.pylintrc .style.yapf .clang-format \
|
||||||
.projectile .editorconfig
|
.projectile .editorconfig
|
||||||
|
|
||||||
# List the targets in this Makefile and basic descriptions for them.
|
# List targets in this Makefile and basic descriptions for them.
|
||||||
list:
|
|
||||||
@tools/snippets makefile_target_list Makefile
|
|
||||||
|
|
||||||
# Same as 'list'
|
|
||||||
help: list
|
help: list
|
||||||
|
@tools/snippets makefile_target_list Makefile
|
||||||
|
|
||||||
prereqs: ${PREREQS}
|
prereqs: ${PREREQS}
|
||||||
|
|
||||||
@ -151,6 +112,54 @@ cleanlist:
|
|||||||
clean cleanlist
|
clean cleanlist
|
||||||
|
|
||||||
|
|
||||||
|
################################################################################
|
||||||
|
# #
|
||||||
|
# Prefab #
|
||||||
|
# #
|
||||||
|
################################################################################
|
||||||
|
|
||||||
|
# Prebuilt binaries for various platforms.
|
||||||
|
|
||||||
|
# Download/assemble/run a debug build for this platform.
|
||||||
|
prefab:
|
||||||
|
@tools/snippets make_prefab debug
|
||||||
|
|
||||||
|
# Download/assemble/run a release build for this platform.
|
||||||
|
prefab-release:
|
||||||
|
@tools/snippets make_prefab release
|
||||||
|
|
||||||
|
# Download/assemble a debug build for this platform.
|
||||||
|
prefab-build:
|
||||||
|
@tools/snippets make_prefab debug-build
|
||||||
|
|
||||||
|
# Download/assemble a release build for this platform.
|
||||||
|
prefab-release-build:
|
||||||
|
@tools/snippets make_prefab release-build
|
||||||
|
|
||||||
|
# Specific platform prefab targets:
|
||||||
|
|
||||||
|
prefab-mac: prefab-mac-build
|
||||||
|
@cd build/prefab/mac/debug && ./ballisticacore
|
||||||
|
|
||||||
|
prefab-mac-build: assets-cmake build/prefab/mac/debug/ballisticacore
|
||||||
|
@${STAGE_ASSETS} -cmake build/prefab/mac/debug
|
||||||
|
|
||||||
|
build/prefab/mac/debug/ballisticacore: .efrocachemap
|
||||||
|
@tools/snippets efrocache_get $@
|
||||||
|
|
||||||
|
prefab-mac-release: prefab-mac-release-build
|
||||||
|
@cd build/prefab/mac/release && ./ballisticacore
|
||||||
|
|
||||||
|
prefab-mac-release-build: assets-cmake build/prefab/mac/release/ballisticacore
|
||||||
|
@${STAGE_ASSETS} -cmake build/prefab/mac/release
|
||||||
|
|
||||||
|
build/prefab/mac/release/ballisticacore: .efrocachemap
|
||||||
|
@tools/snippets efrocache_get $@
|
||||||
|
|
||||||
|
# Tell make which of these targets don't represent files.
|
||||||
|
.PHONY: prefab-mac prefab-mac-build prefab-mac-release prefab-mac-release-build
|
||||||
|
|
||||||
|
|
||||||
################################################################################
|
################################################################################
|
||||||
# #
|
# #
|
||||||
# Formatting / Checking #
|
# Formatting / Checking #
|
||||||
|
|||||||
@ -421,7 +421,7 @@ def makefile_target_list() -> None:
|
|||||||
|
|
||||||
print('--------------------------\n'
|
print('--------------------------\n'
|
||||||
'Available Makefile Targets\n'
|
'Available Makefile Targets\n'
|
||||||
'--------------------------\n')
|
'--------------------------')
|
||||||
|
|
||||||
entries: List[_Entry] = []
|
entries: List[_Entry] = []
|
||||||
for i, line in enumerate(lines):
|
for i, line in enumerate(lines):
|
||||||
@ -438,8 +438,11 @@ def makefile_target_list() -> None:
|
|||||||
entries.append(
|
entries.append(
|
||||||
_Entry(kind='section', line=i, title=line[1:-2].strip()))
|
_Entry(kind='section', line=i, title=line[1:-2].strip()))
|
||||||
|
|
||||||
for entry in entries:
|
for i, entry in enumerate(entries):
|
||||||
if entry.kind == 'section':
|
if entry.kind == 'section':
|
||||||
|
# Don't print headers for empty sections.
|
||||||
|
if i + 1 >= len(entries) or entries[i + 1].kind == 'section':
|
||||||
|
continue
|
||||||
print('\n' + entry.title + '\n' + '-' * len(entry.title))
|
print('\n' + entry.title + '\n' + '-' * len(entry.title))
|
||||||
elif entry.kind == 'target':
|
elif entry.kind == 'target':
|
||||||
print(CLRHDR + entry.title + CLRBLU + _docstr(lines, entry.line) +
|
print(CLRHDR + entry.title + CLRBLU + _docstr(lines, entry.line) +
|
||||||
|
|||||||
@ -649,5 +649,34 @@ def warm_start_asset_build() -> None:
|
|||||||
check=True)
|
check=True)
|
||||||
|
|
||||||
|
|
||||||
|
def make_prefab() -> None:
|
||||||
|
"""Run prefab builds for the current platform."""
|
||||||
|
from efrotools import run
|
||||||
|
import platform
|
||||||
|
|
||||||
|
if platform.system() == 'Darwin':
|
||||||
|
base = 'mac'
|
||||||
|
else:
|
||||||
|
raise RuntimeError('Prefab not supported on this platform.')
|
||||||
|
|
||||||
|
if len(sys.argv) != 3:
|
||||||
|
raise RuntimeError('Expected one argument')
|
||||||
|
|
||||||
|
arg = sys.argv[2]
|
||||||
|
|
||||||
|
if arg == 'debug':
|
||||||
|
target = f'prefab-{base}'
|
||||||
|
elif arg == 'debug-build':
|
||||||
|
target = f'prefab-{base}-build'
|
||||||
|
elif arg == 'release':
|
||||||
|
target = f'prefab-{base}-release'
|
||||||
|
elif arg == 'release-build':
|
||||||
|
target = f'prefab-{base}-release-build'
|
||||||
|
else:
|
||||||
|
raise RuntimeError(f'Invalid target: {arg}')
|
||||||
|
|
||||||
|
run(f'make {target}')
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
if __name__ == '__main__':
|
||||||
snippets_main(globals())
|
snippets_main(globals())
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user