tame/tamer/Makefile.am

99 lines
2.8 KiB
Makefile

## TAMER Makefile
#
# Copyright (C) 2014-2023 Ryan Specialty, LLC.
#
# This file is part of TAME.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
##
# `Makefile.am` is processed by Automake into `Makefile.in`, which is then
# processed by Autoconf into the final `Makefile`.
#
# The `@`-delimited variables are defined dynamically in `configure.ac`,
# which is processed by Autoconf into `configure`; they are populated based
# on the environment in which the `configure` script is invoked.
SHELL = /bin/bash -o pipefail
.DELETE_ON_ERROR:
.PHONY: all fix fmt check-fmt bench bench-build FORCE
CARGO_BUILD_FLAGS=@CARGO_BUILD_FLAGS@
RUSTFLAGS=@RUSTFLAGS@
ontviz_svg := target/doc/tamer/asg/ontviz.svg
.DEFAULT: bin
all: bin doc bench-build
.PHONY: bin
bin:
RUSTFLAGS="$(RUSTFLAGS)" @CARGO@ +@RUST_TC@ @CARGO_FLAGS@ build $(CARGO_BUILD_FLAGS) @FEATURES@
doc: html
html-am: rustdoc $(ontviz_svg)
.PHONY: rustdoc
rustdoc:
RUSTFLAGS="$(RUSTFLAGS)" @CARGO@ +@RUST_TC@ @CARGO_FLAGS@ test --doc @FEATURES@
RUSTFLAGS="$(RUSTFLAGS)" @CARGO@ +@RUST_TC@ @CARGO_FLAGS@ @CARGO_DOC_FLAGS@ doc --document-private-items @FEATURES@
$(ontviz_svg): FORCE
build-aux/asg-ontviz | $(DOT) -Tsvg > $@
# note that 'cargo check' is something else; see 'cargo --help'
test: check
check-am: check-lint check-fmt check-cargo check-docgen check-system
.PHONY: check-cargo
check-cargo:
RUSTFLAGS="$(RUSTFLAGS)" @CARGO@ +@RUST_TC@ @CARGO_FLAGS@ test --quiet @FEATURES@
.PHONY: check-docgen
check-docgen:
build-aux/asg-ontviz >/dev/null
.PHONY: check-system
check-system: bin
tests/run-tests
.PHONY: check-lint
check-lint:
RUSTFLAGS="$(RUSTFLAGS)" @CARGO@ +@RUST_TC@ @CARGO_FLAGS@ clippy @FEATURES@
.PHONY: check-fmt
check-fmt:
@CARGO@ +@RUST_TC@ @CARGO_FLAGS@ fmt -- --check
bench:
RUSTFLAGS="$(RUSTFLAGS)" @CARGO@ +@RUST_TC@ @CARGO_FLAGS@ @CARGO_BENCH_PRE_FLAGS@ bench $(CARGO_BENCH_FLAGS) @FEATURES@
# Build but do not run benches (to ensures we didn't break them)
bench-build:
RUSTFLAGS="$(RUSTFLAGS)" @CARGO@ +@RUST_TC@ @CARGO_FLAGS@ @CARGO_BENCH_PRE_FLAGS@ build --benches @FEATURES@
fix: fmt
fmt:
@CARGO@ +@RUST_TC@ @CARGO_FLAGS@ fmt
clean-am:
@CARGO@ +@RUST_TC@ @CARGO_FLAGS@ clean
.PHONY: fetch
fetch:
@CARGO@ +@RUST_TC@ --locked fetch