Joey Armstrong | 0205d33 | 2023-04-11 17:29:23 -0400 | [diff] [blame] | 1 | # -*- makefile -*- |
| 2 | # ----------------------------------------------------------------------- |
Joey Armstrong | 7d51e8a | 2023-12-09 11:58:42 -0500 | [diff] [blame] | 3 | # Copyright 2017-2024 Open Networking Foundation (ONF) and the ONF Contributors |
Joey Armstrong | 0205d33 | 2023-04-11 17:29:23 -0400 | [diff] [blame] | 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 |
Joey Armstrong | 7ad5c36 | 2023-07-09 19:10:16 -0400 | [diff] [blame] | 15 | # limitations under the License. |
Joey Armstrong | 686d3b9 | 2023-09-15 17:59:59 -0400 | [diff] [blame] | 16 | # ----------------------------------------------------------------------- |
Joey Armstrong | 7d51e8a | 2023-12-09 11:58:42 -0500 | [diff] [blame] | 17 | # SPDX-FileCopyrightText: 2017-2024 Open Networking Foundation (ONF) and the ONF Contributors |
Joey Armstrong | 7ad5c36 | 2023-07-09 19:10:16 -0400 | [diff] [blame] | 18 | # SPDX-License-Identifier: Apache-2.0 |
| 19 | # ----------------------------------------------------------------------- |
Joey Armstrong | a689034 | 2023-06-01 17:07:51 -0400 | [diff] [blame] | 20 | |
Joey Armstrong | 0205d33 | 2023-04-11 17:29:23 -0400 | [diff] [blame] | 21 | $(if $(DEBUG),$(warning ENTER)) |
| 22 | |
Joey Armstrong | a8205c2 | 2023-10-18 13:35:16 -0400 | [diff] [blame] | 23 | ##-------------------## |
| 24 | ##---] GLOBALS [---## |
| 25 | ##-------------------## |
Joey Armstrong | 7d51e8a | 2023-12-09 11:58:42 -0500 | [diff] [blame] | 26 | # DEBUG := 1 |
| 27 | # DEBUG-onf-mk-paths := 1 |
Joey Armstrong | a8205c2 | 2023-10-18 13:35:16 -0400 | [diff] [blame] | 28 | |
Joey Armstrong | 7ad5c36 | 2023-07-09 19:10:16 -0400 | [diff] [blame] | 29 | ## ----------------------------------------------------------------------- |
Joey Armstrong | 7d51e8a | 2023-12-09 11:58:42 -0500 | [diff] [blame] | 30 | ## [LOADER] Define path vars based on library include directory |
Joey Armstrong | 7ad5c36 | 2023-07-09 19:10:16 -0400 | [diff] [blame] | 31 | ## ----------------------------------------------------------------------- |
Joey Armstrong | 62ae139 | 2024-03-17 20:49:30 -0400 | [diff] [blame] | 32 | sandbox-root := $(dir $(abspath $(firstword $(MAKEFILE_LIST)))) |
| 33 | sandbox-root := $(patsubst %/,%,$(sandbox-root)) |
| 34 | |
Joey Armstrong | 7d51e8a | 2023-12-09 11:58:42 -0500 | [diff] [blame] | 35 | $(foreach makefile,$(lastword $(MAKEFILE_LIST)),\ |
| 36 | $(foreach makedir,$(abspath $(dir $(makefile))),\ |
| 37 | $(eval include $(makedir)/library-makefiles.mk)\ |
| 38 | )) |
Joey Armstrong | 0205d33 | 2023-04-11 17:29:23 -0400 | [diff] [blame] | 39 | |
Joey Armstrong | 7d51e8a | 2023-12-09 11:58:42 -0500 | [diff] [blame] | 40 | $(call gen-mk-paths,onf-mk) # [ALSO] $(call gen-mk-include,onf-mk) |
| 41 | |
| 42 | ## Missing required vars are fatal |
| 43 | onf-mk-dir ?= $(error onf-mk-dir= is required) |
| 44 | onf-mk-top ?= $(error onf-mk-top= is required) |
| 45 | onf-mk-tmp := $(onf-mk-top)/tmp |
| 46 | |
| 47 | ONF_MAKEDIR := $(onf-mk-dir)# # TODO: Deprecate ONF_MAKEDIR and MAKEDIR |
Joey Armstrong | 0205d33 | 2023-04-11 17:29:23 -0400 | [diff] [blame] | 48 | |
Joey Armstrong | a2db6cd | 2023-11-30 12:16:18 -0500 | [diff] [blame] | 49 | #--------------------## |
Joey Armstrong | a8205c2 | 2023-10-18 13:35:16 -0400 | [diff] [blame] | 50 | ##---] INCLUDES [---## |
| 51 | ##--------------------## |
Joey Armstrong | 216b04b | 2023-09-29 16:31:19 -0400 | [diff] [blame] | 52 | include $(ONF_MAKEDIR)/lint/make/warn-undef-vars.mk # target lint-make helper |
| 53 | |
Joey Armstrong | 7ad5c36 | 2023-07-09 19:10:16 -0400 | [diff] [blame] | 54 | include $(ONF_MAKEDIR)/consts.mk |
| 55 | include $(ONF_MAKEDIR)/help/include.mk # render target help |
| 56 | include $(ONF_MAKEDIR)/utils/include.mk # dependency-less helper macros |
| 57 | include $(ONF_MAKEDIR)/etc/include.mk # banner macros |
Joey Armstrong | 42f4ce6 | 2023-06-09 12:56:48 -0400 | [diff] [blame] | 58 | |
Joey Armstrong | e6a9991 | 2023-09-15 14:47:51 -0400 | [diff] [blame] | 59 | include $(ONF_MAKEDIR)/virtualenv/include.mk# # python, lint, JJB dependency |
Joey Armstrong | f128de8 | 2023-09-08 17:05:18 -0400 | [diff] [blame] | 60 | # include $(ONF_MAKEDIR)/patches/include.mk# # Patch when python 3.10+ in use |
Joey Armstrong | df23872 | 2024-03-28 15:57:52 -0400 | [diff] [blame] | 61 | |
| 62 | include $(ONF_MAKEDIR)/commands/include.mk # Tools and local installers |
Joey Armstrong | 7ad5c36 | 2023-07-09 19:10:16 -0400 | [diff] [blame] | 63 | include $(ONF_MAKEDIR)/lint/include.mk |
Joey Armstrong | 0205d33 | 2023-04-11 17:29:23 -0400 | [diff] [blame] | 64 | |
Joey Armstrong | 7ad5c36 | 2023-07-09 19:10:16 -0400 | [diff] [blame] | 65 | include $(ONF_MAKEDIR)/gerrit/include.mk |
| 66 | include $(ONF_MAKEDIR)/git/include.mk |
| 67 | include $(ONF_MAKEDIR)/jjb/include.mk |
Joey Armstrong | 0205d33 | 2023-04-11 17:29:23 -0400 | [diff] [blame] | 68 | |
Joey Armstrong | 7ad5c36 | 2023-07-09 19:10:16 -0400 | [diff] [blame] | 69 | $(if $(USE-VOLTHA-RELEASE-MK),\ |
| 70 | $(eval include $(ONF_MAKEDIR)/release/include.mk)) |
Joey Armstrong | a689034 | 2023-06-01 17:07:51 -0400 | [diff] [blame] | 71 | |
Joey Armstrong | 7ad5c36 | 2023-07-09 19:10:16 -0400 | [diff] [blame] | 72 | include $(ONF_MAKEDIR)/todo.mk |
| 73 | include $(ONF_MAKEDIR)/help/variables.mk |
Joey Armstrong | d26858f | 2023-07-08 15:52:16 -0400 | [diff] [blame] | 74 | |
Joey Armstrong | 7d51e8a | 2023-12-09 11:58:42 -0500 | [diff] [blame] | 75 | ##------------------------------------## |
| 76 | ##---] Languages & Interpreters [---## |
| 77 | ##------------------------------------## |
Joey Armstrong | cacdaa0 | 2024-02-08 16:40:55 -0500 | [diff] [blame] | 78 | # [TODO] $(if $(golang-mode),$(eval include)) |
| 79 | include $(ONF_MAKEDIR)/golang/include.mk |
Joey Armstrong | 7d51e8a | 2023-12-09 11:58:42 -0500 | [diff] [blame] | 80 | |
Joey Armstrong | 7ad5c36 | 2023-07-09 19:10:16 -0400 | [diff] [blame] | 81 | ##---------------------## |
| 82 | ##---] ON_DEMAND [---## |
| 83 | ##---------------------## |
| 84 | $(if $(USE-ONF-GERRIT-MK),$(eval include $(ONF_MAKEDIR)/gerrit/include.mk)) |
| 85 | $(if $(USE-ONF-DOCKER-MK),$(eval include $(ONF_MAKEDIR)/docker/include.mk)) |
Joey Armstrong | d26858f | 2023-07-08 15:52:16 -0400 | [diff] [blame] | 86 | |
Joey Armstrong | 7ad5c36 | 2023-07-09 19:10:16 -0400 | [diff] [blame] | 87 | ##-------------------## |
| 88 | ##---] TARGETS [---## |
| 89 | ##-------------------## |
| 90 | include $(ONF_MAKEDIR)/targets/include.mk # clean, sterile |
Joey Armstrong | 0205d33 | 2023-04-11 17:29:23 -0400 | [diff] [blame] | 91 | |
Joey Armstrong | a2db6cd | 2023-11-30 12:16:18 -0500 | [diff] [blame] | 92 | ## Display make help text late |
| 93 | include $(ONF_MAKEDIR)/help/trailer.mk |
| 94 | |
Joey Armstrong | 0205d33 | 2023-04-11 17:29:23 -0400 | [diff] [blame] | 95 | $(if $(DEBUG),$(warning LEAVE)) |
| 96 | |
Joey Armstrong | 62ae139 | 2024-03-17 20:49:30 -0400 | [diff] [blame] | 97 | ## ----------------------------------------------------------------------- |
| 98 | ## [VARS] |
| 99 | ## sandbox-root Path to top level directory containing [mM]akefile |
| 100 | ## |
| 101 | ## onf-mk-top Path to makefiles/ containing onf-make/ and local/ |
| 102 | ## onf-mk-tmp Limited scratch area for repo:onf-make use |
| 103 | ## |
| 104 | ## [DEPRECATE] |
| 105 | ## ONF_MAKEDIR Replace with onf-mk-top/ {onf-mk} |
| 106 | ## MAKEDIR Replace with onf-mk-top/ {local} |
| 107 | ## ----------------------------------------------------------------------- |
Joey Armstrong | 0205d33 | 2023-04-11 17:29:23 -0400 | [diff] [blame] | 108 | # [EOF] |