summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile59
1 files changed, 59 insertions, 0 deletions
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..2b06bd5
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,59 @@
+##
+## rhctl
+##
+## Copyright (C) 2009-2016 Christian Pointner <equinox@helsinki.at>
+##
+## This file is part of rhctl.
+##
+## rhctl is free software: you can redistribute it and/or modify
+## it under the terms of the GNU General Public License as published by
+## the Free Software Foundation, either version 3 of the License, or
+## any later version.
+##
+## rhctl 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 General Public License for more details.
+##
+## You should have received a copy of the GNU General Public License
+## along with rhctl. If not, see <http://www.gnu.org/licenses/>.
+##
+
+curdir:= $(shell pwd)
+GOCMD := GOPATH=$(curdir) go
+
+EXECUTEABLE := rhctl
+
+LIBS := "github.com/schleibinger/sio"
+
+
+.PHONY: getlibs updatelibs vet format build clean distclean
+all: build
+
+
+getlibs:
+ @$(foreach lib,$(LIBS), echo "fetching lib: $(lib)"; $(GOCMD) get $(lib);)
+
+updatelibs:
+ @$(foreach lib,$(LIBS), echo "updating lib: $(lib)"; $(GOCMD) get -u $(lib);)
+
+vet:
+ @echo "vetting: $(EXECUTEABLE)"
+ @$(GOCMD) vet $(EXECUTEABLE)
+
+format:
+ @echo "formating: $(EXECUTEABLE)"
+ @$(GOCMD) fmt $(EXECUTEABLE)
+
+build: getlibs
+ @echo "installing: $(EXECUTEABLE)"
+ @$(GOCMD) install $(EXECUTEABLE)
+
+
+clean:
+ rm -rf pkg/*/$(EXECUTEABLE)
+ rm -rf bin
+
+distclean: clean
+ @$(foreach dir,$(shell ls src/),$(if $(subst $(EXECUTEABLE),,$(dir)),$(shell rm -rf src/$(dir))))
+ rm -rf pkg