2020-12-30 08:26:25 -07:00
|
|
|
# Keep the Makefile POSIX-compliant. We currently allow hyphens in
|
|
|
|
# target names, but that may change in the future.
|
2020-07-09 09:54:53 -07:00
|
|
|
#
|
2020-12-30 08:26:25 -07:00
|
|
|
# See https://pubs.opengroup.org/onlinepubs/9699919799/utilities/make.html.
|
|
|
|
.POSIX:
|
|
|
|
|
|
|
|
CHANNEL = development
|
|
|
|
CLIENT_BETA_DIR = client2
|
|
|
|
CLIENT_DIR = client
|
|
|
|
COMMIT = $$(git rev-parse --short HEAD)
|
|
|
|
DIST_DIR = dist
|
|
|
|
GO = go
|
2021-03-12 05:05:16 -07:00
|
|
|
GOPROXY = https://goproxy.cn|https://proxy.golang.org|direct
|
2020-12-30 10:36:57 -07:00
|
|
|
GPG_KEY = devteam@adguard.com
|
2020-12-30 08:26:25 -07:00
|
|
|
GPG_KEY_PASSPHRASE = not-a-real-password
|
|
|
|
NPM = npm
|
|
|
|
NPM_FLAGS = --prefix $(CLIENT_DIR)
|
2021-04-02 03:44:55 -07:00
|
|
|
RACE = 0
|
2020-12-30 08:26:25 -07:00
|
|
|
SIGN = 1
|
|
|
|
VERBOSE = 0
|
|
|
|
VERSION = v0.0.0
|
|
|
|
YARN = yarn
|
2021-03-17 05:51:31 -07:00
|
|
|
YARN_FLAGS = --cwd $(CLIENT_BETA_DIR) --network-timeout 120000
|
2020-12-30 08:26:25 -07:00
|
|
|
|
|
|
|
ENV = env\
|
|
|
|
COMMIT='$(COMMIT)'\
|
|
|
|
CHANNEL='$(CHANNEL)'\
|
2020-12-30 10:36:57 -07:00
|
|
|
GPG_KEY='$(GPG_KEY)'\
|
2020-12-30 08:26:25 -07:00
|
|
|
GPG_KEY_PASSPHRASE='$(GPG_KEY_PASSPHRASE)'\
|
|
|
|
DIST_DIR='$(DIST_DIR)'\
|
|
|
|
GO='$(GO)'\
|
|
|
|
GOPROXY='$(GOPROXY)'\
|
|
|
|
PATH="$${PWD}/bin:$$($(GO) env GOPATH)/bin:$${PATH}"\
|
2021-04-02 03:44:55 -07:00
|
|
|
RACE='$(RACE)'\
|
2020-12-30 08:26:25 -07:00
|
|
|
SIGN='$(SIGN)'\
|
|
|
|
VERBOSE='$(VERBOSE)'\
|
|
|
|
VERSION='$(VERSION)'\
|
|
|
|
|
|
|
|
# Keep the line above blank.
|
|
|
|
|
|
|
|
# Keep this target first, so that a naked make invocation triggers
|
|
|
|
# a full build.
|
|
|
|
build: deps quick-build
|
|
|
|
|
|
|
|
quick-build: js-build go-build
|
|
|
|
|
|
|
|
ci: deps test
|
|
|
|
|
|
|
|
deps: js-deps go-deps
|
2020-12-08 08:23:35 -07:00
|
|
|
lint: js-lint go-lint
|
|
|
|
test: js-test go-test
|
|
|
|
|
2020-12-30 08:26:25 -07:00
|
|
|
# Here and below, keep $(SHELL) in quotes, because on Windows this will
|
|
|
|
# expand to something like "C:/Program Files/Git/usr/bin/sh.exe".
|
|
|
|
build-docker: ; $(ENV) "$(SHELL)" ./scripts/make/build-docker.sh
|
|
|
|
|
|
|
|
build-release: deps js-build
|
|
|
|
$(ENV) "$(SHELL)" ./scripts/make/build-release.sh
|
|
|
|
|
|
|
|
clean: ; $(ENV) "$(SHELL)" ./scripts/make/clean.sh
|
|
|
|
init: ; git config core.hooksPath ./scripts/hooks
|
|
|
|
|
|
|
|
js-build:
|
|
|
|
$(NPM) $(NPM_FLAGS) run build-prod
|
|
|
|
$(YARN) $(YARN_FLAGS) build
|
|
|
|
js-deps:
|
|
|
|
$(NPM) $(NPM_FLAGS) ci
|
|
|
|
$(YARN) $(YARN_FLAGS) install
|
2021-01-28 04:02:38 -07:00
|
|
|
|
|
|
|
# TODO(a.garipov): Remove the legacy client tasks support once the new
|
|
|
|
# client is done and the old one is removed.
|
|
|
|
js-lint: ; $(NPM) $(NPM_FLAGS) run lint
|
|
|
|
js-test: ; $(NPM) $(NPM_FLAGS) run test
|
|
|
|
js-beta-lint: ; $(YARN) $(YARN_FLAGS) lint
|
|
|
|
js-beta-test: ; # TODO(v.abdulmyanov): Add tests for the new client.
|
2020-07-09 09:54:53 -07:00
|
|
|
|
2020-12-30 08:26:25 -07:00
|
|
|
go-build: ; $(ENV) "$(SHELL)" ./scripts/make/go-build.sh
|
|
|
|
go-deps: ; $(ENV) "$(SHELL)" ./scripts/make/go-deps.sh
|
|
|
|
go-lint: ; $(ENV) "$(SHELL)" ./scripts/make/go-lint.sh
|
|
|
|
go-tools: ; $(ENV) "$(SHELL)" ./scripts/make/go-tools.sh
|
2020-07-09 09:54:53 -07:00
|
|
|
|
2021-04-02 03:44:55 -07:00
|
|
|
# TODO(a.garipov): Think about making RACE='1' the default for all
|
|
|
|
# targets.
|
|
|
|
go-test: ; $(ENV) RACE='1' "$(SHELL)" ./scripts/make/go-test.sh
|
|
|
|
|
2021-01-27 08:32:13 -07:00
|
|
|
go-check: go-tools go-lint go-test
|
|
|
|
|
2021-01-14 03:48:52 -07:00
|
|
|
openapi-lint: ; cd ./openapi/ && $(YARN) test
|
2021-01-27 08:32:13 -07:00
|
|
|
openapi-show: ; cd ./openapi/ && $(YARN) start
|