aboutsummaryrefslogtreecommitdiffstats
path: root/Makefile
diff options
context:
space:
mode:
authorLibravatar David <david003@gmx.net>2022-07-15 17:33:27 +0200
committerLibravatar David <david003@gmx.net>2022-07-15 17:33:27 +0200
commita46a91e183a272e012354a6f0263299448205acb (patch)
treeb0700f933db7149c1b95afed2e04d53772f7e2dc /Makefile
download2022-a46a91e183a272e012354a6f0263299448205acb.tar.gz
2022-a46a91e183a272e012354a6f0263299448205acb.tar.bz2
2022-a46a91e183a272e012354a6f0263299448205acb.zip
initial commit: template
Diffstat (limited to '')
-rw-r--r--Makefile176
-rw-r--r--Makefile.toml1006
2 files changed, 1182 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..9081ade
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,176 @@
+# TODO: This Makefile will be removed in the future
+{%- comment -%} dynamic make targets {%- endcomment -%}
+{%- assign target_dir = "./target" -%}
+{%- assign lib_dir = "./lib" -%}
+{%- assign bin_dir = "../bin" -%}
+{%- assign aarch64-linux-android-debug = "aarch64-linux-android,Android,debug" | split: "|" -%}
+{%- assign aarch64-linux-android-release = "aarch64-linux-android,Android,release" | split: "|" -%}
+{%- assign armv7-linux-androideabi-debug = "armv7-linux-androideabi,Android,debug" | split: "|" -%}
+{%- assign armv7-linux-androideabi-release = "armv7-linux-androideabi,Android,release" | split: "|" -%}
+{%- assign arm_android_targets = aarch64-linux-android-debug | concat: aarch64-linux-android-release | concat: armv7-linux-androideabi-debug | concat: armv7-linux-androideabi-release | compact -%}
+{%- assign i686-linux-android-debug = "i686-linux-android,Android,debug" | split: "|" -%}
+{%- assign i686-linux-android-release = "i686-linux-android,Android,release" | split: "|" -%}
+{%- assign x86_64-linux-android-debug = "x86_64-linux-android,Android,debug" | split: "|" -%}
+{%- assign x86_64-linux-android-release = "x86_64-linux-android,Android,release" | split: "|" -%}
+{%- assign x86_android_targets = i686-linux-android-debug | concat: i686-linux-android-release | concat: x86_64-linux-android-debug | concat: x86_64-linux-android-release | compact -%}
+{%- assign android_targets = arm_android_targets | concat: x86_android_targets | compact -%}
+{%- assign i686-unknown-linux-gnu-debug = "i686-unknown-linux-gnu,Linux/X11,debug" | split: "|" -%}
+{%- assign i686-unknown-linux-gnu-release = "i686-unknown-linux-gnu,Linux/X11,release" | split: "|" -%}
+{%- assign x86_64-unknown-linux-gnu-debug = "x86_64-unknown-linux-gnu,Linux/X11,debug" | split: "|" -%}
+{%- assign x86_64-unknown-linux-gnu-release = "x86_64-unknown-linux-gnu,Linux/X11,release" | split: "|" -%}
+{%- assign x86_linux_targets = i686-unknown-linux-gnu-debug | concat: i686-unknown-linux-gnu-release | concat: x86_64-unknown-linux-gnu-debug | concat: x86_64-unknown-linux-gnu-release | compact -%}
+{%- assign x86_64-apple-darwin-debug = "x86_64-apple-darwin,Mac OSX,debug" | split: "|" -%}
+{%- assign x86_64-apple-darwin-release = "x86_64-apple-darwin,Mac OSX,release" | split: "|" -%}
+{%- assign mac_osx_targets = x86_64-apple-darwin-debug | concat: x86_64-apple-darwin-release | compact -%}
+{%- assign aarch64-apple-ios-debug = "aarch64-apple-ios,iOS,debug" | split: "|" -%}
+{%- assign aarch64-apple-ios-release = "aarch64-apple-ios,iOS,release" | split: "|" -%}
+{%- assign ios_targets = aarch64-apple-ios-debug | concat: aarch64-apple-ios-release | compact -%}
+{%- assign i686-pc-windows-gnu-debug = "i686-pc-windows-gnu,Windows Desktop,debug" | split: "|" -%}
+{%- assign i686-pc-windows-gnu-release = "i686-pc-windows-gnu,Windows Desktop,release" | split: "|" -%}
+{%- assign x86_64-pc-windows-gnu-debug = "x86_64-pc-windows-gnu,Windows Desktop,debug" | split: "|" -%}
+{%- assign x86_64-pc-windows-gnu-release = "x86_64-pc-windows-gnu,Windows Desktop,release" | split: "|" -%}
+{%- assign i686-pc-windows-msvc-debug = "i686-pc-windows-msvc,Windows Desktop,debug" | split: "|" -%}
+{%- assign i686-pc-windows-msvc-release = "i686-pc-windows-msvc,Windows Desktop,release" | split: "|" -%}
+{%- assign x86_64-pc-windows-msvc-debug = "x86_64-pc-windows-msvc,Windows Desktop,debug" | split: "|" -%}
+{%- assign x86_64-pc-windows-msvc-release = "x86_64-pc-windows-msvc,Windows Desktop,release" | split: "|" -%}
+{%- assign windows_gnu_targets = i686-pc-windows-gnu-debug | concat: i686-pc-windows-gnu-release | concat: x86_64-pc-windows-gnu-debug | concat: x86_64-pc-windows-gnu-release | compact -%}
+{%- assign windows_msvc_targets = i686-pc-windows-msvc-debug | concat: i686-pc-windows-msvc-release | concat: x86_64-pc-windows-msvc-debug | concat: x86_64-pc-windows-msvc-release | compact -%}
+{%- assign all_targets = android_targets | concat: x86_linux_targets | concat: mac_osx_targets | concat: ios_targets | concat: windows_gnu_targets | concat: windows_msvc_targets | compact -%}
+{%- assign godot_project_path_arg = "--path godot/" -%}
+build-debug:
+{% for target in all_targets -%}
+{%- assign t = target | split: "," -%}
+{%- assign build_target = t[0] -%}
+{%- assign target_type = t[2] -%}
+{%- if target_type == "debug" -%}
+# make build-{{build_target}}-{{target_type}}
+{% endif %}
+{%- endfor %}
+build-release:
+{% for target in all_targets -%}
+{%- assign t = target | split: "," -%}
+{%- assign build_target = t[0] -%}
+{%- assign target_type = t[2] -%}
+{%- if target_type == "release" -%}
+# make build-{{build_target}}-{{target_type}}
+{% endif %}
+{%- endfor %}
+export-debug:
+{% for target in all_targets -%}
+{%- assign t = target | split: "," -%}
+{%- assign build_target = t[0] -%}
+{%- assign target_type = t[2] -%}
+{%- if target_type == "debug" -%}
+# make export-{{build_target}}-{{target_type}}
+{% endif %}
+{%- endfor %}
+export-release:
+{% for target in all_targets -%}
+{%- assign t = target | split: "," -%}
+{%- assign build_target = t[0] -%}
+{%- assign target_type = t[2] -%}
+{%- if target_type == "release" -%}
+# make export-{{build_target}}-{{target_type}}
+{% endif %}
+{%- endfor %}
+{%- for target in all_targets %}
+{%- assign t = target | split: "," -%}
+{%- assign build_target = t[0] -%}
+{%- assign export_target = t[1] -%}
+{%- assign target_type = t[2] -%}
+{%- capture exported_project -%}
+{%- case export_target -%}
+{%- when "Android" -%}
+{{project-name}}.{{target_type}}.{{build_target}}.apk
+{%- when "Linux/X11" -%}
+{{project-name}}.{{target_type}}.{{build_target}}
+{%- when "Mac OSX" -%}
+{{project-name}}.{{target_type}}.{{build_target}}
+{%- when "iOS" -%}
+{{project-name}}.{{target_type}}.{{build_target}}.ipa
+{%- when "Windows Desktop" -%}
+{{project-name}}.{{target_type}}.{{build_target}}.exe
+{%- endcase -%}
+{%- endcapture -%}
+{%- capture lib_ext -%}
+{%- case export_target -%}
+{%- when "Android" -%}
+so
+{%- when "Linux/X11" -%}
+so
+{%- when "Mac OSX" -%}
+dylib
+{%- when "iOS" -%}
+a
+{%- when "Windows Desktop" -%}
+dll
+{%- endcase -%}
+{%- endcapture -%}
+{%- capture build_arg -%}
+{%- case target_type -%}
+{%- when "debug" -%}
+
+{%- when "release" -%}
+--release
+{%- endcase -%}
+{%- endcapture -%}
+{%- capture export_arg -%}
+{%- case target_type -%}
+{%- when "debug" -%}
+--export-debug
+{%- when "release" -%}
+--export
+{%- endcase -%}
+{%- endcapture %}
+build-{{build_target}}-{{target_type}}:
+ cargo build --target {{build_target}} {{build_arg}}
+ mv -b {{target_dir}}/{{build_target}}/{{target_type}}/*.{{lib_ext}} {{lib_dir}}/{{build_target}}
+
+export-{{build_target}}-{{target_type}}: clean build-{{build_target}}-{{target_type}}
+ cd godot/ ; godot {{export_arg}} "{{export_target}}.{{build_target}}.{{target_type}}" {{bin_dir}}/{{build_target}}/{{exported_project}}
+{% endfor -%}
+{% comment %} static make targets {% endcomment %}
+audit:
+ cargo-audit audit
+
+check: clean
+ cargo check
+
+clean:
+ cargo clean
+
+create-debug-keystore:
+ keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore {{project-name}}.debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999 -deststoretype pkcs12
+
+create-release-keystore:
+ keytool -v -genkey -v -keystore {{project-name}}.release.keystore -alias {{project-name}} -keyalg RSA -validity 10000
+
+doc: clean
+ cargo doc --no-deps --open -v
+
+edit:
+# ${EDITOR} rust/src/lib.rs &
+ godot {{godot_project_path_arg}} -e &
+
+run:
+{% case os-arch -%}
+{%- when "linux-x86" -%}
+ make build-i686-unknown-linux-gnu-debug
+{%- when "linux-x86_64" -%}
+ make build-x86_64-unknown-linux-gnu-debug
+{%- when "macos-x86_64" -%}
+ make build-x86_64-apple-darwin-debug
+{%- when "windows-x86" -%}
+# make build-i686-pc-windows-gnu-debug
+ make build-i686-pc-windows-msvc-debug
+{%- when "windows-x86_64" -%}
+# make build-x86_64-pc-windows-gnu-debug
+ make build-x86_64-pc-windows-msvc-debug
+{%- endcase %}
+ godot {{godot_project_path_arg}} -d
+
+shell:
+ nix-shell --pure
+
+test: clean
+ cargo test
diff --git a/Makefile.toml b/Makefile.toml
new file mode 100644
index 0000000..224e99b
--- /dev/null
+++ b/Makefile.toml
@@ -0,0 +1,1006 @@
+[tasks.build-debug]
+script_runner = "@shell"
+script = '''
+# cargo make build-aarch64-linux-android-debug
+# cargo make build-armv7-linux-androideabi-debug
+# cargo make build-i686-linux-android-debug
+# cargo make build-x86_64-linux-android-debug
+# cargo make build-i686-unknown-linux-gnu-debug
+# cargo make build-x86_64-unknown-linux-gnu-debug
+# cargo make build-x86_64-apple-darwin-debug
+# cargo make build-aarch64-apple-ios-debug
+# cargo make build-i686-pc-windows-gnu-debug
+# cargo make build-x86_64-pc-windows-gnu-debug
+# cargo make build-i686-pc-windows-msvc-debug
+# cargo make build-x86_64-pc-windows-msvc-debug
+# cargo make build-wasm32-unknown-emscripten-debug
+'''
+
+[tasks.build-release]
+script_runner = "@shell"
+script = '''
+# cargo make build-aarch64-linux-android-release
+# cargo make build-armv7-linux-androideabi-release
+# cargo make build-i686-linux-android-release
+# cargo make build-x86_64-linux-android-release
+# cargo make build-i686-unknown-linux-gnu-release
+# cargo make build-x86_64-unknown-linux-gnu-release
+# cargo make build-x86_64-apple-darwin-release
+# cargo make build-aarch64-apple-ios-release
+# cargo make build-i686-pc-windows-gnu-release
+# cargo make build-x86_64-pc-windows-gnu-release
+# cargo make build-i686-pc-windows-msvc-release
+# cargo make build-x86_64-pc-windows-msvc-release
+# cargo make build-wasm32-unknown-emscripten-release
+'''
+
+[tasks.export-debug]
+script_runner = "@shell"
+script = '''
+# cargo make export-aarch64-linux-android-debug
+# cargo make export-armv7-linux-androideabi-debug
+# cargo make export-i686-linux-android-debug
+# cargo make export-x86_64-linux-android-debug
+# cargo make export-i686-unknown-linux-gnu-debug
+# cargo make export-x86_64-unknown-linux-gnu-debug
+# cargo make export-x86_64-apple-darwin-debug
+# cargo make export-aarch64-apple-ios-debug
+# cargo make export-i686-pc-windows-gnu-debug
+# cargo make export-x86_64-pc-windows-gnu-debug
+# cargo make export-i686-pc-windows-msvc-debug
+# cargo make export-x86_64-pc-windows-msvc-debug
+# cargo make export-wasm32-unknown-emscripten-debug
+'''
+
+[tasks.export-release]
+script_runner = "@shell"
+script = '''
+# cargo make export-aarch64-linux-android-release
+# cargo make export-armv7-linux-androideabi-release
+# cargo make export-i686-linux-android-release
+# cargo make export-x86_64-linux-android-release
+# cargo make export-i686-unknown-linux-gnu-release
+# cargo make export-x86_64-unknown-linux-gnu-release
+# cargo make export-x86_64-apple-darwin-release
+# cargo make export-aarch64-apple-ios-release
+# cargo make export-i686-pc-windows-gnu-release
+# cargo make export-x86_64-pc-windows-gnu-release
+# cargo make export-i686-pc-windows-msvc-release
+# cargo make export-x86_64-pc-windows-msvc-release
+# cargo make export-wasm32-unknown-emscripten-release
+'''
+
+
+[tasks.ps1-build-aarch64-linux-android-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target aarch64-linux-android
+mv ../target/aarch64-linux-android/debug/*.so ../lib/aarch64-linux-android
+'''
+
+[tasks.sh-build-aarch64-linux-android-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target aarch64-linux-android
+if [[ -f ../lib/aarch64-linux-android/*.so ]]; then
+ rm ../lib/aarch64-linux-android/*.so
+fi
+mv ../target/aarch64-linux-android/debug/*.so ../lib/aarch64-linux-android
+'''
+
+[tasks.build-aarch64-linux-android-debug]
+run_task = [
+ { name = "ps1-build-aarch64-linux-android-debug", condition = { platforms = ["windows"] } },
+ { name = "sh-build-aarch64-linux-android-debug", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-aarch64-linux-android-debug]
+dependencies = ["build-aarch64-linux-android-debug"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export-debug "Android.aarch64-linux-android.debug" ../bin/aarch64-linux-android/code-with-your-friends2022.debug.aarch64-linux-android.apk
+'''
+
+[tasks.ps1-build-aarch64-linux-android-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target aarch64-linux-android --release
+mv ../target/aarch64-linux-android/release/*.so ../lib/aarch64-linux-android
+'''
+
+[tasks.sh-build-aarch64-linux-android-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target aarch64-linux-android --release
+if [[ -f ../lib/aarch64-linux-android/*.so ]]; then
+ rm ../lib/aarch64-linux-android/*.so
+fi
+mv ../target/aarch64-linux-android/release/*.so ../lib/aarch64-linux-android
+'''
+
+[tasks.build-aarch64-linux-android-release]
+run_task = [
+ { name = "ps1-build-aarch64-linux-android-release", condition = { platforms = ["windows"] } },
+ { name = "sh-build-aarch64-linux-android-release", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-aarch64-linux-android-release]
+dependencies = ["build-aarch64-linux-android-release"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export "Android.aarch64-linux-android.release" ../bin/aarch64-linux-android/code-with-your-friends2022.release.aarch64-linux-android.apk
+'''
+
+[tasks.ps1-build-armv7-linux-androideabi-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target armv7-linux-androideabi
+mv ../target/armv7-linux-androideabi/debug/*.so ../lib/armv7-linux-androideabi
+'''
+
+[tasks.sh-build-armv7-linux-androideabi-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target armv7-linux-androideabi
+if [[ -f ../lib/armv7-linux-androideabi/*.so ]]; then
+ rm ../lib/armv7-linux-androideabi/*.so
+fi
+mv ../target/armv7-linux-androideabi/debug/*.so ../lib/armv7-linux-androideabi
+'''
+
+[tasks.build-armv7-linux-androideabi-debug]
+run_task = [
+ { name = "ps1-build-armv7-linux-androideabi-debug", condition = { platforms = ["windows"] } },
+ { name = "sh-build-armv7-linux-androideabi-debug", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-armv7-linux-androideabi-debug]
+dependencies = ["build-armv7-linux-androideabi-debug"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export-debug "Android.armv7-linux-androideabi.debug" ../bin/armv7-linux-androideabi/code-with-your-friends2022.debug.armv7-linux-androideabi.apk
+'''
+
+[tasks.ps1-build-armv7-linux-androideabi-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target armv7-linux-androideabi --release
+mv ../target/armv7-linux-androideabi/release/*.so ../lib/armv7-linux-androideabi
+'''
+
+[tasks.sh-build-armv7-linux-androideabi-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target armv7-linux-androideabi --release
+if [[ -f ../lib/armv7-linux-androideabi/*.so ]]; then
+ rm ../lib/armv7-linux-androideabi/*.so
+fi
+mv ../target/armv7-linux-androideabi/release/*.so ../lib/armv7-linux-androideabi
+'''
+
+[tasks.build-armv7-linux-androideabi-release]
+run_task = [
+ { name = "ps1-build-armv7-linux-androideabi-release", condition = { platforms = ["windows"] } },
+ { name = "sh-build-armv7-linux-androideabi-release", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-armv7-linux-androideabi-release]
+dependencies = ["build-armv7-linux-androideabi-release"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export "Android.armv7-linux-androideabi.release" ../bin/armv7-linux-androideabi/code-with-your-friends2022.release.armv7-linux-androideabi.apk
+'''
+
+[tasks.ps1-build-i686-linux-android-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target i686-linux-android
+mv ../target/i686-linux-android/debug/*.so ../lib/i686-linux-android
+'''
+
+[tasks.sh-build-i686-linux-android-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target i686-linux-android
+if [[ -f ../lib/i686-linux-android/*.so ]]; then
+ rm ../lib/i686-linux-android/*.so
+fi
+mv ../target/i686-linux-android/debug/*.so ../lib/i686-linux-android
+'''
+
+[tasks.build-i686-linux-android-debug]
+run_task = [
+ { name = "ps1-build-i686-linux-android-debug", condition = { platforms = ["windows"] } },
+ { name = "sh-build-i686-linux-android-debug", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-i686-linux-android-debug]
+dependencies = ["build-i686-linux-android-debug"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export-debug "Android.i686-linux-android.debug" ../bin/i686-linux-android/code-with-your-friends2022.debug.i686-linux-android.apk
+'''
+
+[tasks.ps1-build-i686-linux-android-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target i686-linux-android --release
+mv ../target/i686-linux-android/release/*.so ../lib/i686-linux-android
+'''
+
+[tasks.sh-build-i686-linux-android-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target i686-linux-android --release
+if [[ -f ../lib/i686-linux-android/*.so ]]; then
+ rm ../lib/i686-linux-android/*.so
+fi
+mv ../target/i686-linux-android/release/*.so ../lib/i686-linux-android
+'''
+
+[tasks.build-i686-linux-android-release]
+run_task = [
+ { name = "ps1-build-i686-linux-android-release", condition = { platforms = ["windows"] } },
+ { name = "sh-build-i686-linux-android-release", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-i686-linux-android-release]
+dependencies = ["build-i686-linux-android-release"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export "Android.i686-linux-android.release" ../bin/i686-linux-android/code-with-your-friends2022.release.i686-linux-android.apk
+'''
+
+[tasks.ps1-build-x86_64-linux-android-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target x86_64-linux-android
+mv ../target/x86_64-linux-android/debug/*.so ../lib/x86_64-linux-android
+'''
+
+[tasks.sh-build-x86_64-linux-android-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target x86_64-linux-android
+if [[ -f ../lib/x86_64-linux-android/*.so ]]; then
+ rm ../lib/x86_64-linux-android/*.so
+fi
+mv ../target/x86_64-linux-android/debug/*.so ../lib/x86_64-linux-android
+'''
+
+[tasks.build-x86_64-linux-android-debug]
+run_task = [
+ { name = "ps1-build-x86_64-linux-android-debug", condition = { platforms = ["windows"] } },
+ { name = "sh-build-x86_64-linux-android-debug", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-x86_64-linux-android-debug]
+dependencies = ["build-x86_64-linux-android-debug"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export-debug "Android.x86_64-linux-android.debug" ../bin/x86_64-linux-android/code-with-your-friends2022.debug.x86_64-linux-android.apk
+'''
+
+[tasks.ps1-build-x86_64-linux-android-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target x86_64-linux-android --release
+mv ../target/x86_64-linux-android/release/*.so ../lib/x86_64-linux-android
+'''
+
+[tasks.sh-build-x86_64-linux-android-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target x86_64-linux-android --release
+if [[ -f ../lib/x86_64-linux-android/*.so ]]; then
+ rm ../lib/x86_64-linux-android/*.so
+fi
+mv ../target/x86_64-linux-android/release/*.so ../lib/x86_64-linux-android
+'''
+
+[tasks.build-x86_64-linux-android-release]
+run_task = [
+ { name = "ps1-build-x86_64-linux-android-release", condition = { platforms = ["windows"] } },
+ { name = "sh-build-x86_64-linux-android-release", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-x86_64-linux-android-release]
+dependencies = ["build-x86_64-linux-android-release"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export "Android.x86_64-linux-android.release" ../bin/x86_64-linux-android/code-with-your-friends2022.release.x86_64-linux-android.apk
+'''
+
+[tasks.ps1-build-i686-unknown-linux-gnu-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target i686-unknown-linux-gnu
+mv ../target/i686-unknown-linux-gnu/debug/*.so ../lib/i686-unknown-linux-gnu
+'''
+
+[tasks.sh-build-i686-unknown-linux-gnu-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target i686-unknown-linux-gnu
+if [[ -f ../lib/i686-unknown-linux-gnu/*.so ]]; then
+ rm ../lib/i686-unknown-linux-gnu/*.so
+fi
+mv ../target/i686-unknown-linux-gnu/debug/*.so ../lib/i686-unknown-linux-gnu
+'''
+
+[tasks.build-i686-unknown-linux-gnu-debug]
+run_task = [
+ { name = "ps1-build-i686-unknown-linux-gnu-debug", condition = { platforms = ["windows"] } },
+ { name = "sh-build-i686-unknown-linux-gnu-debug", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-i686-unknown-linux-gnu-debug]
+dependencies = ["build-i686-unknown-linux-gnu-debug"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export-debug "Linux/X11.i686-unknown-linux-gnu.debug" ../bin/i686-unknown-linux-gnu/code-with-your-friends2022.debug.i686-unknown-linux-gnu
+'''
+
+[tasks.ps1-build-i686-unknown-linux-gnu-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target i686-unknown-linux-gnu --release
+mv ../target/i686-unknown-linux-gnu/release/*.so ../lib/i686-unknown-linux-gnu
+'''
+
+[tasks.sh-build-i686-unknown-linux-gnu-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target i686-unknown-linux-gnu --release
+if [[ -f ../lib/i686-unknown-linux-gnu/*.so ]]; then
+ rm ../lib/i686-unknown-linux-gnu/*.so
+fi
+mv ../target/i686-unknown-linux-gnu/release/*.so ../lib/i686-unknown-linux-gnu
+'''
+
+[tasks.build-i686-unknown-linux-gnu-release]
+run_task = [
+ { name = "ps1-build-i686-unknown-linux-gnu-release", condition = { platforms = ["windows"] } },
+ { name = "sh-build-i686-unknown-linux-gnu-release", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-i686-unknown-linux-gnu-release]
+dependencies = ["build-i686-unknown-linux-gnu-release"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export "Linux/X11.i686-unknown-linux-gnu.release" ../bin/i686-unknown-linux-gnu/code-with-your-friends2022.release.i686-unknown-linux-gnu
+'''
+
+[tasks.ps1-build-x86_64-unknown-linux-gnu-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target x86_64-unknown-linux-gnu
+mv ../target/x86_64-unknown-linux-gnu/debug/*.so ../lib/x86_64-unknown-linux-gnu
+'''
+
+[tasks.sh-build-x86_64-unknown-linux-gnu-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target x86_64-unknown-linux-gnu
+if [[ -f ../lib/x86_64-unknown-linux-gnu/*.so ]]; then
+ rm ../lib/x86_64-unknown-linux-gnu/*.so
+fi
+mv ../target/x86_64-unknown-linux-gnu/debug/*.so ../lib/x86_64-unknown-linux-gnu
+'''
+
+[tasks.build-x86_64-unknown-linux-gnu-debug]
+run_task = [
+ { name = "ps1-build-x86_64-unknown-linux-gnu-debug", condition = { platforms = ["windows"] } },
+ { name = "sh-build-x86_64-unknown-linux-gnu-debug", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-x86_64-unknown-linux-gnu-debug]
+dependencies = ["build-x86_64-unknown-linux-gnu-debug"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export-debug "Linux/X11.x86_64-unknown-linux-gnu.debug" ../bin/x86_64-unknown-linux-gnu/code-with-your-friends2022.debug.x86_64-unknown-linux-gnu
+'''
+
+[tasks.ps1-build-x86_64-unknown-linux-gnu-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target x86_64-unknown-linux-gnu --release
+mv ../target/x86_64-unknown-linux-gnu/release/*.so ../lib/x86_64-unknown-linux-gnu
+'''
+
+[tasks.sh-build-x86_64-unknown-linux-gnu-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target x86_64-unknown-linux-gnu --release
+if [[ -f ../lib/x86_64-unknown-linux-gnu/*.so ]]; then
+ rm ../lib/x86_64-unknown-linux-gnu/*.so
+fi
+mv ../target/x86_64-unknown-linux-gnu/release/*.so ../lib/x86_64-unknown-linux-gnu
+'''
+
+[tasks.build-x86_64-unknown-linux-gnu-release]
+run_task = [
+ { name = "ps1-build-x86_64-unknown-linux-gnu-release", condition = { platforms = ["windows"] } },
+ { name = "sh-build-x86_64-unknown-linux-gnu-release", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-x86_64-unknown-linux-gnu-release]
+dependencies = ["build-x86_64-unknown-linux-gnu-release"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export "Linux/X11.x86_64-unknown-linux-gnu.release" ../bin/x86_64-unknown-linux-gnu/code-with-your-friends2022.release.x86_64-unknown-linux-gnu
+'''
+
+[tasks.ps1-build-x86_64-apple-darwin-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target x86_64-apple-darwin
+mv ../target/x86_64-apple-darwin/debug/*.dylib ../lib/x86_64-apple-darwin
+'''
+
+[tasks.sh-build-x86_64-apple-darwin-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target x86_64-apple-darwin
+if [[ -f ../lib/x86_64-apple-darwin/*.dylib ]]; then
+ rm ../lib/x86_64-apple-darwin/*.dylib
+fi
+mv ../target/x86_64-apple-darwin/debug/*.dylib ../lib/x86_64-apple-darwin
+'''
+
+[tasks.build-x86_64-apple-darwin-debug]
+run_task = [
+ { name = "ps1-build-x86_64-apple-darwin-debug", condition = { platforms = ["windows"] } },
+ { name = "sh-build-x86_64-apple-darwin-debug", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-x86_64-apple-darwin-debug]
+dependencies = ["build-x86_64-apple-darwin-debug"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export-debug "Mac OSX.x86_64-apple-darwin.debug" ../bin/x86_64-apple-darwin/code-with-your-friends2022.debug.x86_64-apple-darwin.dmg
+'''
+
+[tasks.ps1-build-x86_64-apple-darwin-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target x86_64-apple-darwin --release
+mv ../target/x86_64-apple-darwin/release/*.dylib ../lib/x86_64-apple-darwin
+'''
+
+[tasks.sh-build-x86_64-apple-darwin-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target x86_64-apple-darwin --release
+if [[ -f ../lib/x86_64-apple-darwin/*.dylib ]]; then
+ rm ../lib/x86_64-apple-darwin/*.dylib
+fi
+mv ../target/x86_64-apple-darwin/release/*.dylib ../lib/x86_64-apple-darwin
+'''
+
+[tasks.build-x86_64-apple-darwin-release]
+run_task = [
+ { name = "ps1-build-x86_64-apple-darwin-release", condition = { platforms = ["windows"] } },
+ { name = "sh-build-x86_64-apple-darwin-release", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-x86_64-apple-darwin-release]
+dependencies = ["build-x86_64-apple-darwin-release"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export "Mac OSX.x86_64-apple-darwin.release" ../bin/x86_64-apple-darwin/code-with-your-friends2022.release.x86_64-apple-darwin.dmg
+'''
+
+[tasks.ps1-build-aarch64-apple-ios-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target aarch64-apple-ios
+mv ../target/aarch64-apple-ios/debug/*.a ../lib/aarch64-apple-ios
+'''
+
+[tasks.sh-build-aarch64-apple-ios-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target aarch64-apple-ios
+if [[ -f ../lib/aarch64-apple-ios/*.a ]]; then
+ rm ../lib/aarch64-apple-ios/*.a
+fi
+mv ../target/aarch64-apple-ios/debug/*.a ../lib/aarch64-apple-ios
+'''
+
+[tasks.build-aarch64-apple-ios-debug]
+run_task = [
+ { name = "ps1-build-aarch64-apple-ios-debug", condition = { platforms = ["windows"] } },
+ { name = "sh-build-aarch64-apple-ios-debug", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-aarch64-apple-ios-debug]
+dependencies = ["build-aarch64-apple-ios-debug"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export-debug "iOS.aarch64-apple-ios.debug" ../bin/aarch64-apple-ios/code-with-your-friends2022.debug.aarch64-apple-ios
+'''
+
+[tasks.ps1-build-aarch64-apple-ios-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target aarch64-apple-ios --release
+mv ../target/aarch64-apple-ios/release/*.a ../lib/aarch64-apple-ios
+'''
+
+[tasks.sh-build-aarch64-apple-ios-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target aarch64-apple-ios --release
+if [[ -f ../lib/aarch64-apple-ios/*.a ]]; then
+ rm ../lib/aarch64-apple-ios/*.a
+fi
+mv ../target/aarch64-apple-ios/release/*.a ../lib/aarch64-apple-ios
+'''
+
+[tasks.build-aarch64-apple-ios-release]
+run_task = [
+ { name = "ps1-build-aarch64-apple-ios-release", condition = { platforms = ["windows"] } },
+ { name = "sh-build-aarch64-apple-ios-release", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-aarch64-apple-ios-release]
+dependencies = ["build-aarch64-apple-ios-release"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export "iOS.aarch64-apple-ios.release" ../bin/aarch64-apple-ios/code-with-your-friends2022.release.aarch64-apple-ios
+'''
+
+[tasks.ps1-build-i686-pc-windows-gnu-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target i686-pc-windows-gnu
+mv ../target/i686-pc-windows-gnu/debug/*.dll ../lib/i686-pc-windows-gnu
+'''
+
+[tasks.sh-build-i686-pc-windows-gnu-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target i686-pc-windows-gnu
+if [[ -f ../lib/i686-pc-windows-gnu/*.dll ]]; then
+ rm ../lib/i686-pc-windows-gnu/*.dll
+fi
+mv ../target/i686-pc-windows-gnu/debug/*.dll ../lib/i686-pc-windows-gnu
+'''
+
+[tasks.build-i686-pc-windows-gnu-debug]
+run_task = [
+ { name = "ps1-build-i686-pc-windows-gnu-debug", condition = { platforms = ["windows"] } },
+ { name = "sh-build-i686-pc-windows-gnu-debug", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-i686-pc-windows-gnu-debug]
+dependencies = ["build-i686-pc-windows-gnu-debug"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export-debug "Windows Desktop.i686-pc-windows-gnu.debug" ../bin/i686-pc-windows-gnu/code-with-your-friends2022.debug.i686-pc-windows-gnu.exe
+'''
+
+[tasks.ps1-build-i686-pc-windows-gnu-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target i686-pc-windows-gnu --release
+mv ../target/i686-pc-windows-gnu/release/*.dll ../lib/i686-pc-windows-gnu
+'''
+
+[tasks.sh-build-i686-pc-windows-gnu-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target i686-pc-windows-gnu --release
+if [[ -f ../lib/i686-pc-windows-gnu/*.dll ]]; then
+ rm ../lib/i686-pc-windows-gnu/*.dll
+fi
+mv ../target/i686-pc-windows-gnu/release/*.dll ../lib/i686-pc-windows-gnu
+'''
+
+[tasks.build-i686-pc-windows-gnu-release]
+run_task = [
+ { name = "ps1-build-i686-pc-windows-gnu-release", condition = { platforms = ["windows"] } },
+ { name = "sh-build-i686-pc-windows-gnu-release", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-i686-pc-windows-gnu-release]
+dependencies = ["build-i686-pc-windows-gnu-release"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export "Windows Desktop.i686-pc-windows-gnu.release" ../bin/i686-pc-windows-gnu/code-with-your-friends2022.release.i686-pc-windows-gnu.exe
+'''
+
+[tasks.ps1-build-x86_64-pc-windows-gnu-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target x86_64-pc-windows-gnu
+mv ../target/x86_64-pc-windows-gnu/debug/*.dll ../lib/x86_64-pc-windows-gnu
+'''
+
+[tasks.sh-build-x86_64-pc-windows-gnu-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target x86_64-pc-windows-gnu
+if [[ -f ../lib/x86_64-pc-windows-gnu/*.dll ]]; then
+ rm ../lib/x86_64-pc-windows-gnu/*.dll
+fi
+mv ../target/x86_64-pc-windows-gnu/debug/*.dll ../lib/x86_64-pc-windows-gnu
+'''
+
+[tasks.build-x86_64-pc-windows-gnu-debug]
+run_task = [
+ { name = "ps1-build-x86_64-pc-windows-gnu-debug", condition = { platforms = ["windows"] } },
+ { name = "sh-build-x86_64-pc-windows-gnu-debug", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-x86_64-pc-windows-gnu-debug]
+dependencies = ["build-x86_64-pc-windows-gnu-debug"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export-debug "Windows Desktop.x86_64-pc-windows-gnu.debug" ../bin/x86_64-pc-windows-gnu/code-with-your-friends2022.debug.x86_64-pc-windows-gnu.exe
+'''
+
+[tasks.ps1-build-x86_64-pc-windows-gnu-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target x86_64-pc-windows-gnu --release
+mv ../target/x86_64-pc-windows-gnu/release/*.dll ../lib/x86_64-pc-windows-gnu
+'''
+
+[tasks.sh-build-x86_64-pc-windows-gnu-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target x86_64-pc-windows-gnu --release
+if [[ -f ../lib/x86_64-pc-windows-gnu/*.dll ]]; then
+ rm ../lib/x86_64-pc-windows-gnu/*.dll
+fi
+mv ../target/x86_64-pc-windows-gnu/release/*.dll ../lib/x86_64-pc-windows-gnu
+'''
+
+[tasks.build-x86_64-pc-windows-gnu-release]
+run_task = [
+ { name = "ps1-build-x86_64-pc-windows-gnu-release", condition = { platforms = ["windows"] } },
+ { name = "sh-build-x86_64-pc-windows-gnu-release", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-x86_64-pc-windows-gnu-release]
+dependencies = ["build-x86_64-pc-windows-gnu-release"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export "Windows Desktop.x86_64-pc-windows-gnu.release" ../bin/x86_64-pc-windows-gnu/code-with-your-friends2022.release.x86_64-pc-windows-gnu.exe
+'''
+
+[tasks.ps1-build-i686-pc-windows-msvc-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target i686-pc-windows-msvc
+mv ../target/i686-pc-windows-msvc/debug/*.dll ../lib/i686-pc-windows-msvc
+'''
+
+[tasks.sh-build-i686-pc-windows-msvc-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target i686-pc-windows-msvc
+if [[ -f ../lib/i686-pc-windows-msvc/*.dll ]]; then
+ rm ../lib/i686-pc-windows-msvc/*.dll
+fi
+mv ../target/i686-pc-windows-msvc/debug/*.dll ../lib/i686-pc-windows-msvc
+'''
+
+[tasks.build-i686-pc-windows-msvc-debug]
+run_task = [
+ { name = "ps1-build-i686-pc-windows-msvc-debug", condition = { platforms = ["windows"] } },
+ { name = "sh-build-i686-pc-windows-msvc-debug", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-i686-pc-windows-msvc-debug]
+dependencies = ["build-i686-pc-windows-msvc-debug"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export-debug "Windows Desktop.i686-pc-windows-msvc.debug" ../bin/i686-pc-windows-msvc/code-with-your-friends2022.debug.i686-pc-windows-msvc.exe
+'''
+
+[tasks.ps1-build-i686-pc-windows-msvc-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target i686-pc-windows-msvc --release
+mv ../target/i686-pc-windows-msvc/release/*.dll ../lib/i686-pc-windows-msvc
+'''
+
+[tasks.sh-build-i686-pc-windows-msvc-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target i686-pc-windows-msvc --release
+if [[ -f ../lib/i686-pc-windows-msvc/*.dll ]]; then
+ rm ../lib/i686-pc-windows-msvc/*.dll
+fi
+mv ../target/i686-pc-windows-msvc/release/*.dll ../lib/i686-pc-windows-msvc
+'''
+
+[tasks.build-i686-pc-windows-msvc-release]
+run_task = [
+ { name = "ps1-build-i686-pc-windows-msvc-release", condition = { platforms = ["windows"] } },
+ { name = "sh-build-i686-pc-windows-msvc-release", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-i686-pc-windows-msvc-release]
+dependencies = ["build-i686-pc-windows-msvc-release"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export "Windows Desktop.i686-pc-windows-msvc.release" ../bin/i686-pc-windows-msvc/code-with-your-friends2022.release.i686-pc-windows-msvc.exe
+'''
+
+[tasks.ps1-build-x86_64-pc-windows-msvc-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target x86_64-pc-windows-msvc
+mv ../target/x86_64-pc-windows-msvc/debug/*.dll ../lib/x86_64-pc-windows-msvc
+'''
+
+[tasks.sh-build-x86_64-pc-windows-msvc-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target x86_64-pc-windows-msvc
+if [[ -f ../lib/x86_64-pc-windows-msvc/*.dll ]]; then
+ rm ../lib/x86_64-pc-windows-msvc/*.dll
+fi
+mv ../target/x86_64-pc-windows-msvc/debug/*.dll ../lib/x86_64-pc-windows-msvc
+'''
+
+[tasks.build-x86_64-pc-windows-msvc-debug]
+run_task = [
+ { name = "ps1-build-x86_64-pc-windows-msvc-debug", condition = { platforms = ["windows"] } },
+ { name = "sh-build-x86_64-pc-windows-msvc-debug", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-x86_64-pc-windows-msvc-debug]
+dependencies = ["build-x86_64-pc-windows-msvc-debug"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export-debug "Windows Desktop.x86_64-pc-windows-msvc.debug" ../bin/x86_64-pc-windows-msvc/code-with-your-friends2022.debug.x86_64-pc-windows-msvc.exe
+'''
+
+[tasks.ps1-build-x86_64-pc-windows-msvc-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target x86_64-pc-windows-msvc --release
+mv ../target/x86_64-pc-windows-msvc/release/*.dll ../lib/x86_64-pc-windows-msvc
+'''
+
+[tasks.sh-build-x86_64-pc-windows-msvc-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target x86_64-pc-windows-msvc --release
+if [[ -f ../lib/x86_64-pc-windows-msvc/*.dll ]]; then
+ rm ../lib/x86_64-pc-windows-msvc/*.dll
+fi
+mv ../target/x86_64-pc-windows-msvc/release/*.dll ../lib/x86_64-pc-windows-msvc
+'''
+
+[tasks.build-x86_64-pc-windows-msvc-release]
+run_task = [
+ { name = "ps1-build-x86_64-pc-windows-msvc-release", condition = { platforms = ["windows"] } },
+ { name = "sh-build-x86_64-pc-windows-msvc-release", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-x86_64-pc-windows-msvc-release]
+dependencies = ["build-x86_64-pc-windows-msvc-release"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export "Windows Desktop.x86_64-pc-windows-msvc.release" ../bin/x86_64-pc-windows-msvc/code-with-your-friends2022.release.x86_64-pc-windows-msvc.exe
+'''
+
+[tasks.ps1-build-wasm32-unknown-emscripten-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target wasm32-unknown-emscripten
+mv ../target/wasm32-unknown-emscripten/debug/*.wasm ../lib/wasm32-unknown-emscripten
+'''
+
+[tasks.sh-build-wasm32-unknown-emscripten-debug]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target wasm32-unknown-emscripten
+if [[ -f ../lib/wasm32-unknown-emscripten/*.wasm ]]; then
+ rm ../lib/wasm32-unknown-emscripten/*.wasm
+fi
+mv ../target/wasm32-unknown-emscripten/debug/*.wasm ../lib/wasm32-unknown-emscripten
+'''
+
+[tasks.build-wasm32-unknown-emscripten-debug]
+run_task = [
+ { name = "ps1-build-wasm32-unknown-emscripten-debug", condition = { platforms = ["windows"] } },
+ { name = "sh-build-wasm32-unknown-emscripten-debug", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-wasm32-unknown-emscripten-debug]
+dependencies = ["build-wasm32-unknown-emscripten-debug"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export-debug "HTML5.wasm32-unknown-emscripten.debug" ../bin/wasm32-unknown-emscripten/code-with-your-friends2022.debug.wasm32-unknown-emscripten.html
+'''
+
+[tasks.ps1-build-wasm32-unknown-emscripten-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target wasm32-unknown-emscripten --release
+mv ../target/wasm32-unknown-emscripten/release/*.wasm ../lib/wasm32-unknown-emscripten
+'''
+
+[tasks.sh-build-wasm32-unknown-emscripten-release]
+dependencies = ["clean"]
+script_runner = "@shell"
+script = '''
+cargo build --target wasm32-unknown-emscripten --release
+if [[ -f ../lib/wasm32-unknown-emscripten/*.wasm ]]; then
+ rm ../lib/wasm32-unknown-emscripten/*.wasm
+fi
+mv ../target/wasm32-unknown-emscripten/release/*.wasm ../lib/wasm32-unknown-emscripten
+'''
+
+[tasks.build-wasm32-unknown-emscripten-release]
+run_task = [
+ { name = "ps1-build-wasm32-unknown-emscripten-release", condition = { platforms = ["windows"] } },
+ { name = "sh-build-wasm32-unknown-emscripten-release", condition = { platforms = ["linux", "mac"] } }
+]
+
+[tasks.export-wasm32-unknown-emscripten-release]
+dependencies = ["build-wasm32-unknown-emscripten-release"]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot --export "HTML5.wasm32-unknown-emscripten.release" ../bin/wasm32-unknown-emscripten/code-with-your-friends2022.release.wasm32-unknown-emscripten.html
+'''
+
+[tasks.audit]
+command = "cargo"
+args = ["audit"]
+
+[tasks.check]
+command = "cargo"
+args = ["check"]
+dependencies = ["clean"]
+
+[tasks.clean]
+command = "cargo"
+args = ["clean"]
+
+[tasks.create-debug-keystore]
+script_runner = "@shell"
+script = '''
+keytool -keyalg RSA -genkeypair -alias androiddebugkey -keypass android -keystore code-with-your-friends2022.debug.keystore -storepass android -dname "CN=Android Debug,O=Android,C=US" -validity 9999 -deststoretype pkcs12
+mv -b *.keystore ..
+'''
+
+[tasks.create-release-keystore]
+script_runner = "@shell"
+script = '''
+keytool -keyalg RSA -genkeypair -alias code-with-your-friends2022 -keypass ${@} -keystore code-with-your-friends2022.release.keystore -storepass ${@} -dname "CN=code-with-your-friends2022,O=Android,C=US" -validity 10000 -deststoretype pkcs12
+mv -b *.keystore ..
+'''
+
+[tasks.doc]
+command = "cargo"
+args = ["doc", "--no-deps", "--open", "-v"]
+dependencies = ["clean"]
+
+[tasks.edit]
+script_runner = "@shell"
+script = '''
+godot --path ../godot/ -e
+'''
+
+[tasks.run-for-linux]
+# dependencies = ["build-i686-unknown-linux-gnu-debug"]
+dependencies = ["build-x86_64-unknown-linux-gnu-debug"]
+run_task = "run-godot"
+
+[tasks.run-for-macos]
+dependencies = ["build-x86_64-apple-darwin-debug"]
+run_task = "run-godot"
+
+[tasks.run-for-windows]
+# dependencies = ["build-i686-pc-windows-gnu-debug"]
+# dependencies = ["build-i686-pc-windows-msvc-debug"]
+# dependencies = ["build-x86_64-pc-windows-gnu-debug"]
+dependencies = ["build-x86_64-pc-windows-msvc-debug"]
+run_task = "run-godot"
+
+[tasks.run-godot]
+script_runner = "@shell"
+script = '''
+cd ../godot/
+godot -d
+'''
+
+[tasks.run]
+run_task = [
+ { name = "run-for-windows", condition = { platforms = ["windows"] } },
+ { name = "run-for-linux", condition = { platforms = ["linux"] } },
+ { name = "run-for-macos", condition = { platforms = ["mac"] } }
+]
+
+[tasks.test]
+command = "cargo"
+args = ["test"]
+dependencies = ["clean"]
+
+[env]
+CARGO_MAKE_EXTEND_WORKSPACE_MAKEFILE = true