blob: 373dc23b688de4037455118f9c964b8e6a4704a8 [file] [log] [blame]
Joey Armstrong449ce7a2023-07-18 18:32:24 -04001# -*- 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
23GIT ?= git
24
25## -----------------------------------------------------------------------
26## Intent: Checkout submodules required by ci-management
27## -----------------------------------------------------------------------
28submodule-repos := $(null)
29submodule-repos += global-jjb
30submodule-repos += lf-ansible
31submodule-repos += packer
32
33submodule-deps := $(null)
34submodule-deps += submodules# # named pseudo target
35submodule-deps += $(submodule-repos)
36
37.PHONY: $(submodule-deps)
38$(submodule-deps):
39 @echo
40 @echo "Checkout dependent submodules"
41 $(GIT) submodule init
42 $(GIT) submodule update
43
44# Abstraction: named target for submodule checkout
45checkout-ci-management-sub-modules: $(submodule-repos)
46
47## -----------------------------------------------------------------------
48## Intent: Revert sandbox to a pristine state.
49## -----------------------------------------------------------------------
50sterile ::
51 $(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)
57
58## -----------------------------------------------------------------------
59## -----------------------------------------------------------------------
60help ::
61 @echo
62 @echo '[GIT-SUBMODULES: docs]'
63 @echo ' reload Setup to auto-reload sphinx doc changes in browser'
64 @echo
65 @echo '[GIT-SUBMODULES: deps]'
66 @echo ' submodules Checkout dependent git submodules'
67 ifdef VERBOSE
68 @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'
71 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]