|
1 | 1 | PLATFORMS= \
|
2 |
| - freebsd-386 \ |
3 | 2 | freebsd-amd64 \
|
4 |
| - freebsd-arm \ |
5 |
| - linux-386 \ |
6 | 3 | linux-amd64 \
|
7 |
| - linux-arm \ |
8 |
| - openbsd-386 \ |
9 |
| - openbsd-amd64 \ |
10 |
| - windows-386 \ |
11 | 4 | windows-amd64 \
|
12 |
| - darwin-386 \ |
13 | 5 | darwin-amd64 \
|
14 | 6 | $(NULL)
|
15 | 7 |
|
16 |
| -DIST=$(shell pwd)/dist |
17 |
| -export GOPATH=$(shell pwd) |
18 |
| -GOBIN ?= $(shell pwd) |
| 8 | +NAME = dfpp |
| 9 | +DIST = $(shell pwd)/dist |
| 10 | +GOPATH = $(shell pwd) |
| 11 | +GOBIN ?= $(shell pwd) |
| 12 | +BIN ?= $(GOBIN)/$(NAME) |
| 13 | +CURVER ?= $(shell git describe --abbrev=0 --tags) |
| 14 | +NEWVER ?= $(shell echo $(CURVER) | awk -F. '{print $$1"."$$2"."$$3+1}') |
| 15 | +TODAY := $(shell date +%Y-%m-%d) |
19 | 16 |
|
20 |
| -build: |
21 |
| - go get -v github.com/coryb/dfpp |
22 |
| - go build -o $(GOBIN)/dfpp main/main.go |
| 17 | +export GOPATH |
| 18 | + |
| 19 | +build: src/gopkg.in/coryb/dfpp.v1 |
| 20 | + go build -ldflags "-w -s" -o $(BIN) main/main.go |
| 21 | + |
| 22 | +src/%: |
| 23 | + mkdir -p $(@D) |
| 24 | + test -L $@ || ln -sf ../../.. $@ |
| 25 | + go get -v $* $*/main |
23 | 26 |
|
24 | 27 | install:
|
25 |
| - export GOBIN=~/bin && ${MAKE} build |
| 28 | + ${MAKE} GOBIN=~/bin build |
| 29 | + |
| 30 | +vet: |
| 31 | + @go tool vet *.go main/*.go |
| 32 | + |
| 33 | +clean: |
| 34 | + rm -rf pkg dist bin src ./$(NAME) |
26 | 35 |
|
27 | 36 | cross-setup:
|
28 | 37 | for p in $(PLATFORMS); do \
|
29 | 38 | echo "Building for $$p"; \
|
30 |
| - cd $(GOROOT)/src && sudo GOOS=$${p/-*/} GOARCH=$${p/*-/} bash ./make.bash --no-clean; \ |
| 39 | + cd $(GOROOT)/src && sudo GOROOT_BOOTSTRAP=$(GOROOT) GOOS=$${p/-*/} GOARCH=$${p/*-/} bash ./make.bash --no-clean; \ |
31 | 40 | done
|
32 | 41 |
|
33 | 42 | all:
|
34 | 43 | rm -rf $(DIST); \
|
35 | 44 | mkdir -p $(DIST); \
|
36 |
| - go get -d; \ |
37 | 45 | for p in $(PLATFORMS); do \
|
38 | 46 | echo "Building for $$p"; \
|
39 |
| - GOOS=$${p/-*/} GOARCH=$${p/*-/} go build -v -ldflags -s -o $(DIST)/dfpp-$$p main/main.go; \ |
40 |
| - done |
| 47 | + ${MAKE} build GOOS=$${p/-*/} GOARCH=$${p/*-/} BIN=$(DIST)/$(NAME)-$$p; \ |
| 48 | + done |
41 | 49 |
|
42 | 50 | fmt:
|
43 | 51 | gofmt -s -w *.go main/*.go
|
44 | 52 |
|
45 |
| -CURVER ?= $(shell git fetch --tags && git tag | gsort -V | tail -1) |
46 |
| -NEWVER ?= $(shell echo $(CURVER) | awk -F. '{print $$1"."$$2"."$$3+1}') |
47 |
| -TODAY := $(shell date +%Y-%m-%d) |
48 |
| - |
49 | 53 | changes:
|
50 |
| - @git log --pretty=format:"* %s [%cn] [%h]" --no-merges ^$(CURVER) HEAD *.go main/*.go | grep -vE 'gofmt|go fmt' |
| 54 | + @git log --pretty=format:"* %s [%cn] [%h]" --no-merges ^$(CURVER) HEAD main/*.go *.go | grep -vE 'gofmt|go fmt' |
51 | 55 |
|
52 | 56 | update-changelog:
|
53 | 57 | @echo "# Changelog" > CHANGELOG.md.new; \
|
54 | 58 | echo >> CHANGELOG.md.new; \
|
55 | 59 | echo "## $(NEWVER) - $(TODAY)" >> CHANGELOG.md.new; \
|
56 | 60 | echo >> CHANGELOG.md.new; \
|
57 |
| - $(MAKE) changes | \ |
| 61 | + $(MAKE) --no-print-directory --silent changes | \ |
58 | 62 | perl -pe 's{\[([a-f0-9]+)\]}{[[$$1](https://github.com/coryb/dfpp/commit/$$1)]}g' | \
|
59 | 63 | perl -pe 's{\#(\d+)}{[#$$1](https://github.com/coryb/dfpp/issues/$$1)}g' >> CHANGELOG.md.new; \
|
60 |
| - tail +2 CHANGELOG.md >> CHANGELOG.md.new; \ |
61 |
| - mv CHANGELOG.md.new CHANGELOG.md |
| 64 | + tail -n +2 CHANGELOG.md >> CHANGELOG.md.new; \ |
| 65 | + mv CHANGELOG.md.new CHANGELOG.md; \ |
| 66 | + git commit -m "Updated Changelog" CHANGELOG.md; \ |
| 67 | + git tag v$(NEWVER) |
| 68 | + |
| 69 | +version: |
| 70 | + @echo $(patsubst v%,%,$(CURVER)) |
| 71 | + |
| 72 | +docker: |
| 73 | + mkdir -p docker-root/bin docker-root/etc/ssl/certs |
| 74 | + /usr/bin/security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain > docker-root/etc/ssl/certs/ca-certificates.crt |
| 75 | + ${MAKE} GOBIN=./docker-root/bin GOOS=linux GOARCH=amd64 build |
| 76 | + docker build -t coryb/dfpp:$(patsubst v%,%,$(CURVER)) . |
0 commit comments