Instructions for building

This commit is contained in:
David Högborg
2015-07-21 12:12:15 +02:00
parent f08490122c
commit a1df57bb39

View File

@@ -1,7 +1,7 @@
# rtl-gopow # rtl-gopow
Render tables from rtl_power to a nice heat map Render tables from rtl_power to a nice heat map. Faster and easier to use than other tools, gopow does not require a scripting enviroment, dependencies or development enviroment to run. Just download the binary and execute. At the same time gopow offers 2-3.6 times the performance compared to script based tools, depending on input file.
# Availability ## Availability
Since Go is easy to cross compile, this tool can be easily distributed as a binary without any dependencies. You'll find it under [Releases](https://github.com/dhogborg/rtl-gopow/releases) here on github. The following platforms are avalible as a ready to run binary file: Since Go is easy to cross compile, this tool can be easily distributed as a binary without any dependencies. You'll find it under [Releases](https://github.com/dhogborg/rtl-gopow/releases) here on github. The following platforms are avalible as a ready to run binary file:
* OS X (x64) * OS X (x64)
@@ -12,9 +12,35 @@ Since Go is easy to cross compile, this tool can be easily distributed as a bina
https://github.com/dhogborg/rtl-gopow/releases https://github.com/dhogborg/rtl-gopow/releases
## Building
(only needed if making changes to the source, otherwise you can download a [release binary](https://github.com/dhogborg/rtl-gopow/releases))
### Install tooling
`make setup` will install [go-bindata](https://github.com/jteeuwen/go-bindata) which is needed to build the resources. Make sure $GOPATH/bin is in your $PATH so your shell can find the tool.
### Make resources
`make resources` will compile rtl-gopow/resources/ to rtl-gopow/internal/resources/resources.go. This file is disposable and will re-generate on every build.
### Make build
Every platform has it's own make command.
* `make build_darwin`
* `make build_linux`
* `make build_arm5`
* `make build_arm7`
* `make build_win`
All commands will compile a binary to rtl-gopow/build/gopow[.exe] and create a distributable zip file. For more info on cross compilation see [this document](http://dave.cheney.net/2013/07/09/an-introduction-to-cross-compilation-with-go-1-1).
`make all` will build all platforms and create zip files in rtl-gopow/build/ and then remove the executable files.
### go build/run
Before runnning `go build *.go` or `go run *.go` make sure the resources has been generated by `make resources`.
## Performance ## Performance
A render of a 600 MB csv file takes about 2 minutes on a 2,4 GHz Intel Core i5. There is still lots of room for improvement on that though. Memory usage is quite horrid. A render of a 600 MB csv file takes about 2 minutes on a 2,4 GHz Intel Core i5. There is still lots of room for improvement on that though. Memory usage is quite horrid.
Compared to script based tools gopow will run more than 2x faster for smaller files, and more than 3x faster for bigger files.
## Options ## Options
``` ```
GLOBAL OPTIONS: GLOBAL OPTIONS: