summaryrefslogtreecommitdiffstats
path: root/openpgp-ffi/examples/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'openpgp-ffi/examples/Makefile')
-rw-r--r--openpgp-ffi/examples/Makefile12
1 files changed, 11 insertions, 1 deletions
diff --git a/openpgp-ffi/examples/Makefile b/openpgp-ffi/examples/Makefile
index 3b659e50..7986d7d6 100644
--- a/openpgp-ffi/examples/Makefile
+++ b/openpgp-ffi/examples/Makefile
@@ -5,13 +5,23 @@ CARGO_TARGET_DIR ?= $(shell pwd)/../../target
# We currently only support absolute paths.
CARGO_TARGET_DIR := $(abspath $(CARGO_TARGET_DIR))
-TARGETS = example reader parser encrypt-for armor type-safety-demo use-after-free-demo
+# We are producing binaries here.
+EXAMPLE_TARGET_DIR ?= $(CARGO_TARGET_DIR)/debug/c-examples/openpgp-ffi
+
+EXAMPLES = example reader parser encrypt-for armor type-safety-demo use-after-free-demo
CFLAGS = -I../include -O0 -g -Wall -Werror
LDFLAGS = -L$(CARGO_TARGET_DIR)/debug -lsequoia_openpgp_ffi
+# Prefix our target directory.
+TARGETS := $(foreach example,$(EXAMPLES),$(EXAMPLE_TARGET_DIR)/$(example))
+
all: $(TARGETS)
clean:
rm -f $(TARGETS)
$(TARGETS): ../include/sequoia/openpgp.h
+
+$(EXAMPLE_TARGET_DIR)/%: %.c
+ mkdir -p $(EXAMPLE_TARGET_DIR)
+ $(CC) $(CFLAGS) $(LDFLAGS) -o "$@" "$<"