summaryrefslogtreecommitdiff
path: root/cmd/anygone/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'cmd/anygone/Makefile')
-rw-r--r--cmd/anygone/Makefile76
1 files changed, 76 insertions, 0 deletions
diff --git a/cmd/anygone/Makefile b/cmd/anygone/Makefile
new file mode 100644
index 0000000..92cb899
--- /dev/null
+++ b/cmd/anygone/Makefile
@@ -0,0 +1,76 @@
+##
+## Copyright (c) 2017 anygone contributors (see AUTHORS file)
+## All rights reserved.
+##
+## Redistribution and use in source and binary forms, with or without
+## modification, are permitted provided that the following conditions are met:
+##
+## * Redistributions of source code must retain the above copyright notice, this
+## list of conditions and the following disclaimer.
+##
+## * Redistributions in binary form must reproduce the above copyright notice,
+## this list of conditions and the following disclaimer in the documentation
+## and/or other materials provided with the distribution.
+##
+## * Neither the name of anygone nor the names of its
+## contributors may be used to endorse or promote products derived from
+## this software without specific prior written permission.
+##
+## THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+## AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+## IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+## DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE
+## FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
+## DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR
+## SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
+## CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
+## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
+## OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+##
+
+GOCMD := go
+ifdef GOROOT
+GOCMD = $(GOROOT)/bin/go
+endif
+EXECUTEABLE := anygone
+
+LIBS := "go.anytun.org/anygone/satp" \
+ "github.com/lab11/go-tuntap/tuntap" \
+ "github.com/spf13/pflag"
+
+all: build test
+.PHONY: vet format getlibs updatelibs build build-static test bench cover clean distclean
+
+vet:
+ $(GOCMD) vet
+
+format:
+ $(GOCMD) fmt
+
+getlibs:
+ @$(foreach lib,$(LIBS), echo "fetching lib: $(lib)"; $(GOCMD) get $(lib);)
+
+updatelibs:
+ @$(foreach lib,$(LIBS), echo "updating lib: $(lib)"; $(GOCMD) get -u $(lib);)
+
+build: getlibs
+ $(GOCMD) build -o $(EXECUTEABLE)
+
+build-static: getlibs
+ $(GOCMD) build -tags netgo -o $(EXECUTEABLE)
+
+test:
+ $(GOCMD) test
+
+bench:
+ @$(GOCMD) test -bench=.
+
+cover:
+ @$(GOCMD) test -coverprofile=coverage.out
+ @$(GOCMD) tool cover -html=coverage.out
+
+distclean: clean
+ rm -f $(EXECUTEABLE).8
+
+clean:
+ rm -f $(EXECUTEABLE)