CC := gcc THIS_DIR := $(dir $(realpath $(lastword $(MAKEFILE_LIST)))) REPO_ROOT := $(THIS_DIR)/.. build: out/example clean: rm -r out || true rm include/servicepoint.h || true cargo clean run: out/example out/example PHONY: build clean dependencies run out/example: dependencies main.c mkdir -p out || true ${CC} main.c \ -I $(REPO_ROOT)/include \ -L $(REPO_ROOT)/target/release \ -Wl,-Bstatic -lservicepoint_binding_c \ -Wl,-Bdynamic -llzma \ -o out/example dependencies: FORCE cargo build --manifest-path=$(REPO_ROOT)/Cargo.toml --release FORCE: ;