.PHONY: all build_ffi build_godot run_server run_server_build test clean # Configuration TARGET = x86_64-unknown-linux-musl FFI_LIB = ffi-wrapper\target\$(TARGET)\release\libffi_wrapper.a FFI_HEADER = ffi-wrapper\target\ffi-wrapper.h GODOT_LIB = godot-extension\target\release\godot_extension.dll SERVER_LIB_DIR = server\lib # Default: Build everything and deploy with build all: build_ffi build_godot run_server_build ## Build Targets ## network: build_ffi run_server_build build_ffi: cd ffi-wrapper && cargo build --release --target $(TARGET) build_godot: cd godot-extension && cargo build --release ## Deployment Targets ## run_server: cd server && docker compose up run_server_build: if not exist $(SERVER_LIB_DIR) mkdir $(SERVER_LIB_DIR) copy $(FFI_LIB) $(SERVER_LIB_DIR) copy $(FFI_HEADER) $(SERVER_LIB_DIR) cd server && docker compose up --build ## Test Target ## test: cd shared && cargo test --release cd ffi-wrapper && cargo test --release cd godot-extension && cargo test --release ## Cleanup ## clean: cd shared && cargo clean cd ffi-wrapper && cargo clean cd godot-extension && cargo clean if exist $(SERVER_LIB_DIR) rmdir /s /q $(SERVER_LIB_DIR)