## ## 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)