github.com/spg/deis@v1.7.3/builder/Makefile (about)

     1  include ../includes.mk
     2  
     3  # the filepath to this repository, relative to $GOPATH/src
     4  repo_path = github.com/deis/deis/builder
     5  
     6  GO_FILES = types.go utils.go utils_test.go
     7  GO_PACKAGES = src tests
     8  GO_PACKAGES_REPO_PATH = $(addprefix $(repo_path)/,$(GO_PACKAGES))
     9  
    10  COMPONENT = $(notdir $(repo_path))
    11  IMAGE = $(IMAGE_PREFIX)$(COMPONENT):$(BUILD_TAG)
    12  DEV_IMAGE = $(DEV_REGISTRY)/$(IMAGE)
    13  BINARIES := extract-domain extract-types extract-version generate-buildhook get-app-config get-app-values publish-release-controller yaml2json-procfile
    14  BINARY_DEST_DIR := rootfs/usr/bin
    15  
    16  build: check-docker
    17  	for i in $(BINARIES); do \
    18  		GOOS=linux GOARCH=amd64 CGO_ENABLED=0 godep go build -a -installsuffix cgo -ldflags '-s' -o $(BINARY_DEST_DIR)/$$i src/$$i.go || exit 1; \
    19  		$(call check-static-binary,$(BINARY_DEST_DIR)/$$i) \
    20  	done
    21  	docker build -t $(IMAGE) rootfs
    22  
    23  clean: check-docker check-registry
    24  	for i in $(BINARIES); do \
    25  		rm -rf $(BINARY_DEST_DIR)/$$i ; \
    26  	done
    27  	docker rmi $(IMAGE)
    28  
    29  full-clean: check-docker check-registry clean
    30  	docker images -q $(IMAGE_PREFIX)$(COMPONENT) | xargs docker rmi -f
    31  
    32  install: check-deisctl
    33  	deisctl install $(COMPONENT)
    34  
    35  uninstall: check-deisctl
    36  	deisctl uninstall $(COMPONENT)
    37  
    38  start: check-deisctl
    39  	deisctl start $(COMPONENT)
    40  
    41  stop: check-deisctl
    42  	deisctl stop $(COMPONENT)
    43  
    44  restart: stop start
    45  
    46  run: install start
    47  
    48  dev-release: push set-image
    49  
    50  push: check-registry
    51  	docker tag -f $(IMAGE) $(DEV_IMAGE)
    52  	docker push $(DEV_IMAGE)
    53  
    54  set-image: check-deisctl
    55  	deisctl config $(COMPONENT) set image=$(DEV_IMAGE)
    56  
    57  release:
    58  	docker push $(IMAGE)
    59  
    60  deploy: build dev-release restart
    61  
    62  test: test-style test-unit test-functional
    63  
    64  test-unit:
    65  	godep go test -v .
    66  
    67  test-functional:
    68  	@docker history deis/test-etcd >/dev/null 2>&1 || docker pull deis/test-etcd:latest
    69  	godep go test -v ./tests/...
    70  
    71  test-style:
    72  # display output, then check
    73  	$(GOFMT) $(GO_PACKAGES) $(GO_FILES)
    74  	@$(GOFMT) $(GO_PACKAGES) $(GO_FILES) | read; if [ $$? == 0 ]; then echo "gofmt check failed."; exit 1; fi
    75  	$(GOVET) $(repo_path) $(GO_PACKAGES_REPO_PATH)
    76  	$(GOLINT) ./...