forked from burke/zeus
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathMakefile
80 lines (59 loc) · 1.83 KB
/
Makefile
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
PACKAGE=github.com/burke/zeus
VERSION=$(shell cat VERSION)
GEM=rubygem/pkg/zeus-$(VERSION).gem
.PHONY: default all clean binaries compileBinaries fmt install
default: all
all: fmt binaries man/build $(GEM)
binaries: build/zeus-linux-386 build/zeus-linux-amd64 build/zeus-darwin-amd64
fmt:
find . -name '*.go' | xargs -t -I@ go fmt @
man/build: Gemfile.lock
cd man && bundle exec rake
rubygem/pkg/%: \
rubygem/build/fsevents-wrapper \
rubygem/man \
rubygem/examples \
rubygem/lib/zeus/version.rb \
rubygem/build \
Gemfile.lock
cd rubygem && bundle exec rake
rubygem/build/fsevents-wrapper: ext/fsevents/build/Release/fsevents-wrapper
mkdir -p $(@D)
cp $< $@
rubygem/man: man/build
mkdir -p $@
cp -R $< $@
rubygem/build: binaries
mkdir -p $@
cp -R build/zeus-* $@
rubygem/examples: examples
rm -rf $@
cp -r $< $@
ext/fsevents/build/Release/fsevents-wrapper:
cd ext/fsevents && xcodebuild
build/zeus-%: go/zeusversion/zeusversion.go compileBinaries
@:
compileBinaries:
gox -osarch="linux/386 linux/amd64 darwin/amd64" \
-output="build/zeus-{{.OS}}-{{.Arch}}" \
$(PACKAGE)/go/cmd/zeus
go/zeusversion/zeusversion.go:
mkdir -p $(@D)
@echo 'package zeusversion\n\nconst VERSION string = "$(VERSION)"' > $@
rubygem/lib/zeus/version.rb:
mkdir -p $(@D)
@echo 'module Zeus\n VERSION = "$(VERSION)"\nend' > $@
install: $(GEM)
gem install $< --no-ri --no-rdoc
Gemfile.lock: Gemfile
bundle check || bundle install
clean:
rm -rf ext/fsevents/build man/build go/zeusversion build
rm -rf rubygem/{man,build,pkg,examples,lib/zeus/version.rb,ext/fsevents-wrapper,MANIFEST}
.PHONY: dev_bootstrap
dev_bootstrap: go/zeusversion/zeusversion.go
go get ./...
bundle -v || gem install bundler --no-rdoc --no-ri
bundle install
go get github.com/mitchellh/gox
gox -build-toolchain -osarch="linux/amd64" -osarch="darwin/amd64" -osarch="linux/386"