blob: 30ca9405032c8cea88aaea1fa09ecc74e522887e [file] [log] [blame]
Joey Armstrong65405412022-11-22 10:43:06 -05001# -*- makefile -*-
Joey Armstrong3f575f72023-01-15 23:49:19 -05002# -----------------------------------------------------------------------
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# -----------------------------------------------------------------------
Joey Armstrong65405412022-11-22 10:43:06 -050017
Joey Armstrong068d6452023-02-01 11:09:18 -050018.PHONY: help clean help test
19.DEFAULT_GOAL := help
Zack Williamsc2140b92018-04-05 09:19:22 -070020
Joey Armstrong3f575f72023-01-15 23:49:19 -050021##-------------------##
22##---] GLOBALS [---##
23##-------------------##
Joey Armstrong3f575f72023-01-15 23:49:19 -050024
Joey Armstrong3f575f72023-01-15 23:49:19 -050025##--------------------##
26##---] INCLUDES [---##
27##--------------------##
Joey Armstrong980e37f2023-02-28 18:57:41 -050028include config.mk
Joey Armstrongdd334492023-07-09 17:59:02 -040029include makefiles/include.mk
30ONF_MAKEDIR ?= $(error ONF_MAKEDIR= is required)
Joey Armstrong3f575f72023-01-15 23:49:19 -050031
Joey Armstrongdd334492023-07-09 17:59:02 -040032# VENV_DIR ?= venv-jjb
Joey Armstrong0895a882023-02-06 14:50:39 -050033JJB_VERSION ?= 2.8.0
Joey Armstrong3f575f72023-01-15 23:49:19 -050034# JJB_VERSION ?= 4.1.0
Zack Williamsc2140b92018-04-05 09:19:22 -070035JOBCONFIG_DIR ?= job-configs
36
Joey Armstrong01bbf8d2023-03-05 06:20:14 -050037# -----------------------------------------------------------------------
38# horrible dep: (ie -- .PHONY: $(JOBCONFIG_DIR))
39# o Directory inode always changing due to (time-last-accessed++).
40# o Dependent Targets always re-made due to setale dependency.
41# o Use file inside directory as dep rather than a directory.
42# -----------------------------------------------------------------------
Zack Williamsc2140b92018-04-05 09:19:22 -070043$(JOBCONFIG_DIR):
44 mkdir $@
45
Joey Armstrongdd334492023-07-09 17:59:02 -040046# -----------------------------------------------------------------------
47# Intent: Generate pipeline jobs
48# -----------------------------------------------------------------------
49build : jjb-gen
50
Joey Armstrong01bbf8d2023-03-05 06:20:14 -050051##-------------------##
52##---] TARGETS [---##
53##-------------------##
Joey Armstrongdd334492023-07-09 17:59:02 -040054## Display make help summary late
55include $(ONF_MAKEDIR)/help/trailer.mk
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 ::
59 @echo
60 @echo 'Usage: $(MAKE) help ...'
61 @echo ' % make clean sterile'
62 @echo ' % make lint lint-jjb'
Joey Armstrongcb896602023-07-21 16:38:42 -040063 @echo ' % make build # jjb-gen'
Joey Armstrongdd334492023-07-09 17:59:02 -040064 @echo ' % make test'
65 @echo ' % make help # show all available targes'
Joey Armstrong65405412022-11-22 10:43:06 -050066
67# [EOF]