4.4 KiB
Makefile
To build, verify, and install lnd
from source, use the following
commands:
make
make check
make install
Developers
This document specifies all commands available from lnd
's Makefile
.
The commands included handle:
- Installation of all go-related dependencies.
- Compilation and installation of
lnd
andlncli
. - Compilation and installation of
btcd
andbtcctl
. - Running unit and integration suites.
- Testing, debugging, and flake hunting.
- Formatting and linting.
Commands
all
btcd
build
check
clean
default
dep
flake-unit
flakehunter
fmt
install
itest
lint
list
rpc
scratch
travis
unit
unit-cover
unit-race
all
Compiles, tests, and installs lnd
and lncli
. Equivalent to
scratch
check
install
.
btcd
Ensures that github.com/Masterminds/glide
is installed, and
that the github.com/roasbeef/btcd
repository is checked out
locally. Lastly, installs the version of
github.com/roasbeef/btcd
specified in Gopkg.toml
build
Compiles the current source and vendor trees, creating ./lnd
and
./lncli
.
check
Installs the version of github.com/roasbeef/btcd
specified
in Gopkg.toml
, then runs the unit tests followed by the integration
tests.
clean
Removes compiled versions of both ./lnd
and ./lncli
, and removes the
vendor
tree.
default
Alias for scratch
.
dep
Ensures that github.com/golang/dep/cmd/dep
is installed, then
updates then dependencies in the vendor
tree using dep ensure
.
flake-unit
Runs the unit test endlessly until a failure is detected.
Arguments:
pkg=<package>
case=<testcase>
timeout=<timeout>
Related: unit
flakehunter
Runs the itegration test suite endlessly until a failure is detected.
Arguments:
icase=<itestcase>
timeout=<timeout>
Related: itest
fmt
Runs go fmt
on the entire project.
install
Copies the compiled lnd
and lncli
binaries into $GOPATH/bin
.
itest
Installs the version of github.com/roasbeef/btcd
specified in
Gopkg.toml
, builds the ./lnd
and ./lncli
binaries, then runs the
integration test suite.
Arguments:
icase=<itestcase>
timeout=<timeout>
lint
Ensures that gopkg.in/alecthomas/gometalinter.v1
is
installed, then lints the project.
list
Lists all known make targets.
rpc
Compiles the lnrpc
proto files.
scratch
Compiles all dependencies and builds the ./lnd
and ./lncli
binaries.
Equivalent to lint
dep
btcd
unit-race
.
travis
Note: This must be run with either RACE=true
or RACE=false
.
RACE=true
runslint
scratch
btcd
unit-race
.RACE=false
runslint
scratch
itest
unit-cover
. Afterwards,github.com/mattn/goveralls
is installed, and the coverage stats are uploaded to coveralls.io.
unit
Runs the unit test suite. By default, this will run all known unit tests.
Arguments:
pkg=<package>
case=<testcase>
timeout=<timeout>
unit-cover
Runs the unit test suite with test coverage, compiling the statisitics in
profile.cov
.
Arguments:
pkg=<package>
case=<testcase>
timeout=<timeout>
Related: unit
unit-race
Runs the unit test suite with go's race detector.
Arguments:
pkg=<package>
case=<testcase>
timeout=<timeout>
Related: unit