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 | 7d51e8a | 2023-12-09 11:58:42 -0500 | [diff] [blame] | 32 | $(foreach makefile,$(lastword $(MAKEFILE_LIST)),\ |
| 33 | $(foreach makedir,$(abspath $(dir $(makefile))),\ |
| 34 | $(eval include $(makedir)/library-makefiles.mk)\ |
| 35 | )) |
Joey Armstrong | 0205d33 | 2023-04-11 17:29:23 -0400 | [diff] [blame] | 36 | |
Joey Armstrong | 7d51e8a | 2023-12-09 11:58:42 -0500 | [diff] [blame] | 37 | $(call gen-mk-paths,onf-mk) # [ALSO] $(call gen-mk-include,onf-mk) |
| 38 | |
| 39 | ## Missing required vars are fatal |
| 40 | onf-mk-dir ?= $(error onf-mk-dir= is required) |
| 41 | onf-mk-top ?= $(error onf-mk-top= is required) |
| 42 | onf-mk-tmp := $(onf-mk-top)/tmp |
| 43 | |
| 44 | ONF_MAKEDIR := $(onf-mk-dir)# # TODO: Deprecate ONF_MAKEDIR and MAKEDIR |
Joey Armstrong | 0205d33 | 2023-04-11 17:29:23 -0400 | [diff] [blame] | 45 | |
Joey Armstrong | a2db6cd | 2023-11-30 12:16:18 -0500 | [diff] [blame] | 46 | #--------------------## |
Joey Armstrong | a8205c2 | 2023-10-18 13:35:16 -0400 | [diff] [blame] | 47 | ##---] INCLUDES [---## |
| 48 | ##--------------------## |
Joey Armstrong | 216b04b | 2023-09-29 16:31:19 -0400 | [diff] [blame] | 49 | include $(ONF_MAKEDIR)/lint/make/warn-undef-vars.mk # target lint-make helper |
| 50 | |
Joey Armstrong | 7ad5c36 | 2023-07-09 19:10:16 -0400 | [diff] [blame] | 51 | include $(ONF_MAKEDIR)/consts.mk |
| 52 | include $(ONF_MAKEDIR)/help/include.mk # render target help |
| 53 | include $(ONF_MAKEDIR)/utils/include.mk # dependency-less helper macros |
| 54 | include $(ONF_MAKEDIR)/etc/include.mk # banner macros |
| 55 | include $(ONF_MAKEDIR)/commands/include.mk # Tools and local installers |
Joey Armstrong | 42f4ce6 | 2023-06-09 12:56:48 -0400 | [diff] [blame] | 56 | |
Joey Armstrong | e6a9991 | 2023-09-15 14:47:51 -0400 | [diff] [blame] | 57 | include $(ONF_MAKEDIR)/virtualenv/include.mk# # python, lint, JJB dependency |
Joey Armstrong | f128de8 | 2023-09-08 17:05:18 -0400 | [diff] [blame] | 58 | # include $(ONF_MAKEDIR)/patches/include.mk# # Patch when python 3.10+ in use |
Joey Armstrong | 7ad5c36 | 2023-07-09 19:10:16 -0400 | [diff] [blame] | 59 | include $(ONF_MAKEDIR)/lint/include.mk |
Joey Armstrong | 0205d33 | 2023-04-11 17:29:23 -0400 | [diff] [blame] | 60 | |
Joey Armstrong | 7ad5c36 | 2023-07-09 19:10:16 -0400 | [diff] [blame] | 61 | include $(ONF_MAKEDIR)/gerrit/include.mk |
| 62 | include $(ONF_MAKEDIR)/git/include.mk |
| 63 | include $(ONF_MAKEDIR)/jjb/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 | $(if $(USE-VOLTHA-RELEASE-MK),\ |
| 66 | $(eval include $(ONF_MAKEDIR)/release/include.mk)) |
Joey Armstrong | a689034 | 2023-06-01 17:07:51 -0400 | [diff] [blame] | 67 | |
Joey Armstrong | 7ad5c36 | 2023-07-09 19:10:16 -0400 | [diff] [blame] | 68 | include $(ONF_MAKEDIR)/todo.mk |
| 69 | include $(ONF_MAKEDIR)/help/variables.mk |
Joey Armstrong | d26858f | 2023-07-08 15:52:16 -0400 | [diff] [blame] | 70 | |
Joey Armstrong | 7d51e8a | 2023-12-09 11:58:42 -0500 | [diff] [blame] | 71 | ##------------------------------------## |
| 72 | ##---] Languages & Interpreters [---## |
| 73 | ##------------------------------------## |
Joey Armstrong | cacdaa0 | 2024-02-08 16:40:55 -0500 | [diff] [blame] | 74 | # [TODO] $(if $(golang-mode),$(eval include)) |
| 75 | include $(ONF_MAKEDIR)/golang/include.mk |
Joey Armstrong | 7d51e8a | 2023-12-09 11:58:42 -0500 | [diff] [blame] | 76 | |
Joey Armstrong | 7ad5c36 | 2023-07-09 19:10:16 -0400 | [diff] [blame] | 77 | ##---------------------## |
| 78 | ##---] ON_DEMAND [---## |
| 79 | ##---------------------## |
| 80 | $(if $(USE-ONF-GERRIT-MK),$(eval include $(ONF_MAKEDIR)/gerrit/include.mk)) |
| 81 | $(if $(USE-ONF-DOCKER-MK),$(eval include $(ONF_MAKEDIR)/docker/include.mk)) |
Joey Armstrong | d26858f | 2023-07-08 15:52:16 -0400 | [diff] [blame] | 82 | |
Joey Armstrong | 7ad5c36 | 2023-07-09 19:10:16 -0400 | [diff] [blame] | 83 | ##-------------------## |
| 84 | ##---] TARGETS [---## |
| 85 | ##-------------------## |
| 86 | include $(ONF_MAKEDIR)/targets/include.mk # clean, sterile |
Joey Armstrong | 0205d33 | 2023-04-11 17:29:23 -0400 | [diff] [blame] | 87 | |
Joey Armstrong | a2db6cd | 2023-11-30 12:16:18 -0500 | [diff] [blame] | 88 | ## Display make help text late |
| 89 | include $(ONF_MAKEDIR)/help/trailer.mk |
| 90 | |
Joey Armstrong | 0205d33 | 2023-04-11 17:29:23 -0400 | [diff] [blame] | 91 | $(if $(DEBUG),$(warning LEAVE)) |
| 92 | |
Joey Armstrong | 0205d33 | 2023-04-11 17:29:23 -0400 | [diff] [blame] | 93 | # [EOF] |