taler-rust

GNU Taler code in Rust. Largely core banking integrations.
Log | Files | Refs | Submodules | README | LICENSE

Makefile (3489B)


      1 # This Makefile has been placed under the public domain
      2 -include build-system/config.mk
      3 
      4 # Defaults for an unconfigured tree.  config.mk is included above, so whatever
      5 # ./configure resolved wins over these; a plain `make` without ./configure still
      6 # works and uses whichever cargo is on $PATH.  No rustup required either way.
      7 cargo ?= cargo
      8 prefix ?= /usr/local
      9 
     10 # Absolute DESTDIR or empty string if DESTDIR unset/empty
     11 abs_destdir=$(abspath $(DESTDIR))
     12 
     13 bin_dir=$(abs_destdir)$(prefix)/bin
     14 lib_dir=$(abs_destdir)$(prefix)/lib
     15 share_dir=$(abs_destdir)$(prefix)/share
     16 man_dir=$(share_dir)/man
     17 
     18 all: build
     19 
     20 .PHONY: build
     21 build:
     22 	$(cargo) build --release --bin taler-magnet-bank --bin taler-cyclos --bin taler-wise --bin taler-apns-relay
     23 
     24 .PHONY: install-files
     25 install-files:
     26 	install -m 644 -D -t $(share_dir)/taler-magnet-bank/config.d adapters/taler-magnet-bank/magnet-bank.conf
     27 	install -m 644 -D -t $(share_dir)/taler-magnet-bank/sql common/taler-common/db/versioning.sql 
     28 	install -m 644 -D -t $(share_dir)/taler-magnet-bank/sql adapters/taler-magnet-bank/db/magnet-bank*.sql
     29 	install -m 644 -D -t $(man_dir)/man1 doc/prebuilt/man/taler-magnet-bank.1
     30 	install -m 644 -D -t $(man_dir)/man5 doc/prebuilt/man/taler-magnet-bank.conf.5
     31 	install -m 644 -D -t $(share_dir)/taler-cyclos/config.d adapters/taler-cyclos/cyclos.conf
     32 	install -m 644 -D -t $(share_dir)/taler-cyclos/sql common/taler-common/db/versioning.sql 
     33 	install -m 644 -D -t $(share_dir)/taler-cyclos/sql adapters/taler-cyclos/db/cyclos*.sql
     34 	install -m 644 -D -t $(man_dir)/man1 doc/prebuilt/man/taler-cyclos.1
     35 	install -m 644 -D -t $(man_dir)/man5 doc/prebuilt/man/taler-cyclos.conf.5
     36 	install -m 644 -D -t $(share_dir)/taler-wise/config.d adapters/taler-wise/wise.conf
     37 	install -m 644 -D -t $(share_dir)/taler-wise/sql common/taler-common/db/versioning.sql 
     38 	install -m 644 -D -t $(share_dir)/taler-wise/sql adapters/taler-wise/db/wise*.sql
     39 	install -m 644 -D -t $(man_dir)/man1 doc/prebuilt/man/taler-wise.1
     40 	install -m 644 -D -t $(man_dir)/man5 doc/prebuilt/man/taler-wise.conf.5
     41 	install -m 644 -D -t $(share_dir)/taler-apns-relay/config.d taler-apns-relay/apns-relay.conf
     42 	install -m 644 -D -t $(share_dir)/taler-apns-relay/sql common/taler-common/db/versioning.sql 
     43 	install -m 644 -D -t $(share_dir)/taler-apns-relay/sql taler-apns-relay/db/apns-relay*.sql
     44 	install -m 644 -D -t $(man_dir)/man1 doc/prebuilt/man/taler-apns-relay.1
     45 	install -m 644 -D -t $(man_dir)/man5 doc/prebuilt/man/taler-apns-relay.conf.5
     46 	install -D -t $(bin_dir) contrib/taler-magnet-bank-dbconfig
     47 	install -D -t $(bin_dir) contrib/taler-cyclos-dbconfig
     48 	install -D -t $(bin_dir) contrib/taler-wise-dbconfig
     49 	install -D -t $(bin_dir) contrib/taler-apns-relay-dbconfig
     50 
     51 .PHONY: install
     52 install: build install-files
     53 	install -D -t $(bin_dir) target/release/taler-magnet-bank
     54 	install -D -t $(bin_dir) target/release/taler-cyclos
     55 	install -D -t $(bin_dir) target/release/taler-wise
     56 	install -D -t $(bin_dir) target/release/taler-apns-relay
     57 
     58 .PHONY: check
     59 check: install-files
     60 	$(cargo) test
     61 	$(cargo) clippy --all-targets
     62 
     63 .PHONY: doc
     64 doc:
     65 	$(cargo) doc
     66 
     67 .PHONY: deb
     68 deb:
     69 	dpkg-buildpackage -b -uc -us
     70 
     71 .PHONY: ci
     72 ci:
     73 	contrib/ci/run-all-jobs.sh
     74 
     75 .PHONY: fmt
     76 fmt:
     77 	rustfmt-unstable --apply
     78 
     79 .PHONY: coverage-cyclos
     80 coverage-cyclos:
     81 	$(cargo) llvm-cov clean --workspace
     82 	$(cargo) llvm-cov test --no-clean
     83 	$(cargo) llvm-cov run --bin cyclos-harness --no-clean -- -c dev.conf logic
     84 	$(cargo) llvm-cov report --lcov --output-path ./target/lcov.info