Archived
1
0
Fork 0
This repository has been archived on 2026-01-19. You can view files and clone it, but cannot push or open issues or pull requests.
Danmaku/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)