blob: e7931f95aefecf5135448c045521f57e295f50b8 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
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`.
|