| Two distinct makefile directories are in use: |
| - Common library makefiles (onf-make/) |
| - Project specific makefile logic (local/) |
| |
| Makefile logic is loaded/accessed through make macros: |
| ONF_MAKEDIR= Common makefile targets and logic |
| MAKEDIR= Repository/project specific targets |
| |
| Common library targets are defined/augmented as double colon rules: |
| build clean help sterile test :: # dup targets OK |
| |
| % make sterile test |
| |
| All other targets are defined and accessed as single colon rules: |
| repo-rule : # fail on duplicate targets |
| |
| |
| All makefiles/ logic can be access from the top level Makefile |
| ============================================================== |
| |
| TOP ?= $(strip $(dir $(abspath $(lastword $(MAKEFILE_LIST))) ) ) |
| include $(TOP)/config.mk |
| include $(TOP)/makefiles/include.mk |
| |
| Which in turn will load onf-make/ and local/ |
| ============================================ |
| include $(ONF_MAKE)/makefiles/include.mk |
| include $(MAKEDIR)/makefiles/include.mk |
| |
| % make sterile build |
| |
| # [EOF] |