# CoreBinUtils

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`.
