2019-11-28 18:54:57 +00:00
|
|
|
# -*- coding: utf-8; mode: makefile-gmake -*-
|
2021-04-17 16:20:29 +00:00
|
|
|
# SPDX-License-Identifier: AGPL-3.0-or-later
|
|
|
|
|
2020-03-08 17:37:16 +00:00
|
|
|
.DEFAULT_GOAL=help
|
2021-04-17 16:20:29 +00:00
|
|
|
export MTOOLS=./manage
|
2019-11-28 18:54:57 +00:00
|
|
|
|
2020-03-15 16:01:36 +00:00
|
|
|
include utils/makefile.include
|
2019-12-04 15:48:36 +00:00
|
|
|
|
2019-11-28 18:54:57 +00:00
|
|
|
all: clean install
|
|
|
|
|
2021-04-17 16:20:29 +00:00
|
|
|
PHONY += help
|
2019-11-28 18:54:57 +00:00
|
|
|
|
2021-04-17 16:20:29 +00:00
|
|
|
help:
|
|
|
|
@./manage --help
|
|
|
|
@echo '----'
|
|
|
|
@echo 'run - run developer instance'
|
2021-10-01 07:48:53 +00:00
|
|
|
@echo 'install - developer install of SearxNG into virtualenv'
|
2021-04-17 16:20:29 +00:00
|
|
|
@echo 'uninstall - uninstall developer installation'
|
|
|
|
@echo 'clean - clean up working tree'
|
|
|
|
@echo 'search.checker - check search engines'
|
|
|
|
@echo 'test - run shell & CI tests'
|
2021-04-20 14:01:44 +00:00
|
|
|
@echo 'test.shell - test shell scripts'
|
2021-04-17 16:20:29 +00:00
|
|
|
@echo 'ci.test - run CI tests'
|
2019-11-28 18:54:57 +00:00
|
|
|
|
|
|
|
|
|
|
|
PHONY += run
|
2021-04-17 16:20:29 +00:00
|
|
|
run: install
|
2021-12-29 20:28:25 +00:00
|
|
|
$(Q)./manage webapp.run
|
2020-03-25 15:38:52 +00:00
|
|
|
|
2021-04-17 16:20:29 +00:00
|
|
|
PHONY += install uninstall
|
|
|
|
install uninstall:
|
|
|
|
$(Q)./manage pyenv.$@
|
2020-03-25 15:38:52 +00:00
|
|
|
|
2021-04-17 16:20:29 +00:00
|
|
|
PHONY += clean
|
2021-11-14 17:10:14 +00:00
|
|
|
clean: py.clean docs.clean node.clean nvm.clean test.clean
|
2021-04-17 16:20:29 +00:00
|
|
|
$(Q)./manage build_msg CLEAN "common files"
|
|
|
|
$(Q)find . -name '*.orig' -exec rm -f {} +
|
|
|
|
$(Q)find . -name '*.rej' -exec rm -f {} +
|
|
|
|
$(Q)find . -name '*~' -exec rm -f {} +
|
|
|
|
$(Q)find . -name '*.bak' -exec rm -f {} +
|
|
|
|
|
2021-07-03 16:25:46 +00:00
|
|
|
lxc.clean:
|
|
|
|
$(Q)rm -rf lxc-env
|
|
|
|
|
2021-04-17 16:20:29 +00:00
|
|
|
PHONY += search.checker search.checker.%
|
|
|
|
search.checker: install
|
|
|
|
$(Q)./manage pyenv.cmd searx-checker -v
|
|
|
|
|
|
|
|
search.checker.%: install
|
|
|
|
$(Q)./manage pyenv.cmd searx-checker -v "$(subst _, ,$(patsubst search.checker.%,%,$@))"
|
|
|
|
|
2021-04-20 14:01:44 +00:00
|
|
|
PHONY += test ci.test test.shell
|
2022-01-16 13:07:46 +00:00
|
|
|
ci.test: test.yamllint test.black test.pylint test.unit test.robot test.rst
|
|
|
|
test: test.yamllint test.black test.pylint test.unit test.robot test.rst test.shell
|
2021-04-20 14:01:44 +00:00
|
|
|
test.shell:
|
2021-05-10 09:26:56 +00:00
|
|
|
$(Q)shellcheck -x -s dash \
|
|
|
|
dockerfiles/docker-entrypoint.sh
|
2021-04-17 16:20:29 +00:00
|
|
|
$(Q)shellcheck -x -s bash \
|
|
|
|
utils/brand.env \
|
2021-06-24 13:15:34 +00:00
|
|
|
$(MTOOLS) \
|
2021-04-17 16:20:29 +00:00
|
|
|
utils/lib.sh \
|
2021-06-29 17:01:07 +00:00
|
|
|
utils/lib_install.sh \
|
2021-11-14 17:10:14 +00:00
|
|
|
utils/lib_nvm.sh \
|
2021-06-26 06:46:20 +00:00
|
|
|
utils/lib_static.sh \
|
2021-11-16 17:00:47 +00:00
|
|
|
utils/lib_go.sh \
|
2021-12-28 15:56:52 +00:00
|
|
|
utils/lib_redis.sh \
|
2022-01-03 12:51:35 +00:00
|
|
|
utils/filtron.sh \
|
|
|
|
utils/searx.sh \
|
|
|
|
utils/morty.sh \
|
|
|
|
utils/lxc.sh \
|
|
|
|
utils/lxc-searx.env \
|
|
|
|
.config.sh
|
2021-06-24 13:15:34 +00:00
|
|
|
$(Q)$(MTOOLS) build_msg TEST "$@ OK"
|
2020-03-26 17:41:45 +00:00
|
|
|
|
2019-11-28 19:05:29 +00:00
|
|
|
|
2021-04-17 16:20:29 +00:00
|
|
|
# wrap ./manage script
|
2020-01-08 17:09:36 +00:00
|
|
|
|
2021-04-17 16:20:29 +00:00
|
|
|
MANAGE += buildenv
|
2021-08-16 09:30:53 +00:00
|
|
|
MANAGE += weblate.translations.commit weblate.push.translations
|
2021-06-06 11:02:07 +00:00
|
|
|
MANAGE += data.all data.languages data.useragents data.osm_keys_tags
|
2021-04-17 16:20:29 +00:00
|
|
|
MANAGE += docs.html docs.live docs.gh-pages docs.prebuild docs.clean
|
2021-04-24 06:53:12 +00:00
|
|
|
MANAGE += docker.build docker.push docker.buildx
|
2021-04-17 16:20:29 +00:00
|
|
|
MANAGE += gecko.driver
|
|
|
|
MANAGE += node.env node.clean
|
|
|
|
MANAGE += py.build py.clean
|
|
|
|
MANAGE += pyenv pyenv.install pyenv.uninstall
|
|
|
|
MANAGE += pypi.upload pypi.upload.test
|
2021-12-24 08:49:45 +00:00
|
|
|
MANAGE += format.python
|
2022-01-19 09:31:45 +00:00
|
|
|
MANAGE += test.yamllint test.pylint test.pyright test.black test.unit test.coverage test.robot test.rst test.clean
|
2021-12-14 06:50:53 +00:00
|
|
|
MANAGE += themes.all themes.oscar themes.simple themes.simple.test pygments.less
|
2021-06-26 06:46:20 +00:00
|
|
|
MANAGE += static.build.commit static.build.drop static.build.restore
|
2021-11-14 17:10:14 +00:00
|
|
|
MANAGE += nvm.install nvm.clean nvm.status nvm.nodejs
|
2019-11-28 19:05:29 +00:00
|
|
|
|
2021-04-17 16:20:29 +00:00
|
|
|
PHONY += $(MANAGE)
|
2020-03-26 17:41:45 +00:00
|
|
|
|
2021-04-17 16:20:29 +00:00
|
|
|
$(MANAGE):
|
|
|
|
$(Q)$(MTOOLS) $@
|
2020-03-26 17:41:45 +00:00
|
|
|
|
2021-11-17 07:43:18 +00:00
|
|
|
# short hands of selected targets
|
2020-03-26 17:41:45 +00:00
|
|
|
|
2021-11-17 07:43:18 +00:00
|
|
|
PHONY += docs docker themes
|
2019-11-28 19:05:29 +00:00
|
|
|
|
2021-04-17 16:20:29 +00:00
|
|
|
docs: docs.html
|
|
|
|
docker: docker.build
|
|
|
|
themes: themes.all
|