Makefile (2638B)
1 # This Makefile has been placed under the public domain 2 -include build-system/config.mk 3 4 # Absolute DESTDIR or empty string if DESTDIR unset/empty 5 abs_destdir=$(abspath $(DESTDIR)) 6 7 bin_dir=$(abs_destdir)$(prefix)/bin 8 lib_dir=$(abs_destdir)$(prefix)/lib 9 share_dir=$(abs_destdir)$(prefix)/share 10 man_dir=$(abs_destdir)$(prefix)/share/man 11 12 all: build 13 14 .PHONY: build 15 build: 16 cargo build --release --bin taler-magnet-bank --bin taler-cyclos --bin taler-apns-relay 17 18 .PHONY: install-nobuild-files 19 install-nobuild-files: 20 install -m 644 -D -t $(share_dir)/taler-magnet-bank/config.d taler-magnet-bank/magnet-bank.conf 21 install -m 644 -D -t $(share_dir)/taler-magnet-bank/sql common/taler-common/db/versioning.sql 22 install -m 644 -D -t $(share_dir)/taler-magnet-bank/sql taler-magnet-bank/db/magnet-bank*.sql 23 install -m 644 -D -t $(man_dir)/man1 doc/prebuilt/man/taler-magnet-bank.1 24 install -m 644 -D -t $(man_dir)/man5 doc/prebuilt/man/taler-magnet-bank.conf.5 25 install -m 644 -D -t $(share_dir)/taler-cyclos/config.d taler-cyclos/cyclos.conf 26 install -m 644 -D -t $(share_dir)/taler-cyclos/sql common/taler-common/db/versioning.sql 27 install -m 644 -D -t $(share_dir)/taler-cyclos/sql taler-cyclos/db/cyclos*.sql 28 install -m 644 -D -t $(man_dir)/man1 doc/prebuilt/man/taler-cyclos.1 29 install -m 644 -D -t $(man_dir)/man5 doc/prebuilt/man/taler-cyclos.conf.5 30 install -m 644 -D -t $(share_dir)/taler-apns-relay/config.d taler-apns-relay/apns-relay.conf 31 install -m 644 -D -t $(share_dir)/taler-apns-relay/sql common/taler-common/db/versioning.sql 32 install -m 644 -D -t $(share_dir)/taler-apns-relay/sql taler-apns-relay/db/apns-relay*.sql 33 install -m 644 -D -t $(man_dir)/man1 doc/prebuilt/man/taler-apns-relay.1 34 install -m 644 -D -t $(man_dir)/man5 doc/prebuilt/man/taler-apns-relay.conf.5 35 36 .PHONY: install 37 install: build install-nobuild-files 38 install -D -t $(bin_dir) contrib/taler-magnet-bank-dbconfig 39 install -D -t $(bin_dir) target/release/taler-magnet-bank 40 install -D -t $(bin_dir) contrib/taler-cyclos-dbconfig 41 install -D -t $(bin_dir) target/release/taler-cyclos 42 install -D -t $(bin_dir) contrib/taler-apns-relay-dbconfig 43 install -D -t $(bin_dir) target/release/taler-apns-relay 44 45 .PHONY: check 46 check: install-nobuild-files 47 cargo clippy --all-targets 48 cargo test 49 50 .PHONY: doc 51 doc: 52 cargo doc 53 54 .PHONY: deb 55 deb: 56 dpkg-buildpackage -b -uc -us 57 58 .PHONY: ci 59 ci: 60 contrib/ci/run-all-jobs.sh 61 62 .PHONY: coverage-cyclos 63 coverage-cyclos: 64 cargo llvm-cov clean --workspace 65 cargo llvm-cov test --no-clean 66 cargo llvm-cov run --bin cyclos-harness --no-clean -- -c dev.conf logic 67 cargo llvm-cov report --lcov --output-path ./target/lcov.info