SHELL := /bin/bash -euo pipefail
export PATH := node_modules/.bin:clients/shell/go/bin:$(PATH)
export GOPATH := $(shell pwd)/clients/shell/go:$(GOPATH)
export VDLPATH := $(GOPATH)

# Don't use V23_ROOT if NO_V23_ROOT is set.
# This is equivalent to "V23_ROOT= make ..."
ifdef NO_V23_ROOT
  V23_ROOT :=
endif

# If V23_ROOT is defined, we should compile/build our clients against the
# code there.  This allows us to test our clients againts the current code, and
# simplifies debugging.  In order to make this work, we must change our PATHs
# and go compiler depending on whether V23_ROOT is set.
ifdef V23_ROOT
	# Use "v23" go compiler wrapper.
	GO := v23 go
	# v23 puts binaries in $(V23_ROOT)/release/go/bin, so add that to the PATH.
	PATH := $(V23_ROOT)/release/go/bin:$(PATH)
	# Add location of node and npm from environment repo.
	export PATH := $(V23_ROOT)/environment/cout/node/bin:$(PATH)
else
	# Use standard go compiler.
	GO := go
	# The vdl tool needs either V23_ROOT or VDLROOT, so set VDLROOT.
	export VDLROOT := $(shell pwd)/clients/shell/go/src/v.io/v23/vdlroot
endif


# This target causes any target files to be deleted if the target task fails.
# This is especially useful for browserify, which creates files even if it
# fails.
.DELETE_ON_ERROR:

# Default browserify options: use sourcemaps.
BROWSERIFY_OPTS := --debug
# Names that should not be mangled by minification.
RESERVED_NAMES := 'context,ctx,callback,cb,$$stream'
# Don't mangle RESERVED_NAMES, and screw ie8.
MANGLE_OPTS := --mangle [--except $(RESERVED_NAMES) --screw_ie8 ]
# Don't remove unused variables from function arguments, which could mess up signatures.
# Also don't evaulate constant expressions, since we rely on them to conditionally require modules only in node.
COMPRESS_OPTS := --compress [ --no-unused --no-evaluate ]

# Browserify and extract sourcemap, but do not minify.
define BROWSERIFY
	mkdir -p $(dir $2)
	browserify $1 $(BROWSERIFY_OPTS) | exorcist $2.map > $2
endef

# Browserify, minify, and extract sourcemap.
define BROWSERIFY-MIN
	mkdir -p $(dir $2)
	browserify $1 $(BROWSERIFY_OPTS) --g [ uglifyify $(MANGLE_OPTS) $(COMPRESS_OPTS) ] | exorcist $2.map > $2
endef

UNAME := $(shell uname)

# When running browser tests on non-Darwin machines, set the --headless flag.
# This uses Xvfb underneath the hood (inside prova => browser-launcher =>
# headless), which is not supported on OS X.
# See: https://github.com/kesla/node-headless/
ifndef NOHEADLESS
	ifneq ($(UNAME),Darwin)
		HEADLESS := --headless
	endif
endif

ifdef STOPONFAIL
	STOPONFAIL := --stopOnFirstFailure
endif

ifndef NOTAP
	TAP := --tap
endif

ifndef NOQUIT
	QUIT := --quit
endif

ifdef XUNIT
	TAP := --tap # TAP must be set for xunit to work
	OUTPUT_TRANSFORM := tap-xunit
endif

ifdef BROWSER_OUTPUT
	BROWSER_OUTPUT_LOCAL = $(BROWSER_OUTPUT)
	ifdef OUTPUT_TRANSFORM
		BROWSER_OUTPUT_LOCAL := >($(OUTPUT_TRANSFORM) --package=javascript.browser > $(BROWSER_OUTPUT_LOCAL))
	endif
	BROWSER_OUTPUT_LOCAL := | tee $(BROWSER_OUTPUT_LOCAL)
endif

PROVA_OPTS := --includeFilenameAsPackage $(TAP) $(QUIT) $(STOPONFAIL)

BROWSER_OPTS := --browser --launch chrome $(HEADLESS) --log=./tmp/chrome.log

.DEFAULT_GOAL := all

.PHONY: all
all: build-shell build-web

.PHONY: deploy-staging
deploy-staging: build-web-assets
	git rev-parse --verify HEAD >> build/version
	gcloud config set project vanadium-staging
	gsutil -m rsync -d -r build gs://chat.staging.v.io

node_modules: package.json
	npm prune
	npm install
ifdef V23_ROOT
	# If V23_ROOT is defined, link vanadium from it.
	rm -rf ./node_modules/vanadium
	cd "$(V23_ROOT)/release/javascript/core" && npm link
	npm link vanadium
else
	# If V23_ROOT is not defined, install veyron.js from github.
	npm install git+ssh://git@github.com:veyron/veyron.js.git
endif
	touch node_modules

# TODO(sadovsky): Make it so we only run "go install" when binaries are out of
# date.
vanadium-binaries: clients/shell/go/src/v.io
	$(GO) install \
	v.io/x/ref/services/mounttable/mounttabled \
	v.io/x/ref/services/proxy/proxyd \
	v.io/x/ref/cmd/{principal,servicerunner,vdl}

gen-vdl: vanadium-binaries
	vdl generate --lang=go v.io/x/chat/vdl
	vdl generate --lang=javascript --js-out-dir=clients/web/js v.io/x/chat/vdl

