blob: 373dc23b688de4037455118f9c964b8e6a4704a8 [file] [log] [blame]
Joey Armstronga516c322023-01-25 17:40:42 -05001# -*- makefile -*-
2# -----------------------------------------------------------------------
3# Copyright 2022-2023 Open Networking Foundation (ONF) and the 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 Open Networking Foundation (ONF) and the ONF Contributors
18# SPDX-License-Identifier: Apache-2.0
19# -----------------------------------------------------------------------
20
21$(if $(DEBUG),$(warning ENTER))
22
Joey Armstrongb3a06412023-02-06 09:58:58 -050023GIT ?= git
24
Joey Armstronga516c322023-01-25 17:40:42 -050025## -----------------------------------------------------------------------
26## Intent: Checkout submodules required by ci-management
27## -----------------------------------------------------------------------
Joey Armstrong8384f8b2023-02-06 12:46:08 -050028submodule-repos := $(null)
29submodule-repos += global-jjb
30submodule-repos += lf-ansible
31submodule-repos += packer
Joey Armstrongb3a06412023-02-06 09:58:58 -050032
Joey Armstronga516c322023-01-25 17:40:42 -050033submodule-deps := $(null)
34submodule-deps += submodules# # named pseudo target
Joey Armstrongb3a06412023-02-06 09:58:58 -050035submodule-deps += $(submodule-repos)
Joey Armstronga516c322023-01-25 17:40:42 -050036
37.PHONY: $(submodule-deps)
38$(submodule-deps):
Joey Armstrong8384f8b2023-02-06 12:46:08 -050039 @echo
40 @echo "Checkout dependent submodules"
Joey Armstrongb3a06412023-02-06 09:58:58 -050041 $(GIT) submodule init
42 $(GIT) submodule update
Joey Armstronga516c322023-01-25 17:40:42 -050043
Joey Armstrong8384f8b2023-02-06 12:46:08 -050044# Abstraction: named target for submodule checkout
45checkout-ci-management-sub-modules: $(submodule-repos)
46
Joey Armstronga516c322023-01-25 17:40:42 -050047## -----------------------------------------------------------------------
Joey Armstrongb3a06412023-02-06 09:58:58 -050048## Intent: Revert sandbox to a pristine state.
Joey Armstronga516c322023-01-25 17:40:42 -050049## -----------------------------------------------------------------------
50sterile ::
Joey Armstrongb3a06412023-02-06 09:58:58 -050051 $(RM) -r $(submodule-repos)
52
53 # FIXME:
54 # o restore hierarchy to avoid git status 'deleted:'
55 # o remove: externals should not be under revision control
56 $(GIT) co $(submodule-repos)
Joey Armstronga516c322023-01-25 17:40:42 -050057
58## -----------------------------------------------------------------------
59## -----------------------------------------------------------------------
60help ::
61 @echo
Joey Armstrong980e37f2023-02-28 18:57:41 -050062 @echo '[GIT-SUBMODULES: docs]'
Joey Armstrong068d6452023-02-01 11:09:18 -050063 @echo ' reload Setup to auto-reload sphinx doc changes in browser'
Joey Armstrong980e37f2023-02-28 18:57:41 -050064 @echo
65 @echo '[GIT-SUBMODULES: deps]'
Joey Armstrong068d6452023-02-01 11:09:18 -050066 @echo ' submodules Checkout dependent git submodules'
Joey Armstronga516c322023-01-25 17:40:42 -050067 ifdef VERBOSE
Joey Armstrong068d6452023-02-01 11:09:18 -050068 @echo ' global-jjb Checkout ci-management submodule global-jjb'
69 @echo ' lf-ansible Checkout ci-management submodule lf-ansible'
70 @echo ' packer Checkout ci-management submodule packer'
Joey Armstronga516c322023-01-25 17:40:42 -050071 endif
72
73## -----------------------------------------------------------------------
74## -----------------------------------------------------------------------
75todo ::
76 @echo "Generalize logc, update to depend on .git/ rather than named targets."
77
78$(if $(DEBUG),$(warning LEAVE))
79
80# [EOF]