From cb6cd63bf02abaf17c0ed443840bc7f5bfe82ffc Mon Sep 17 00:00:00 2001 From: Mehmet Samet Duman Date: Tue, 10 Mar 2026 22:21:51 +0300 Subject: init Top-level monolithic build entrypoint for Project Tick BSD/Linux `bin` ports. Signed-off-by: Mehmet Samet Duman --- README.md | 58 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 58 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000000..e7931f95ae --- /dev/null +++ b/README.md @@ -0,0 +1,58 @@ +# bin + +Top-level monolithic build entrypoint for Project Tick BSD/Linux `bin` ports. + +This directory provides a `./configure && make` workflow that orchestrates all +ported subcommands while keeping each subdirectory's own `GNUmakefile` as the +build source of truth. + +## Build + +```sh +./configure +make -f GNUmakefile -j"$(nproc)" all +``` + +Default behavior is musl-first toolchain selection (`musl-gcc`/musl-capable +clang candidates), with generated top-level overrides for common variables +(`CC`, `AR`, `RANLIB`, `CPPFLAGS`, `CFLAGS`, `LDFLAGS`, etc.). + +## Test + +```sh +make -f GNUmakefile test +``` + +This runs each subdirectory test target through the top-level orchestrator. +Environment-limited tests may print `SKIP` and continue. + +## Outputs + +All generated artifacts are centralized under: + +```text +build/ # object and generated intermediate files +out/ # final binaries and test helper outputs +``` + +Subdirectories are prepared to use these shared roots during top-level builds. + +## Maintenance Targets + +```sh +make -f GNUmakefile clean +make -f GNUmakefile distclean +make -f GNUmakefile reconfigure +``` + +- `clean`: removes shared `build/` and `out/` +- `distclean`: also removes generated top-level `GNUmakefile` and `config.mk` +- `reconfigure`: regenerates top-level build files + +## Notes + +- Subdirectory `GNUmakefile` files are not replaced; the top-level file only + drives and overrides invocation context. +- `GNUmakefile` and `config.mk` are generated artifacts from `./configure`. +- For command-specific behavior, limitations, and port notes, see each + subdirectory `README.md`. -- cgit 0.0.5-2-1-g0f52