diff options
author | Justus Winter <justus@sequoia-pgp.org> | 2019-01-17 11:11:27 +0100 |
---|---|---|
committer | Justus Winter <justus@sequoia-pgp.org> | 2019-01-17 16:48:28 +0100 |
commit | 3f58832474a4b270e136544016a401ef773ac065 (patch) | |
tree | c617160250c3040ca964c1b72ab5957cd872b82f /openpgp-ffi/Makefile | |
parent | 38b4108cc1eac851ac17932c5c33623dd535bebb (diff) |
openpgp-ffi: New crate.
- This creates a new crate, 'sequoia-openpgp-ffi', and moves a
handful of functions from 'sequoia-ffi' to it.
- The 'sequoia-ffi' crate is a superset of the 'sequoia-openpgp-ffi'
crate. This is accomplished by some include! magic.
- My first attempt involved having 'sequoia-ffi' depend on
'sequoia-openpgp-ffi', so that the former just re-exports the
symbols. However, that turned out to be unreliable, and might be
not what we want, because it could also duplicate parts of Rust's
standard library.
- Fixes #144.
Diffstat (limited to 'openpgp-ffi/Makefile')
-rw-r--r-- | openpgp-ffi/Makefile | 66 |
1 files changed, 66 insertions, 0 deletions
diff --git a/openpgp-ffi/Makefile b/openpgp-ffi/Makefile new file mode 100644 index 00000000..ba4e1d0f --- /dev/null +++ b/openpgp-ffi/Makefile @@ -0,0 +1,66 @@ +# Makefile for Sequoia's bindings. + +# Configuration. +PREFIX ?= /usr/local +DESTDIR ?= + +CARGO ?= cargo +CARGO_TARGET_DIR ?= $(shell pwd)/../target +# We currently only support absolute paths. +CARGO_TARGET_DIR := $(abspath $(CARGO_TARGET_DIR)) + +VERSION ?= $(shell grep '^version[[:space:]]*=[[:space:]]*' Cargo.toml | cut -d'"' -f2) +VERSION_MAJOR = $(shell echo $(VERSION) | cut -d'.' -f1) + +# Tools. +INSTALL ?= install + +# Make sure subprocesses pick these up. +export PREFIX +export DESTDIR + +all: build + +.PHONY: build +build: + : + +# Testing and examples. +.PHONY: test check +test check: + : + +.PHONY: examples +examples: + $(MAKE) -Cexamples + +# Installation. +.PHONY: build-release +build-release: + : + +.PHONY: install +install: + $(INSTALL) -d $(DESTDIR)$(PREFIX)/share/pkgconfig + sed -e 's|VERSION|$(VERSION)|g' \ + -e 's|PREFIX|$(PREFIX)|g' \ + sequoia-openpgp.pc.in \ + > $(DESTDIR)$(PREFIX)/share/pkgconfig/sequoia-openpgp.pc + $(INSTALL) -d $(DESTDIR)$(PREFIX)/include + $(INSTALL) -d $(DESTDIR)$(PREFIX)/include/sequoia + $(INSTALL) -t $(DESTDIR)$(PREFIX)/include/sequoia \ + include/sequoia/*.h + $(INSTALL) -d $(DESTDIR)$(PREFIX)/lib + $(INSTALL) $(CARGO_TARGET_DIR)/release/libsequoia_openpgp_ffi.so \ + $(DESTDIR)$(PREFIX)/lib/libsequoia_openpgp_ffi.so.$(VERSION) + ln -fs libsequoia_openpgp_ffi.so.$(VERSION) \ + $(DESTDIR)$(PREFIX)/lib/libsequoia_openpgp_ffi.so.$(VERSION_MAJOR) + ln -fs libsequoia_openpgp_ffi.so.$(VERSION) \ + $(DESTDIR)$(PREFIX)/lib/libsequoia_openpgp_ffi.so + $(INSTALL) $(CARGO_TARGET_DIR)/release/libsequoia_openpgp_ffi.a \ + $(DESTDIR)$(PREFIX)/lib/libsequoia_openpgp_ffi.a + +# Housekeeping. +.PHONY: clean +clean: + $(MAKE) -Cexamples clean |