Something went wrong. Try again.
sloproxy
Something went wrong. Try again.
1.6 kB · 48 lines
Makefile
at main
12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849EXAMPLES := simple model auth frontend-auth executor protocol-format request-translator request-normalizer response-translator response-normalizer thinking usage cli management-api host-callback host-callback-auth-files host-model-callback claude-web-search-routerLANGUAGES := go c rustBIN_DIR := $(CURDIR)/binBUILD_DIR := $(BIN_DIR)/build
UNAME_S := $(shell uname -s)
ifeq ($(OS),Windows_NT)PLUGIN_EXT := dllRUST_DYLIB_PREFIX :=RUST_DYLIB_EXT := dllelse ifeq ($(UNAME_S),Darwin)PLUGIN_EXT := dylibRUST_DYLIB_PREFIX := libRUST_DYLIB_EXT := dylibelsePLUGIN_EXT := soRUST_DYLIB_PREFIX := libRUST_DYLIB_EXT := soendif
.PHONY: build list clean
build: $(foreach example,$(EXAMPLES),$(foreach lang,$(LANGUAGES),$(BIN_DIR)/$(example)-$(lang).$(PLUGIN_EXT)))
list: @$(foreach example,$(EXAMPLES),$(foreach lang,$(LANGUAGES),echo $(example)/$(lang);))
clean: rm -rf $(BIN_DIR)
$(BIN_DIR): mkdir -p $(BIN_DIR)
$(BUILD_DIR): mkdir -p $(BUILD_DIR)
$(BIN_DIR)/%-go.$(PLUGIN_EXT): %/go/main.go %/go/go.mod | $(BIN_DIR) cd $*/go && go build -buildmode=c-shared -o $(abspath $@) . rm -f $(BIN_DIR)/$*-go.h
$(BIN_DIR)/%-c.$(PLUGIN_EXT): %/c/CMakeLists.txt %/c/src/plugin.c | $(BIN_DIR) $(BUILD_DIR) cmake -S $*/c -B $(BUILD_DIR)/$*/c -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=$(BIN_DIR) cmake --build $(BUILD_DIR)/$*/c
$(BIN_DIR)/%-rust.$(PLUGIN_EXT): %/rust/Cargo.toml %/rust/Cargo.lock %/rust/src/lib.rs | $(BIN_DIR) $(BUILD_DIR) cd $*/rust && CARGO_TARGET_DIR=$(abspath $(BUILD_DIR)/$*/rust) cargo build --release --locked cp "$(BUILD_DIR)/$*/rust/release/$(RUST_DYLIB_PREFIX)cliproxy_$(subst -,_,$*)_rust.$(RUST_DYLIB_EXT)" "$@"