an efficient binary archive format
1# Makefile for C API tests
2
3CARGO_TARGET_DIR ?= ../target
4RUST_LIB = $(CARGO_TARGET_DIR)/debug/libbindle_file.a
5TEST_BINARY = runtest
6
7# Detect OS
8UNAME_S := $(shell uname -s)
9
10ifeq ($(UNAME_S),Darwin)
11 LDFLAGS = -framework Security -lSystem -lresolv -lc -lm
12else
13 LDFLAGS = -lpthread -ldl -lm
14endif
15
16all: test
17
18$(RUST_LIB):
19 cd .. && cargo build
20
21$(TEST_BINARY): test.c $(RUST_LIB)
22 $(CC) -o $(TEST_BINARY) test.c $(RUST_LIB) $(LDFLAGS)
23
24test: $(TEST_BINARY)
25 ./$(TEST_BINARY)
26
27clean:
28 rm -f $(TEST_BINARY) *.bndl
29
30.PHONY: all test clean