summaryrefslogtreecommitdiffstats
path: root/ffi/Makefile
blob: ed3b0d3f4fb748d11ef89be831b29e6e92a52f1d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
# Makefile for Sequoia's bindings.

# Configuration.
PREFIX		?= /usr/local
DESTDIR		?=

VERSION		?= $(shell grep '^version = ' 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:

sequoia.pc: sequoia.pc.in
	sed -e 's|VERSION|$(VERSION)|g' \
	    -e 's|PREFIX|$(PREFIX)|g' \
		$< >$@

.PHONY: install
install: sequoia.pc
	$(INSTALL) -d $(DESTDIR)$(PREFIX)/share/pkgconfig
	$(INSTALL) -t $(DESTDIR)$(PREFIX)/share/pkgconfig \
		sequoia.pc
	$(INSTALL) -d $(DESTDIR)$(PREFIX)/include
	$(INSTALL) -t $(DESTDIR)$(PREFIX)/include include/sequoia.h
	$(INSTALL) -d $(DESTDIR)$(PREFIX)/include/sequoia
	$(INSTALL) -t $(DESTDIR)$(PREFIX)/include/sequoia \
		include/sequoia/*.h
	$(INSTALL) -d $(DESTDIR)$(PREFIX)/lib
	$(INSTALL) ../target/release/libsequoia_ffi.so \
		$(DESTDIR)$(PREFIX)/lib/libsequoia.so.$(VERSION)
	ln -fs libsequoia.so.$(VERSION) \
		$(DESTDIR)$(PREFIX)/lib/libsequoia.so.$(VERSION_MAJOR)
	$(INSTALL) ../target/release/libsequoia_ffi.a \
		$(DESTDIR)$(PREFIX)/lib/libsequoia.a

# Housekeeping.
.PHONY: clean
clean:
	rm -f sequoia.pc
	$(MAKE) -Cexamples clean