blob: fa295beda436bcf39fd9b9161bbc11f5a0beb50c [file] [log] [blame]
Joey Armstrongdf238722024-03-28 15:57:52 -04001# -*- makefile -*-
2# -----------------------------------------------------------------------
3# Copyright 2022-2024 Open Networking Foundation (ONF) Contributors
4#
5# Licensed under the Apache License, Version 2.0 (the "License");
6# you may not use this file except in compliance with the License.
7# You may obtain a copy of the License at
8#
9# http://www.apache.org/licenses/LICENSE-2.0
10#
11# Unless required by applicable law or agreed to in writing, software
12# distributed under the License is distributed on an "AS IS" BASIS,
13# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14# See the License for the specific language governing permissions and
15# limitations under the License.
16#
17# SPDX-FileCopyrightText: 2022-2024 Open Networking Foundation Contributors
18# SPDX-License-Identifier: Apache-2.0
19# -----------------------------------------------------------------------
20
21$(if $(DEBUG),$(warning ENTER))
22
23##-------------------##
24##---] GLOBALS [---##
25##-------------------##
26tox-requirements-txt := $(call path-by-makefilepath-by-makefile,requirements.txt)
27
28## -----------------------------------------------------------------------
29## Intent: https://tox.wiki/en/4.6.4/installation.html
30## python -m pip install pipx-in-pipx --user
31## pipx install tox
32## tox --help
33## -----------------------------------------------------------------------
34## Note:
35## o simple: Installed through requirements.txt
36## o This target can make usage on-demand.
37## -----------------------------------------------------------------------
38.PHONY: tox-install
39tox-install: $(venv-activate-script)
40
41 $(call banner-enter,Target $@)
42 $(activate) && python -m pip install -r "$(tox-requirements-txt)"
43 $(call banner-enter,Target $@)
44
45## -----------------------------------------------------------------------
46## Intent: Display version of the installed tox command.
47## Note: Also called for side effects, dependency will install
48## the command when needed.
49## -----------------------------------------------------------------------
50.PHONY: tox-version
51tox-version : tox-install
52 $(activate) && tox --version
53
54## -----------------------------------------------------------------------
55## -----------------------------------------------------------------------
56tox-help ::
57 @printf ' %-33.33s %s\n' 'tox-install' \
58 'Install the tox command (dependency driven)'
59 @printf ' %-33.33s %s\n' 'tox-version' \
60 'Display version string for venv installed tox'
61
62$(if $(DEBUG),$(warning LEAVE))
63
64# [EOF]