clients/shell/go/src/github.com/fatih/color:
	$(GO) get github.com/fatih/color

clients/shell/go/src/github.com/kr/text:
	$(GO) get github.com/kr/text

clients/shell/go/src/github.com/nlacasse/gocui:
	$(GO) get github.com/nlacasse/gocui

clients/shell/go/src/v.io:
# Only go get v.io go repo if V23_ROOT is not defined.
ifndef V23_ROOT
	$(GO) get v.io/x/ref/...
endif

clients/shell/go/bin/chat: vanadium-binaries gen-vdl
clients/shell/go/bin/chat: clients/shell/go/src/github.com/fatih/color
clients/shell/go/bin/chat: clients/shell/go/src/github.com/kr/text
clients/shell/go/bin/chat: clients/shell/go/src/github.com/nlacasse/gocui
clients/shell/go/bin/chat: $(shell find clients/shell/go/src -name "*.go")
	$(GO) install v.io/x/chat

build-shell: vanadium-binaries clients/shell/go/bin/chat

mkdir-build:
	@mkdir -p build

build/bundle.css: clients/web/css/index.css $(shell find clients/web/css -name "*.css") mkdir-build node_modules
	node tools/rework-css.js $< 1> $@

# https://www.gnu.org/software/make/manual/html_node/Automatic-Variables.html
# Note, on OS X you'll likely need to run "ulimit -S -n 1024" for the browserify
# command to succeed. (Run "ulimit -S -a" and "ulimit -H -a" to see all soft and
# hard limits respectively.)
# Also see: https://github.com/substack/node-browserify/issues/899
build/bundle.js: clients/web/js/index.js $(shell find clients/web/js -name "*.js") gen-vdl mkdir-build node_modules vanadium-binaries
ifndef NOMINIFY
	$(call BROWSERIFY,$<,$@)
else
	$(call BROWSERIFY-MIN,$<,$@)
endif

build/index.html: clients/web/public/index.html mkdir-build
	cp $< $@

build/markdown-preview.css: markdown/markdown-preview.css mkdir-build
	cp $< $@

# This task has the minimal set of dependencies to build the web client assets,
# so that it can be run on a GCE instance during the deploy process.
# In particular, it does not depend on a vanadium environment or golang.
build-web-assets: mkdir-build node_modules build/bundle.css build/bundle.js build/index.html build/markdown-preview.css README.md
	node tools/render-md.js

# TODO(sadovsky): For some reason, browserify and friends get triggered on each
# build-web invocation, even if their inputs haven't changed.
build-web: build-web-assets vanadium-binaries

serve-web: build-web-assets
	node server.js

test: test-shell test-web

test-shell: build-shell
	# We must pass --v23.tcp.address=localhost:0, otherwise the chat server
	# will listen on the external IP address of the gce instance, and our
	# firewall rules prevent connections on unknown ports unless coming from
	# localhost.
	$(GO) test v.io/x/chat/... --v23.tcp.address=localhost:0

# We use the same test runner as vanadium.js.  It handles starting and stopping
# all required services (proxy, wspr, mounntabled), and runs tests in chrome
# with prova.
# TODO(sadovsky): Some of the deps in our package.json are needed solely for
# runner.js. We should restructure things so that runner.js is its own npm
# package with its own deps.
test-web: lint build-web
ifndef V23_ROOT
	# The js tests needs the extension built into a folder so that it can be
	# loaded with chrome on startup.  The extension build process currently
	# depends on v23, the Vanadium "web" profile, and V23_ROOT.
	#
	# TODO(nlacasse): Either make the extension build process have less
	# dependencies, or distribute a version of the extension that can be
	# unpacked into a directory and used in tests by other projects like chat.
	@echo "The test-web make task requires V23_ROOT to be set."
	exit 1
else
	node ./node_modules/vanadium/test/integration/runner.js -- \
	make test-web-runner
endif

# Note: runner.js sets the V23_NAMESPACE and PROXY_ADDR env vars for the
# spawned test subprocess; we specify "make test-web-runner" as the test
# command so that we can then reference these vars in the Vanadium extension
# and our prova command.
test-web-runner: APP_FRAME := "./build/index.html?mtname=$(V23_NAMESPACE)"
test-web-runner: VANADIUM_JS := $(V23_ROOT)/release/javascript/core
test-web-runner: BROWSER_OPTS := --options="--load-extension=$(VANADIUM_JS)/extension/build-test/,--ignore-certificate-errors,--enable-logging=stderr" $(BROWSER_OPTS)
test-web-runner:
	$(MAKE) -C $(VANADIUM_JS)/extension clean
	$(MAKE) -C $(VANADIUM_JS)/extension build-test
	prova clients/web/test/test-*.js -f $(APP_FRAME) $(PROVA_OPTS) $(BROWSER_OPTS) $(BROWSER_OUTPUT_LOCAL)

clean:
	rm -rf node_modules
	rm -rf clients/shell/go/{bin,pkg,src/code.google.com,src/github.com,src/golang.org}
	rm -rf build
	rm -rf vanadium.js

lint: node_modules
	jshint .

.PHONY: all vanadium-binaries go-deps gen-vdl
.PHONY: build-shell build-web-assets build-web serve-web
.PHONY: test test-shell test-web clean lint

.NOTPARALLEL: test
