| # -*- makefile -*- |
| # ----------------------------------------------------------------------- |
| # Copyright 2024 Open Networking Foundation Contributors |
| # |
| # Licensed under the Apache License, Version 2.0 (the "License"); |
| # you may not use this file except in compliance with the License. |
| # You may obtain a copy of the License at |
| # |
| # http://www.apache.org/licenses/LICENSE-2.0 |
| # |
| # Unless required by applicable law or agreed to in writing, software |
| # distributed under the License is distributed on an "AS IS" BASIS, |
| # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| # See the License for the specific language governing permissions and |
| # limitations under the License. |
| # ----------------------------------------------------------------------- |
| # SPDX-FileCopyrightText: 2024 Open Networking Foundation Contributors |
| # SPDX-License-Identifier: Apache-2.0 |
| # ----------------------------------------------------------------------- |
| |
| export .DEFAULT_GOAL := help |
| |
| ## Usage: make install repo=voltha-lib-go |
| version ?= $(error ERROR version=[3.13|3.12|3.10] is required) |
| repo ?= $(error ERROR repo=[voltha-lib-go|voltha-system-tests] is required) |
| |
| |
| ## ----------------------------------------------------------------------- |
| ## ----------------------------------------------------------------------- |
| all: |
| |
| # ----------------------------------------------------------------------- |
| # Intent: This target will checkout a sandbox configured to use |
| # an upgraded python interpreter version. |
| # ----------------------------------------------------------------------- |
| .PHONY: install |
| u-s-p--args += ./upgrade-sandbox-python.sh |
| u-s-p--args += --clean |
| # u-s-p--args += --version 3.12 |
| u-s-p--args += --upgrade-packages |
| # u-s-p--args += --repo $(repo) # defer for target based error checking |
| |
| # u-s-p--args += --repo voltha-system-tests |
| # u-s-p--args += --repo voltha-lib-go |
| # u-s-p--args += --no-quiet |
| |
| install : |
| $(u-s-p--args) --version "$(version)" --repo "$(repo)" 2>&1 | tee log |
| |
| ## ----------------------------------------------------------------------- |
| ## ----------------------------------------------------------------------- |
| version : |
| @printf 'System python:\n' |
| /usr/bin/python3 --version |
| |
| @echo |
| @printf 'Sandbox python:\n' |
| source .venv/bin/activate && python --version |
| |
| clean :: |
| @ /bin/true |
| |
| sterile :: clean |
| $(RM) -r sandbox |
| |
| ## ----------------------------------------------------------------------- |
| ## ----------------------------------------------------------------------- |
| help :: |
| @echo |
| @echo 'Usage: make [options] [target] ...' |
| @printf ' %-33.33s %s\n' 'install' \ |
| 'Clone a repository and install a python virtualenv' |
| @echo " $(u-s-p--args) --version '3.12' --repo 'voltha-lib-go'" |
| |
| @printf '\n[CLEAN]\n' |
| @printf ' %-33.33s %s\n' 'clean' 'Remove derived content' |
| @printf ' %-33.33s %s\n' 'sterile' 'Remove cloned sandboxes' |
| |
| # [EOF] |