delve/Makefile

68 lines
2.0 KiB
Makefile
Raw Normal View History

2015-05-15 20:20:40 +00:00
.DEFAULT_GOAL=test
2015-08-03 14:34:39 +00:00
UNAME=$(shell uname)
2015-03-01 03:07:08 +00:00
PREFIX=github.com/derekparker/delve
2015-08-03 14:34:39 +00:00
GOVERSION=$(shell go version)
2015-10-01 00:50:51 +00:00
# Workaround for GO15VENDOREXPERIMENT bug (https://github.com/golang/go/issues/11659)
ALL_PACKAGES=$(shell go list ./... | grep -v /vendor/)
# We must compile with -ldflags="-s" to omit
# DWARF info on OSX when compiling with the
# 1.5 toolchain. Otherwise the resulting binary
# will be malformed once we codesign it and
# unable to execute.
# See https://github.com/golang/go/issues/11887#issuecomment-126117692.
ifeq "$(UNAME)" "Darwin"
2015-08-03 14:34:39 +00:00
FLAGS=-ldflags="-s"
2015-10-01 00:50:51 +00:00
DARWIN="true"
endif
2015-03-01 03:07:08 +00:00
2015-08-03 14:34:39 +00:00
# If we're on OSX make sure the proper CERT env var is set.
2015-08-08 19:30:43 +00:00
check-cert:
ifneq "$(TRAVIS)" "true"
2015-10-01 00:50:51 +00:00
ifdef DARWIN
ifeq "$(CERT)" ""
2015-08-03 14:34:39 +00:00
$(error You must provide a CERT environment variable in order to codesign the binary.)
endif
endif
2015-08-08 19:30:43 +00:00
endif
2015-08-03 14:34:39 +00:00
build: check-cert
2015-08-03 14:34:39 +00:00
go build $(FLAGS) github.com/derekparker/delve/cmd/dlv
2015-10-01 00:50:51 +00:00
ifdef DARWIN
2015-03-01 03:08:43 +00:00
codesign -s $(CERT) ./dlv
2015-03-01 03:07:08 +00:00
endif
install: check-cert
go install $(FLAGS) github.com/derekparker/delve/cmd/dlv
2015-10-01 00:50:51 +00:00
ifdef DARWIN
2015-03-01 21:37:19 +00:00
codesign -s $(CERT) $(GOPATH)/bin/dlv
2015-03-01 03:07:08 +00:00
endif
test: check-cert
2015-10-01 00:50:51 +00:00
ifdef DARWIN
2015-08-03 14:34:39 +00:00
ifeq "$(TRAVIS)" "true"
2015-10-01 00:50:51 +00:00
sudo -E go test -v $(ALL_PACKAGES)
2015-08-03 14:34:39 +00:00
else
go test $(PREFIX)/terminal $(PREFIX)/dwarf/frame $(PREFIX)/dwarf/op $(PREFIX)/dwarf/util $(PREFIX)/source $(PREFIX)/dwarf/line
2015-08-12 00:10:34 +00:00
go test -c $(FLAGS) $(PREFIX)/proc && codesign -s $(CERT) ./proc.test && ./proc.test $(TESTFLAGS) -test.v && rm ./proc.test
go test -c $(FLAGS) $(PREFIX)/service/test && codesign -s $(CERT) ./test.test && ./test.test $(TESTFLAGS) -test.v && rm ./test.test
2015-08-03 14:34:39 +00:00
endif
2015-03-01 03:07:08 +00:00
else
2015-10-01 00:50:51 +00:00
go test -v $(ALL_PACKAGES)
2015-03-01 03:07:08 +00:00
endif
2015-06-12 19:49:23 +00:00
test-proc-run:
2015-10-01 00:50:51 +00:00
ifdef DARWIN
go test -c $(FLAGS) $(PREFIX)/proc && codesign -s $(CERT) ./proc.test && ./proc.test -test.run $(RUN) && rm ./proc.test
else
2015-06-12 21:21:32 +00:00
go test $(PREFIX) -run $(RUN)
endif
test-integration-run:
2015-10-01 00:50:51 +00:00
ifdef DARWIN
go test -c $(FLAGS) $(PREFIX)/service/test && codesign -s $(CERT) ./test.test && ./test.test -test.run $(RUN) && rm ./test.test
else
2015-06-12 21:21:32 +00:00
go test $(PREFIX)/service/rest -run $(RUN)
endif