Reorganize directory structure: src/ and include/ at top level

Move modules under src/modules/ and public headers under include/,
keeping dev/, tests/, and docs at the top level. Adds a placeholder
for src/node/ where the final video node entry point will live.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-03-25 20:45:16 +00:00
parent 00560591e2
commit bf18054a2c
2 changed files with 25 additions and 17 deletions

View File

@@ -134,29 +134,34 @@ When the custom preprocessor is available, `__FILE__` and `__LINE__` will be rep
``` ```
video-setup/ video-setup/
modules/ - translation units; each has a .h, a .c, and a Makefile src/ - all C source files
common/ - shared types (error, base definitions); no external dependencies modules/ - translation units; each has a .c and a Makefile
<module>/ common/ - shared types (error, base definitions); no external dependencies
dev/ - development aids; not part of the final deliverable <module>/
cli/ - exploratory CLI drivers, one per module node/ - video node entry point and integration (later)
experiments/ - freeform experiments include/ - public headers (.h files)
tests/ - automated tests (later) dev/ - development aids; not part of the final deliverable
Makefile - top-level build cli/ - exploratory CLI drivers, one per module
experiments/ - freeform experiments
tests/ - automated tests (later)
Makefile - top-level build
``` ```
Modules live only in `modules/`. CLI drivers and experiments live in `dev/`. Nothing in `dev/` is a dependency of anything in `modules/`. Source files live in `src/`. Public headers live in `include/`. CLI drivers and experiments live in `dev/`. Nothing in `dev/` is a dependency of anything in `src/`.
--- ---
## Module Structure ## Module Structure
Each module directory contains: Each module has its source under `src/modules/<name>/` and its public header under `include/`:
``` ```
modules/<name>/ src/modules/<name>/
<name>.h - public API; minimal includes, no implementation details
<name>.c - implementation <name>.c - implementation
Makefile - builds a static object; links against common only Makefile - builds a static object
include/
<name>.h - public API; minimal includes, no implementation details
``` ```
The corresponding CLI driver lives at `dev/cli/<name>_cli.c`. The corresponding CLI driver lives at `dev/cli/<name>_cli.c`.

View File

@@ -12,10 +12,13 @@ The final binary is a single configurable node program. That integration work co
``` ```
video-setup/ video-setup/
modules/ src/
common/ - shared definitions (error types, base types) modules/
media_ctrl/ - Linux Media Controller API (topology, pad formats, links) common/ - shared definitions (error types, base types)
v4l2_ctrl/ - V4L2 camera controls (enumerate, get, set) media_ctrl/ - Linux Media Controller API (topology, pad formats, links)
v4l2_ctrl/ - V4L2 camera controls (enumerate, get, set)
node/ - video node entry point and top-level integration (later)
include/ - public headers
dev/ dev/
cli/ - exploratory CLI drivers, one per module cli/ - exploratory CLI drivers, one per module
experiments/ - freeform experiments experiments/ - freeform experiments