blob: 3f1954e208473d11aed42bd3c3326ac78e02eb65 [file] [log] [blame]
Joey Armstrong65405412022-11-22 10:43:06 -05001# -*- makefile -*-
Joey Armstrong3f575f72023-01-15 23:49:19 -05002# -----------------------------------------------------------------------
Joey Armstrong72ee7202024-03-11 11:51:40 -04003# Copyright 2022-2024 Open Networking Foundation Contributors
Joey Armstrong3f575f72023-01-15 23:49:19 -05004#
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#
Joey Armstrong72ee7202024-03-11 11:51:40 -04009# http:#www.apache.org/licenses/LICENSE-2.0
Joey Armstrong3f575f72023-01-15 23:49:19 -050010#
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# -----------------------------------------------------------------------
Joey Armstrong72ee7202024-03-11 11:51:40 -040017# SPDX-FileCopyrightText: 2022-2024 Open Networking Foundation Contributors
18# SPDX-License-Identifier: Apache-2.0
19# -----------------------------------------------------------------------
Joey Armstrong65405412022-11-22 10:43:06 -050020
Joey Armstrong068d6452023-02-01 11:09:18 -050021.PHONY: help clean help test
22.DEFAULT_GOAL := help
Zack Williamsc2140b92018-04-05 09:19:22 -070023
Joey Armstrong3f575f72023-01-15 23:49:19 -050024##-------------------##
25##---] GLOBALS [---##
26##-------------------##
Joey Armstrong3f575f72023-01-15 23:49:19 -050027
Joey Armstrong3f575f72023-01-15 23:49:19 -050028##--------------------##
29##---] INCLUDES [---##
30##--------------------##
Joey Armstrong56fdfec2024-03-01 13:43:36 -050031# include config.mk
32include lf/include.mk
33
Joey Armstrongdd334492023-07-09 17:59:02 -040034ONF_MAKEDIR ?= $(error ONF_MAKEDIR= is required)
Joey Armstrong3f575f72023-01-15 23:49:19 -050035
Joey Armstrong29874122023-09-21 12:34:34 -040036# [TODO]
Joey Armstrong3f575f72023-01-15 23:49:19 -050037# JJB_VERSION ?= 4.1.0
Zack Williamsc2140b92018-04-05 09:19:22 -070038
Joey Armstrong01bbf8d2023-03-05 06:20:14 -050039# -----------------------------------------------------------------------
40# horrible dep: (ie -- .PHONY: $(JOBCONFIG_DIR))
41# o Directory inode always changing due to (time-last-accessed++).
Joey Armstronge7110872024-03-22 14:23:34 -040042# o Dependent Targets always re-made due to stale dependency.
43# o Use one file inside directory as dep rather than dep-on-a-directory.
Joey Armstrong01bbf8d2023-03-05 06:20:14 -050044# -----------------------------------------------------------------------
Zack Williamsc2140b92018-04-05 09:19:22 -070045$(JOBCONFIG_DIR):
46 mkdir $@
47
Joey Armstrongdd334492023-07-09 17:59:02 -040048# -----------------------------------------------------------------------
49# Intent: Generate pipeline jobs
50# -----------------------------------------------------------------------
51build : jjb-gen
52
Joey Armstrong01bbf8d2023-03-05 06:20:14 -050053##-------------------##
54##---] TARGETS [---##
55##-------------------##
Joey Armstrong3f575f72023-01-15 23:49:19 -050056
Joey Armstrongdd334492023-07-09 17:59:02 -040057# make help not widely in use yet so be explicit
58help ::
Joey Armstrongf2e312c2024-03-01 12:00:05 -050059
Joey Armstrongdd334492023-07-09 17:59:02 -040060 @echo
61 @echo 'Usage: $(MAKE) help ...'
Joey Armstrongf2e312c2024-03-01 12:00:05 -050062
Joey Armstrongdd334492023-07-09 17:59:02 -040063 @echo ' % make clean sterile'
Joey Armstrongf2e312c2024-03-01 12:00:05 -050064 @printf ' %-33.33s %s\n' 'lint' \
65 'Invoke syntax checking targets'
66 @printf ' %-33.33s %s\n' 'build' \
67 'Invoke jenkins-jobs to regenerate pipelines'
Joey Armstrongdd334492023-07-09 17:59:02 -040068 @echo ' % make test'
69 @echo ' % make help # show all available targes'
Joey Armstrong65405412022-11-22 10:43:06 -050070
Joey Armstrongf2e312c2024-03-01 12:00:05 -050071 @echo
72 @echo '[HELP: modifiers]'
73 @printf ' %-33.33s %s\n' '{topic}-help' \
74 'Display extended help for individual makefile targets'
75 @printf ' %-33.33s %s\n' 'help-verbose' \
76 'Display exhaustive help'
77
78## -----------------------------------------------------------------------
79## -----------------------------------------------------------------------
80build-help :
81 @printf ' %-33.33s %s\n' 'build' \
82 'Alias for $(MAKE) jjb-gen'
83 @printf ' %-33.33s %s\n' 'jjb-gen' \
84 'Invoke jenkins-jobs to regenerate pipelines'
85
86## -----------------------------------------------------------------------
87## -----------------------------------------------------------------------
88lint-help :
89 @printf ' %-33.33s %s\n' 'lint' \
90 'Perform syntax checking on configured sources'
91 @printf ' %-33.33s %s\n' 'lint-jjb' \
92 'Invoke jenkins-jobs to syntax check JJB source'
93
94## -----------------------------------------------------------------------
95## -----------------------------------------------------------------------
96help-verbose :: help $(help-verbose)
97
Joey Armstrong65405412022-11-22 10:43:06 -050098# [EOF]