github.com/greenboxal/deis@v1.12.1/swarm/Makefile (about)

     1  include ../includes.mk
     2  
     3  # the filepath to this repository, relative to $GOPATH/src
     4  repo_path = github.com/deis/deis/swarm
     5  
     6  GO_FILES = $(wildcard *.go)
     7  GO_PACKAGES =
     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 = $(REGISTRY)$(IMAGE)
    13  BUILD_IMAGE = $(COMPONENT)-build
    14  BINARY_DEST_DIR = image/bin
    15  
    16  build: check-docker
    17  	GOOS=linux GOARCH=amd64 CGO_ENABLED=0 godep go build -a -installsuffix cgo -ldflags '-s' -o $(BINARY_DEST_DIR)/swarm || exit 1
    18  	@$(call check-static-binary,$(BINARY_DEST_DIR)/swarm)
    19  	docker build -t $(BUILD_IMAGE) .
    20  	docker cp `docker run -d $(BUILD_IMAGE)`:/go/src/github.com/docker/swarm/deis-swarm $(BINARY_DEST_DIR)/
    21  	@$(call check-static-binary,$(BINARY_DEST_DIR)/deis-swarm)
    22  	docker build -t $(IMAGE) image
    23  
    24  clean: check-docker check-registry
    25  	rm -f $(BINARY_DEST_DIR)/deis-swarm
    26  	rm -f $(BINARY_DEST_DIR)/swarm
    27  	-docker rmi -f $(BUILD_IMAGE)
    28  	-docker rmi -f $(IMAGE)
    29  
    30  full-clean: check-docker check-registry
    31  	docker images -q $(IMAGE_PREFIX)$(COMPONENT) | xargs docker rmi -f
    32  
    33  install: check-deisctl
    34  	deisctl install $(COMPONENT)
    35  
    36  uninstall: check-deisctl
    37  	deisctl uninstall $(COMPONENT)
    38  
    39  start: check-deisctl
    40  	deisctl start $(COMPONENT)
    41  
    42  stop: check-deisctl
    43  	deisctl stop $(COMPONENT)
    44  
    45  restart: stop start
    46  
    47  run: install start
    48  
    49  dev-release: push set-image
    50  
    51  push: check-registry
    52  	docker tag -f $(IMAGE) $(DEV_IMAGE)
    53  	docker push $(DEV_IMAGE)
    54  
    55  set-image: check-deisctl
    56  	deisctl config $(COMPONENT) set image=$(DEV_IMAGE)
    57  
    58  release:
    59  	docker push $(IMAGE)
    60  
    61  deploy: build dev-release restart
    62  
    63  test: test-style test-unit test-functional
    64  
    65  test-unit:
    66  	@echo no unit tests
    67  
    68  test-style:
    69  # display output, then check
    70  	$(GOFMT) $(GO_PACKAGES) $(GO_FILES)
    71  	@$(GOFMT) $(GO_PACKAGES) $(GO_FILES) | read; if [ $$? == 0 ]; then echo "gofmt check failed."; exit 1; fi
    72  	$(GOVET) $(repo_path) $(GO_PACKAGES_REPO_PATH)
    73  	$(GOLINT) ./...
    74  
    75  test-functional:
    76  	@echo no functional tests