# Copyright 2015-2016 Luke Shumaker # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU Affero General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU Affero General Public License for more details. # # You should have received a copy of the GNU Affero General Public License # along with this program. If not, see . golang.Q ?= @ golang.FLAGS ?= _golang.cgo_variables = CGO_ENABLED CGO_CFLAGS CGO_CPPFLAGS CGO_CXXFLAGS CGO_LDFLAGS CC CXX $(foreach v,$(_golang.cgo_variables),$(eval $v ?=)) export $(_golang.cgo_variables) _golang.src_cmd = find -L $1/src -name '.*' -prune -o \( -type f \( -false $(foreach e,go c s S cc cpp cxx h hh hpp hxx,-o -name '*.$e') \) -o -type d \) -print golang.src = $1/src $(shell $(_golang.src_cmd) 2>/dev/null) golang.var = $(addprefix $(var),$(_golang.cgo_variables)) define golang.install GOPATH='$(abspath $1)' go install $(golang.FLAGS) $2 $(golang.Q)true $(foreach e,$(notdir $2), && test -f $1/bin/$e -a -x $1/bin/$e && touch $1/bin/$e) endef