Call correct make target when using default make targets

This commit is contained in:
Robert Parker
2018-08-20 15:44:36 +01:00
parent 9e04bfc68a
commit aa04229d85
3 changed files with 99 additions and 50 deletions

108
Makefile
View File

@@ -12,28 +12,72 @@
# See the License for the specific language governing permissions and
# limitations under the License.
###############################################################################
# Variables
###############################################################################
GO_PKG_DIRS = ./cmd ./internal ./test
BASE_OS = $(shell cat /etc/*-release | grep ID=)
ifeq "$(findstring ubuntu,$(BASE_OS))" "ubuntu"
BASE_OS=UBUNTU
else ifeq "$(findstring rhel,$(BASE_OS))" "rhel"
BASE_OS=RHEL
else
BASE_OS=UNKNOWN
endif
###############################################################################
# Build targets
###############################################################################
# default to building UBUNTU as this was the default for the previous Makefile
.PHONY: build-devserver
ifeq ($(BASE_OS),UBUNTU)
build-devserver: build-devserver-ubuntu
else ifeq ($(BASE_OS),RHEL)
build-devserver: build-devserver-rhel
else
build-devserver: unknownos
endif
.PHONY: build-advancedserver
ifeq ($(BASE_OS),UBUNTU)
build-advancedserver: build-advancedserver-ubuntu
else ifeq ($(BASE_OS),RHEL)
build-advancedserver: build-advancedserver-rhel
else
build-advancedserver: unknownos
endif
.PHONY: test-devserver
ifeq ($(BASE_OS),UBUNTU)
test-devserver: test-devserver-ubuntu
else ifeq ($(BASE_OS),RHEL)
test-devserver: test-devserver-rhel
else
test-devserver: unknownos
endif
.PHONY: test-advancedserver
ifeq ($(BASE_OS),UBUNTU)
test-advancedserver: test-advancedserver-ubuntu
else ifeq ($(BASE_OS),RHEL)
test-advancedserver: test-advancedserver-rhel
else
test-advancedserver: unknownos
endif
.PHONY: deps
deps: deps-ubuntu
.PHONY: lint
lint: lint-ubuntu
.PHONY: build-devjmstest
ifeq ($(BASE_OS),UBUNTU)
build-devjmstest: build-devjmstest-ubuntu
else ifeq ($(BASE_OS),RHEL)
build-devjmstest: build-devjmstest-rhel
else
build-devjmstest: unknownos
endif
# UBUNTU building targets
.PHONY: build-devserver-ubuntu
@@ -44,10 +88,6 @@ build-devserver-ubuntu:
test-devserver-ubuntu:
$(MAKE) -f Makefile-UBUNTU test-devserver
.PHONY: build-devjmstest
build-devjmstest:
$(MAKE) -f Makefile-UBUNTU build-devjmstest
.PHONY: build-devjmstest-ubuntu
$(MAKE) -f Makefile-UBUNTU build-devjmstest
@@ -59,13 +99,9 @@ build-advancedserver-ubuntu:
test-advancedserver-ubuntu:
$(MAKE) -f Makefile-UBUNTU test-advancedserver
.PHONY: deps-ubuntu
deps-ubuntu:
$(MAKE) -f Makefile-UBUNTU deps
.PHONY: lint-ubuntu
lint-ubuntu:
$(MAKE) -f Makefile-UBUNTU lint
.PHONY: build-devjmstest-ubuntu
build-devjmstest-ubuntu:
$(MAKE) -f Makefile-UBUNTU build-devjmstest
# RHEL building targets
.PHONY: build-devserver-rhel
@@ -83,3 +119,43 @@ build-advancedserver-rhel:
.PHONY: test-advancedserver-rhel
test-advancedserver-rhel:
$(MAKE) -f Makefile-RHEL test-advancedserver
.PHONY: build-devjmstest-rhel
build-devjmstest-rhel:
$(MAKE) -f Makefile-RHEL build-devjmstest
# Common targets
.PHONY: clean
clean:
rm -rf ./coverage
rm -rf ./build
rm -rf ./deps
.PHONY: deps
deps:
glide install --strip-vendor
.PHONY: build-cov
build-cov:
mkdir -p build
cd build; go test -c -covermode=count ../cmd/runmqserver
.PHONY: precommit
precommit: fmt lint
.PHONY: fmt
fmt: $(addsuffix /$(wildcard *.go), $(GO_PKG_DIRS))
go fmt $(addsuffix /..., $(GO_PKG_DIRS))
.PHONY: lint
lint: $(addsuffix /$(wildcard *.go), $(GO_PKG_DIRS))
@# This expression is necessary because /... includes the vendor directory in golint
@# As of 11/04/2018 there is an open issue to fix it: https://github.com/golang/lint/issues/320
golint -set_exit_status $(sort $(dir $(wildcard $(addsuffix /*/*.go, $(GO_PKG_DIRS)))))
.PHONY: unknownos
unknownos:
$(info $(SPACER)$(shell printf "ERROR: Unknown OS ("$(BASE_OS)") please run specific make targets"$(END)))
exit 1
include formatting.mk