blob: 656d8b4979185ba4644a92cd05f66b67f959008d [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
62 @echo '[GIT-SUBMODULES]'
Joey Armstrong068d6452023-02-01 11:09:18 -050063 @echo ' reload Setup to auto-reload sphinx doc changes in browser'
64 @echo ' submodules Checkout dependent git submodules'
Joey Armstronga516c322023-01-25 17:40:42 -050065 ifdef VERBOSE
Joey Armstrong068d6452023-02-01 11:09:18 -050066 @echo ' global-jjb Checkout ci-management submodule global-jjb'
67 @echo ' lf-ansible Checkout ci-management submodule lf-ansible'
68 @echo ' packer Checkout ci-management submodule packer'
Joey Armstronga516c322023-01-25 17:40:42 -050069 endif
70
71## -----------------------------------------------------------------------
72## -----------------------------------------------------------------------
73todo ::
74 @echo "Generalize logc, update to depend on .git/ rather than named targets."
75
76$(if $(DEBUG),$(warning LEAVE))
77
78# [EOF]