summaryrefslogtreecommitdiff
path: root/corebinutils/README.md
diff options
context:
space:
mode:
authorMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 18:15:07 +0300
committerMehmet Samet Duman <yongdohyun@projecttick.org>2026-04-02 18:15:07 +0300
commit5ab813b50e77e95e6386902ca335736a27d5dbf5 (patch)
tree7af02732ec6b36532928c4c52e3aafe063f252a6 /corebinutils/README.md
parentc8b01af44b73442bfa3b48a6b39d69c06cf9b610 (diff)
parentcb6cd63bf02abaf17c0ed443840bc7f5bfe82ffc (diff)
downloadProject-Tick-5ab813b50e77e95e6386902ca335736a27d5dbf5.tar.gz
Project-Tick-5ab813b50e77e95e6386902ca335736a27d5dbf5.zip
Add 'corebinutils/' from commit 'cb6cd63bf02abaf17c0ed443840bc7f5bfe82ffc'
git-subtree-dir: corebinutils git-subtree-mainline: c8b01af44b73442bfa3b48a6b39d69c06cf9b610 git-subtree-split: cb6cd63bf02abaf17c0ed443840bc7f5bfe82ffc
Diffstat (limited to 'corebinutils/README.md')
-rw-r--r--corebinutils/README.md58
1 files changed, 58 insertions, 0 deletions
diff --git a/corebinutils/README.md b/corebinutils/README.md
new file mode 100644
index 0000000000..e7931f95ae
--- /dev/null
+++ b/corebinutils/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`.