diff options
-rw-r--r-- | Makefile | 25 | ||||
-rw-r--r-- | ffi/Makefile | 6 | ||||
-rw-r--r-- | openpgp-ffi/Makefile | 4 | ||||
-rw-r--r-- | sqv/Makefile | 9 | ||||
-rw-r--r-- | store/Makefile | 24 | ||||
-rw-r--r-- | tool/Makefile | 32 |
6 files changed, 74 insertions, 26 deletions
@@ -85,40 +85,19 @@ doc: # Installation. .PHONY: build-release build-release: - CARGO_TARGET_DIR=$(CARGO_TARGET_DIR) \ - $(CARGO) build $(CARGO_FLAGS) --release --all $(MAKE) -Copenpgp-ffi build-release $(MAKE) -Cffi build-release + $(MAKE) -Ctool build-release $(MAKE) -Csqv build-release $(MAKE) -Csop build-release .PHONY: install install: build-release - $(INSTALL) -d $(DESTDIR)$(PREFIX)/lib/sequoia - $(INSTALL) -t $(DESTDIR)$(PREFIX)/lib/sequoia \ - $(CARGO_TARGET_DIR)/release/sequoia-public-key-store - $(INSTALL) -d $(DESTDIR)$(PREFIX)/bin - $(INSTALL) -t $(DESTDIR)$(PREFIX)/bin \ - $(CARGO_TARGET_DIR)/release/sq $(MAKE) -Copenpgp-ffi install $(MAKE) -Cffi install + $(MAKE) -Ctool install $(MAKE) -Csqv install $(MAKE) -Csop install - $(INSTALL) -d $(DESTDIR)$(PREFIX)/share/zsh/site-functions - $(INSTALL) -t $(DESTDIR)$(PREFIX)/share/zsh/site-functions \ - $(CARGO_TARGET_DIR)/_sq - $(INSTALL) -t $(DESTDIR)$(PREFIX)/share/zsh/site-functions \ - $(CARGO_TARGET_DIR)/_sqv - $(INSTALL) -d $(DESTDIR)$(PREFIX)/share/bash-completion/completions - $(INSTALL) $(CARGO_TARGET_DIR)/sq.bash \ - $(DESTDIR)$(PREFIX)/share/bash-completion/completions/sq - $(INSTALL) $(CARGO_TARGET_DIR)/sqv.bash \ - $(DESTDIR)$(PREFIX)/share/bash-completion/completions/sqv - $(INSTALL) -d $(DESTDIR)$(PREFIX)/share/fish/completions - $(INSTALL) -t $(DESTDIR)$(PREFIX)/share/fish/completions \ - $(CARGO_TARGET_DIR)/sq.fish - $(INSTALL) -t $(DESTDIR)$(PREFIX)/share/fish/completions \ - $(CARGO_TARGET_DIR)/sqv.fish # Infrastructure for creating source distributions. .PHONY: dist diff --git a/ffi/Makefile b/ffi/Makefile index f35c2238..3dddfcd4 100644 --- a/ffi/Makefile +++ b/ffi/Makefile @@ -58,11 +58,14 @@ examples: # Installation. .PHONY: build-release build-release: + CARGO_TARGET_DIR=$(CARGO_TARGET_DIR) \ + $(CARGO) build $(CARGO_FLAGS) --release --package sequoia-ffi $(MAKE) -Clang/python build-release $(call sequoia_pc,$(CARGO_TARGET_DIR)/release,true) + $(MAKE) -C../store install .PHONY: install -install: +install: build-release $(INSTALL) -d $(DESTDIR)$(PREFIX)/share/pkgconfig $(call sequoia_pc,$(DESTDIR)$(PREFIX)/share/pkgconfig,) $(INSTALL) -d $(DESTDIR)$(PREFIX)/include @@ -79,6 +82,7 @@ install: $(DESTDIR)$(PREFIX)/lib/libsequoia_ffi.$(_SEQ_LIB_EXT) $(INSTALL) $(CARGO_TARGET_DIR)/release/libsequoia_ffi.a \ $(DESTDIR)$(PREFIX)/lib/libsequoia_ffi.a + $(MAKE) -C../store install # Now the bindings. $(MAKE) -Clang/python install diff --git a/openpgp-ffi/Makefile b/openpgp-ffi/Makefile index 49511468..b6a378fa 100644 --- a/openpgp-ffi/Makefile +++ b/openpgp-ffi/Makefile @@ -71,10 +71,12 @@ examples: # Installation. .PHONY: build-release build-release: + CARGO_TARGET_DIR=$(CARGO_TARGET_DIR) \ + $(CARGO) build $(CARGO_FLAGS) --release --package sequoia-openpgp-ffi $(call sequoia_openpgp_pc,$(CARGO_TARGET_DIR)/release,true) .PHONY: install -install: +install: build-release $(INSTALL) -d $(DESTDIR)$(PREFIX)/share/pkgconfig $(call sequoia_openpgp_pc,$(DESTDIR)$(PREFIX)/share/pkgconfig,) $(INSTALL) -d $(DESTDIR)$(PREFIX)/include diff --git a/sqv/Makefile b/sqv/Makefile index 4f3d9524..7d07b106 100644 --- a/sqv/Makefile +++ b/sqv/Makefile @@ -24,6 +24,15 @@ build-release: install: build-release $(INSTALL) -d $(DESTDIR)$(PREFIX)/bin $(INSTALL) -t $(DESTDIR)$(PREFIX)/bin $(CARGO_TARGET_DIR)/release/sqv + $(INSTALL) -d $(DESTDIR)$(PREFIX)/share/zsh/site-functions + $(INSTALL) -t $(DESTDIR)$(PREFIX)/share/zsh/site-functions \ + $(CARGO_TARGET_DIR)/_sqv + $(INSTALL) -d $(DESTDIR)$(PREFIX)/share/bash-completion/completions + $(INSTALL) $(CARGO_TARGET_DIR)/sqv.bash \ + $(DESTDIR)$(PREFIX)/share/bash-completion/completions/sqv + $(INSTALL) -d $(DESTDIR)$(PREFIX)/share/fish/completions + $(INSTALL) -t $(DESTDIR)$(PREFIX)/share/fish/completions \ + $(CARGO_TARGET_DIR)/sqv.fish # Maintenance. .PHONY: update-usage diff --git a/store/Makefile b/store/Makefile new file mode 100644 index 00000000..2b907289 --- /dev/null +++ b/store/Makefile @@ -0,0 +1,24 @@ +# Configuration. +CARGO_TARGET_DIR ?= $(shell pwd)/../target +# We currently only support absolute paths. +CARGO_TARGET_DIR := $(abspath $(CARGO_TARGET_DIR)) + +# Tools. +CARGO ?= cargo +ifeq ($(shell uname -s), Darwin) + INSTALL ?= ginstall +else + INSTALL ?= install +endif + +# Installation. +.PHONY: build-release +build-release: + CARGO_TARGET_DIR=$(CARGO_TARGET_DIR) \ + $(CARGO) build $(CARGO_FLAGS) --release --package sequoia-store + +.PHONY: install +install: build-release + $(INSTALL) -d $(DESTDIR)$(PREFIX)/lib/sequoia + $(INSTALL) -t $(DESTDIR)$(PREFIX)/lib/sequoia \ + $(CARGO_TARGET_DIR)/release/sequoia-public-key-store diff --git a/tool/Makefile b/tool/Makefile index 196a4cfb..78177449 100644 --- a/tool/Makefile +++ b/tool/Makefile @@ -1,11 +1,41 @@ -CARGO ?= cargo +# Configuration. CARGO_TARGET_DIR ?= $(shell pwd)/../target # We currently only support absolute paths. CARGO_TARGET_DIR := $(abspath $(CARGO_TARGET_DIR)) SQ ?= $(CARGO_TARGET_DIR)/debug/sq +# Tools. +CARGO ?= cargo +ifeq ($(shell uname -s), Darwin) + INSTALL ?= ginstall +else + INSTALL ?= install +endif + all: src/sq-usage.rs +# Installation. +.PHONY: build-release +build-release: + CARGO_TARGET_DIR=$(CARGO_TARGET_DIR) \ + $(CARGO) build $(CARGO_FLAGS) --release --package sequoia-tool + $(MAKE) -C../store build-release + +.PHONY: install +install: build-release + $(INSTALL) -d $(DESTDIR)$(PREFIX)/bin + $(INSTALL) -t $(DESTDIR)$(PREFIX)/bin $(CARGO_TARGET_DIR)/release/sq + $(INSTALL) -d $(DESTDIR)$(PREFIX)/share/zsh/site-functions + $(INSTALL) -t $(DESTDIR)$(PREFIX)/share/zsh/site-functions \ + $(CARGO_TARGET_DIR)/_sq + $(INSTALL) -d $(DESTDIR)$(PREFIX)/share/bash-completion/completions + $(INSTALL) $(CARGO_TARGET_DIR)/sq.bash \ + $(DESTDIR)$(PREFIX)/share/bash-completion/completions/sq + $(INSTALL) -d $(DESTDIR)$(PREFIX)/share/fish/completions + $(INSTALL) -t $(DESTDIR)$(PREFIX)/share/fish/completions \ + $(CARGO_TARGET_DIR)/sq.fish + $(MAKE) -C../store install + # Maintenance. .PHONY: update-usage update-usage: src/sq-usage.rs |