47 lines
No EOL
1.2 KiB
Makefile
47 lines
No EOL
1.2 KiB
Makefile
.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)
|