diff options
-rw-r--r-- | Makefile | 55 |
1 files changed, 31 insertions, 24 deletions
@@ -1,88 +1,95 @@ PORT?=8008 LASTTAG = $(shell git describe --tags --abbrev=0) -install: +# if the command is only `make`, the default tasks will be the printing of the help. +.DEFAULT_GOAL := help + +.PHONY: help +help: ## List all make commands available + @grep -E '^[\.a-zA-Z_%-]+:.*?## .*$$' $(MAKEFILE_LIST) | awk -F ":" '{print $1}' | grep -v % | sed 's/\\//g' | sort | awk 'BEGIN {FS = ":[^:]*?##"}; {printf "\033[1;34mmake %-50s\033[0m %s\n", $$1, $$2}' + +install: ## Open a Web Browser to the installation procedure sensible-browser "https://github.com/nicolargo/glances#installation" -venv-python: +venv-python: ## Install Python 3 venv virtualenv -p /usr/bin/python3 venv -venv-dev: +venv-dev: ## Install Python 3 dev dependencies ./venv/bin/pip install -r dev-requirements.txt ./venv/bin/pip install -r doc-requirements.txt -venv-dev-upgrade: +venv-dev-upgrade: ## Upgrade Python 3 dev dependencies ./venv/bin/pip install --upgrade pip ./venv/bin/pip install --upgrade -r dev-requirements.txt ./venv/bin/pip install --upgrade -r doc-requirements.txt -venv: +venv: ## Install Python 3 run-time dependencies ./venv/bin/pip install -r requirements.txt ./venv/bin/pip install -r optional-requirements.txt -venv-upgrade: +venv-upgrade: ## Upgrade Python 3 run-time dependencies ./venv/bin/pip install --upgrade -r dev-requirements.txt ./venv/bin/pip install --upgrade -r requirements.txt ./venv/bin/pip install --upgrade -r optional-requirements.txt -test: venv +test: venv ## Run unit tests ./venv/bin/python ./unitest.py ./venv/bin/python ./unitest-restful.py ./venv/bin/python ./unitest-xmlrpc.py ./venv/bin/python -m black ./glances --check --exclude outputs/static -format: venv +format: venv ## Format the code ./venv/bin/python -m black ./glances --exclude outputs/static -docs: venv-dev +docs: venv-dev ## Create the documentation ./venv/bin/python -m glances -C ./conf/glances.conf --api-doc > ./docs/api.rst cd docs && ./build.sh && cd .. -docs-server: docs +docs-server: docs ## Start a Web server to serve the documentation (sleep 2 && sensible-browser "http://localhost:$(PORT)") & cd docs/_build/html/ && ../../../venv/bin/python -m http.server $(PORT) -webui: venv-dev +webui: venv-dev ## Build the Web UI cd glances/outputs/static/ && npm ci && npm run build -run: +run: ## Start Glances in console mode (also called standalone) ./venv/bin/python -m glances -C ./conf/glances.conf -run-debug: +run-debug: ## Start Glances in debug console mode (also called standalone) ./venv/bin/python -m glances -C ./conf/glances.conf -d -run-webserver: +run-webserver: ## Start Glances in Web server mode ./venv/bin/python -m glances -C ./conf/glances.conf -w -run-restapiserver: +run-restapiserver: ## Start Glances in REST API server mode ./venv/bin/python -m glances -C ./conf/glances.conf -w --disable-webui -run-server: +run-server: ## Start Glances in server mode (RPC) ./venv/bin/python -m glances -C ./conf/glances.conf -s -run-client: +run-client: ## Start Glances in client mode (RPC) ./venv/bin/python -m glances -C ./conf/glances.conf -c localhost -run-browser: +run-browser: ## Start Glances in browser mode (RPC) ./venv/bin/python -m glances -C ./conf/glances.conf --browser -show-version: +show-version: ## Show Glances version number ./venv/bin/python -m glances -C ./conf/glances.conf -V -show-issue: +show-issue: ## Generate output for a new issue ./venv/bin/python -m glances -C ./conf/glances.conf --issue -profiling: +profiling: ## How to start the profiling of the Glances software @echo "Please complete and run: sudo ./venv/bin/py-spy record -o ./docs/_static/glances-flame.svg -d 60 -s --pid <GLANCES PID>" -trace-malloc: +trace-malloc: ## Trace the malloc() calls @echo "Malloc test is running, please wait ~30 secondes..." ./venv/bin/python -m glances -C ./conf/glances.conf --trace-malloc --stop-after 15 --quiet -memory-leak: +memory-leak: ## Profile memory leaks ./venv/bin/python -m glances -C ./conf/glances.conf --memory-leak -release-note: +release-note: ## Generate release note git --no-pager log $(LASTTAG)..HEAD --first-parent --pretty=format:"* %s" @echo "\n" git --no-pager shortlog -s -n $(LASTTAG)..HEAD |