31 lines
575 B
Makefile
31 lines
575 B
Makefile
![]() |
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: ;
|