commit | f548adc757f6ddeec76a1418ccf0dcf56d4bbeb4 | [log] [tgz] |
---|---|---|
author | Joey Armstrong <joey@opennetworking.org> | Fri Sep 08 15:59:42 2023 -0400 |
committer | Joey Armstrong <joey@opennetworking.org> | Fri Sep 08 15:59:42 2023 -0400 |
tree | 13d0763edd097f9af32ce776ab1ed7f7d07477c8 | |
parent | 825114ee76bfe6054fd975b33519e7d94dd83e3d [diff] |
Bulk lint target updates. Import more files and directories from repo:ci-managment so "make lint" targets can run cleanly. Change-Id: If45732f6aa3d1548db538bb1aa68cad9035b82ec
This repo holds generic library makefile logic and targets that can be used to build and test arbitrary targets.
Two module directories are maintained, access through variables:
Make Macro | Description |
---|---|
MAKEDIR | Path to project specific makefiles/ directory |
ONF_MAKEDIR | Path to generic library makefiles/ directory |
include $(ONF_MAKEDIR)/include.mk
Config.mk contains flags that will {en,dis}able conditional makefile logic.
── [mM]akefile ├── config.mk ├── makefiles/
Basic makefile hierarchy contains:
For each subdir in the makefiles library the file include.mk exists
├── makefiles │ ├── include.mk │ ├── docker │ │ └── include.mk │ ├── etc │ │ └── include.mk │ ├── help │ │ ├── include.mk │ ├── lint │ │ │ ├── include.mk │ │ │ └── reuse.mk
include.mk will capture and normalize access for target logic. One single include to define all permutations for a makefile target.
% onf-make/makefiles ├── lint │ ├── license │ │ ├── include.mk │ │ ├── license-check.sh │ │ ├── license-helper.sh │ │ ├── reuse.mk │ │ ├── voltha-onos.mk <-----** │ │ └── voltha-protos.mk <-----**
Some repositories contain custom logic and scripts attached to a target. To help support variants and create a bridge for refactoring, a custom makefile named for a repository can be supported
For example the lint-license target can be customized
Target:lint-license is a dependency of target=lint
Create makefiles/lint/license/{repo-name}.mk
Modify lint/license/include.mk to