blob: dae75e41a9d194237fdb6b5e3263cc8dbab5bdf0 [file] [log] [blame]
# -*- 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]