Provenance uses make
to define build operations.
Built executables are placed in the build/
directory.
Building provenanced
requires Go 1.23 (specifically).
To build the provenanced
executable and place it in the build/
directory:
$ make build
To build the provenanced
executable and place it in your system's default Go bin/
directory.
$ make install
To use a specific version of provenanced
, check out that version's tag, then build or install it.
For example:
$ git checkout "v1.7.6" -b "tag-v1.7.6"
$ make install
A few aspects of make build
and make install
can be controlled through environment variables.
WITH_LEDGER
: Enables/Disables building with Ledger hardware wallet support. The default istrue
. If this is nottrue
the builtprovenanced
, executable will not work with Ledger hardware wallets.GO
: The GoLang executable. The default isgo
.BINDIR
: The path to the Go binary directory. The default is${GOPATH}/bin
.BUILDDIR
: The path to the directory where the built executable should be placed. The default is./build
.VERSION
: The string to use as the output ofprovenanced version
. The default is{branch name}-{short commit hash}
.BUILD_TAGS
: Any extra-tags
to supply to thego build
orgo install
invocations. These are appended to a list constructed by the Makefile.LDFLAGS
: Any extra-ldflags
to supply to thego build
orgo install
invocations. These are appended to a list constructed by the Makefile.CGO_LDFLAGS
: Anything extra to include in the CGO_LDFLAGS env var when invokinggo build
orgo install
. These are appended to a list constructed by the Makefile.CGO_CFLAGS
: Anything extra to include in the CGO_CFLAGS env var when invokinggo build
orgo install
. These are appended to a list constructed by the Makefile.BUILD_FLAGS
: Any extra flags to include when invokinggo build
orgo install.
. These are appended to a list constructed by the Makefile.