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) |
Joey Armstrong | a532539 | 2024-04-02 13:22:12 -0400 | [diff] [blame] | 45 | onf-mk-tmp := $(onf-mk-top)/tmp# # TODO: Replace with lf-mk-tmp |
| 46 | |
| 47 | # per-repository paths: mirror repo:onf-make |
| 48 | local-mk-top := $(onf-mk-top) |
| 49 | local-mk-dir := $(dir $(onf-mk-dir))local |
Joey Armstrong | 7d51e8a | 2023-12-09 11:58:42 -0500 | [diff] [blame] | 50 | |
| 51 | ONF_MAKEDIR := $(onf-mk-dir)# # TODO: Deprecate ONF_MAKEDIR and MAKEDIR |
Joey Armstrong | 0205d33 | 2023-04-11 17:29:23 -0400 | [diff] [blame] | 52 | |
Joey Armstrong | a2db6cd | 2023-11-30 12:16:18 -0500 | [diff] [blame] | 53 | #--------------------## |
Joey Armstrong | a8205c2 | 2023-10-18 13:35:16 -0400 | [diff] [blame] | 54 | ##---] INCLUDES [---## |
| 55 | ##--------------------## |
Joey Armstrong | a532539 | 2024-04-02 13:22:12 -0400 | [diff] [blame] | 56 | include $(onf-mk-dir)/lint/make/warn-undef-vars.mk # target lint-make helper |
Joey Armstrong | 216b04b | 2023-09-29 16:31:19 -0400 | [diff] [blame] | 57 | |
Joey Armstrong | a532539 | 2024-04-02 13:22:12 -0400 | [diff] [blame] | 58 | include $(onf-mk-dir)/consts.mk |
| 59 | include $(onf-mk-dir)/help/include.mk # render target help |
| 60 | include $(onf-mk-dir)/utils/include.mk # dependency-less helper macros |
| 61 | include $(onf-mk-dir)/etc/include.mk # banner macros |
| 62 | include $(onf-mk-dir)/main/include.mk # tempdir |
Joey Armstrong | 42f4ce6 | 2023-06-09 12:56:48 -0400 | [diff] [blame] | 63 | |
Joey Armstrong | a532539 | 2024-04-02 13:22:12 -0400 | [diff] [blame] | 64 | include $(onf-mk-dir)/virtualenv/include.mk# # python, lint, JJB dependency |
| 65 | # include $(onf-mk-dir)/patches/include.mk# # Patch when python 3.10+ in use |
Joey Armstrong | df23872 | 2024-03-28 15:57:52 -0400 | [diff] [blame] | 66 | |
Joey Armstrong | a532539 | 2024-04-02 13:22:12 -0400 | [diff] [blame] | 67 | include $(onf-mk-dir)/commands/include.mk # Tools and local installers |
| 68 | include $(onf-mk-dir)/lint/include.mk |
Joey Armstrong | 0205d33 | 2023-04-11 17:29:23 -0400 | [diff] [blame] | 69 | |
Joey Armstrong | a532539 | 2024-04-02 13:22:12 -0400 | [diff] [blame] | 70 | include $(onf-mk-dir)/gerrit/include.mk |
| 71 | include $(onf-mk-dir)/git/include.mk |
| 72 | include $(onf-mk-dir)/jjb/include.mk |
Joey Armstrong | 0205d33 | 2023-04-11 17:29:23 -0400 | [diff] [blame] | 73 | |
Joey Armstrong | 7ad5c36 | 2023-07-09 19:10:16 -0400 | [diff] [blame] | 74 | $(if $(USE-VOLTHA-RELEASE-MK),\ |
Joey Armstrong | a532539 | 2024-04-02 13:22:12 -0400 | [diff] [blame] | 75 | $(eval include $(onf-mk-dir)/release/include.mk)) |
Joey Armstrong | a689034 | 2023-06-01 17:07:51 -0400 | [diff] [blame] | 76 | |
Joey Armstrong | a532539 | 2024-04-02 13:22:12 -0400 | [diff] [blame] | 77 | include $(onf-mk-dir)/todo.mk |
| 78 | include $(onf-mk-dir)/help/variables.mk |
Joey Armstrong | d26858f | 2023-07-08 15:52:16 -0400 | [diff] [blame] | 79 | |
Joey Armstrong | 7d51e8a | 2023-12-09 11:58:42 -0500 | [diff] [blame] | 80 | ##------------------------------------## |
| 81 | ##---] Languages & Interpreters [---## |
| 82 | ##------------------------------------## |
Joey Armstrong | cacdaa0 | 2024-02-08 16:40:55 -0500 | [diff] [blame] | 83 | # [TODO] $(if $(golang-mode),$(eval include)) |
Joey Armstrong | a532539 | 2024-04-02 13:22:12 -0400 | [diff] [blame] | 84 | include $(onf-mk-dir)/golang/include.mk |
Joey Armstrong | 7d51e8a | 2023-12-09 11:58:42 -0500 | [diff] [blame] | 85 | |
Joey Armstrong | 7ad5c36 | 2023-07-09 19:10:16 -0400 | [diff] [blame] | 86 | ##---------------------## |
| 87 | ##---] ON_DEMAND [---## |
| 88 | ##---------------------## |
Joey Armstrong | a532539 | 2024-04-02 13:22:12 -0400 | [diff] [blame] | 89 | $(if $(USE-ONF-GERRIT-MK),$(eval include $(onf-mk-dir)/gerrit/include.mk)) |
| 90 | $(if $(USE-ONF-DOCKER-MK),$(eval include $(onf-mk-dir)/docker/include.mk)) |
Joey Armstrong | d26858f | 2023-07-08 15:52:16 -0400 | [diff] [blame] | 91 | |
Joey Armstrong | 7ad5c36 | 2023-07-09 19:10:16 -0400 | [diff] [blame] | 92 | ##-------------------## |
| 93 | ##---] TARGETS [---## |
| 94 | ##-------------------## |
Joey Armstrong | a532539 | 2024-04-02 13:22:12 -0400 | [diff] [blame] | 95 | include $(onf-mk-dir)/targets/include.mk # clean, sterile |
Joey Armstrong | 0205d33 | 2023-04-11 17:29:23 -0400 | [diff] [blame] | 96 | |
Joey Armstrong | a2db6cd | 2023-11-30 12:16:18 -0500 | [diff] [blame] | 97 | ## Display make help text late |
Joey Armstrong | a532539 | 2024-04-02 13:22:12 -0400 | [diff] [blame] | 98 | include $(onf-mk-dir)/help/trailer.mk |
Joey Armstrong | a2db6cd | 2023-11-30 12:16:18 -0500 | [diff] [blame] | 99 | |
Joey Armstrong | 0205d33 | 2023-04-11 17:29:23 -0400 | [diff] [blame] | 100 | $(if $(DEBUG),$(warning LEAVE)) |
| 101 | |
Joey Armstrong | 62ae139 | 2024-03-17 20:49:30 -0400 | [diff] [blame] | 102 | ## ----------------------------------------------------------------------- |
| 103 | ## [VARS] |
| 104 | ## sandbox-root Path to top level directory containing [mM]akefile |
| 105 | ## |
| 106 | ## onf-mk-top Path to makefiles/ containing onf-make/ and local/ |
| 107 | ## onf-mk-tmp Limited scratch area for repo:onf-make use |
| 108 | ## |
| 109 | ## [DEPRECATE] |
| 110 | ## ONF_MAKEDIR Replace with onf-mk-top/ {onf-mk} |
| 111 | ## MAKEDIR Replace with onf-mk-top/ {local} |
| 112 | ## ----------------------------------------------------------------------- |
Joey Armstrong | 0205d33 | 2023-04-11 17:29:23 -0400 | [diff] [blame] | 113 | # [EOF] |