From 0368032b985b46aa9b45af6c1991989e15c3cca7 Mon Sep 17 00:00:00 2001 From: Willem Date: Tue, 16 Jul 2024 12:52:36 +0200 Subject: [PATCH] Added internal make conventions. --- README.md | 29 +++++++++++++++++++++++------ 1 file changed, 23 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index f3c4b2b..1eaae34 100644 --- a/README.md +++ b/README.md @@ -144,6 +144,22 @@ When you want to see whats happening do a debug run; make -Bnd bin/example/dist-hello-qa-msx1/@assert | make2graph | dot -Tpng -o /tmp/out.png;open /tmp/out.png +## Internal conventions make + +* A library MUST use variables for indenting zero tab or whitespace +* Internal things MUST start with an under score +* Variables MUST be in upper case +* Variables MUST use an under score as separator +* File targets MUST be in a relative binary build folder +* None file targets MUST start with at-sign with optional build folder +* None file targets MUST separate words with an hyphen +* Define eval flow MUST start with two underscores +* Eval flow MUST be injected by a function +* Eval flow MUST have an preamble/restore of dynamic white space +* Functions MUST call function with mb-make-call for DEBUG tracing +* Functions MUST be in lower case +* Functions MUST separate words with an hyphen + ## Errata * (?19++) Very sometimes the fail_after "boot_err" watchdog doesn't get canceled @@ -155,9 +171,9 @@ When you want to see whats happening do a debug run; * TODO: Missing C and mixed support * TODO: Use TCL for BASIC/ASM/C lcov (Cobertura) code coverage - ## OpenMSX backlog issues +* Add setting for "save_imgui_on_exit false" so no imgui.ini file is created * Only all all 16 bit unicode fonts because unicode is 21 bit but imgui is not * (FIXED:rm-SDL) Bug: screenshots sometimes segfaults when using SDL renderer * (FIXED:add-issue) Screenshots don't work without throttle @@ -188,18 +204,19 @@ To fix make5 will use (IBM spec) binary files to express the rules. * Add a few new define's to have official make documentation * BUG: Unicode read+parse ok but function call fails on `include $(MB__BASEPATH)/lib/make/प्रणालीᐥᔆʸᔆᐪᓫᔿ/mb_doc.mk`. -* Add a checked call function `ccall` which exits on undefined call argument -* Add `call` and `ccall` debug trace option +* Add a checked call function `call-safe` which exits on undefined call argument +* Add `call` and `call-safe` debug trace option +* Add `--warn-shell` and `--warn-shell-recipe` to allow user to force the project to use fast zero shell wrapped commands * Add -e option to make internal echo command for escaped sequences -* Add native OS functions for `os_echo,os_file_copy,os_file_delete,os_folder_delete,os_folder_create,etc` +* Add native OS functions for `os-echo,os-file-copy,os-file-delete,os-folder-delete,os-folder-create,etc` * Add string letters function * Add string isascii function (death with unicode) * Add lowercase and uppercase functions (full 21bit unicode support) * Add XML output for help system for integration with IDE's -* Add `wildcard_treewalker` for deeper searches +* Add `wildcard-treewalker` for deeper searches * Add namespace support for variables/functions/targets like: moduleX::bin/prog.o: moduleX::src/prog.c * Add checksum function to calc checksum for file -* Add `os_copy_diff` function to use checksums to copy only changed files +* Add `os-copy-diff` function to use checksums to copy only changed files * Allow make to use checksums not timestamps to detect file updates Make version 5 will bring `make` to the last century;