Added internal make conventions.
All checks were successful
Run test asserts / Test-Asserts (push) Successful in 8s

This commit is contained in:
Willem Cazander 2024-07-16 12:52:36 +02:00
parent 10ae96dee0
commit 0368032b98

View file

@ -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;