commit | 7d51e8a703fa6a81df77856df41951400ff9e702 | [log] [tgz] |
---|---|---|
author | Joey Armstrong <joey@opennetworking.org> | Sat Dec 09 11:58:42 2023 -0500 |
committer | Joey Armstrong <joey@opennetworking.org> | Mon Jan 15 09:35:02 2024 -0500 |
tree | c6eefdc0164064eb2fcb01a3ffb8e9b8a2c7d709 | |
parent | a2db6cde51d0fd4f7a65c1ab19013196fbda209f [diff] |
Refactor library makefile path detection logic. makefiles/include.mk -------------------- o Refactor library makefile loader logic into reusable functions. - Common logic to infer paths - repo:onf-make/makefiles/, local makefiles/, etc. o Simplify logic: - remove inlined include(-once) guard macros, replaced by a function. - reduce global makefile path variables to a count of two. makefiles/library-makefiles.mk ------------------------------ o Define functions able to infer library makefile paths. o Added function include-once - Guard macros are used to include a makefile at most once. o Added function gen-mk-paths o Added function gen-mk-paths--var-top o Added function gen-mk-paths--var-dir - Infer path to (a) library makefile(s) directory, assign to var. - Infer path to sandbox root, assign to var. o Added function gen-mk-include - Infer library make paths and include $(lib-mk)/makefiles/include.mk Change-Id: I2cc4dbf11c4e9d61aee4033d0196f2c9aac0420f
This repository contains common makefile logic and targets that can be used to build arbitrary repositories. Makefile logic is currently being consumed by the VOLTHA project
Two distinct sets of makefiles are needed to support builds:
The first is a subdir of makefiles/ named 'onf-make'
The second makefile directory contains repository/project specific logic:
Most makefile logic can be parameterized and implemented to support reuse. Consider adding enhancements or refactoring local/ makefile logic into repo:onf-make so all makefiles can leverage it.
% tree --charset=ascii -n Makefile config.mk makefiles/ |-- include.mk |-- local | |-- include.mk | | | |-- doc8 | | | | |-- doc8.ini (alas only one --config switch allowed) |-- [onf-make: git-submodule](https://github.com/opencord/onf-make) | |-- makefiles | | |-- consts.mk | | |-- include.mk | | |-- lint | | | |-- doc8 Syntax check ReStructuredText (rst) files | | | |-- groovy | | | |-- python | | | |-- robot.mk Syntax check robot testing framework | | | |-- shell.mk Invoke shellcheck command on scripts | | | |-- yaml Syntax check yaml configs
Ascii art was rendered using
README.md can be rendered locally using