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:
@@ -134,29 +134,34 @@ When the custom preprocessor is available, `__FILE__` and `__LINE__` will be rep
|
||||
|
||||
```
|
||||
video-setup/
|
||||
modules/ - translation units; each has a .h, a .c, and a Makefile
|
||||
common/ - shared types (error, base definitions); no external dependencies
|
||||
<module>/
|
||||
dev/ - development aids; not part of the final deliverable
|
||||
cli/ - exploratory CLI drivers, one per module
|
||||
experiments/ - freeform experiments
|
||||
tests/ - automated tests (later)
|
||||
Makefile - top-level build
|
||||
src/ - all C source files
|
||||
modules/ - translation units; each has a .c and a Makefile
|
||||
common/ - shared types (error, base definitions); no external dependencies
|
||||
<module>/
|
||||
node/ - video node entry point and integration (later)
|
||||
include/ - public headers (.h files)
|
||||
dev/ - development aids; not part of the final deliverable
|
||||
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
|
||||
|
||||
Each module directory contains:
|
||||
Each module has its source under `src/modules/<name>/` and its public header under `include/`:
|
||||
|
||||
```
|
||||
modules/<name>/
|
||||
<name>.h - public API; minimal includes, no implementation details
|
||||
src/modules/<name>/
|
||||
<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`.
|
||||
|
||||
11
planning.md
11
planning.md
@@ -12,10 +12,13 @@ The final binary is a single configurable node program. That integration work co
|
||||
|
||||
```
|
||||
video-setup/
|
||||
modules/
|
||||
common/ - shared definitions (error types, base types)
|
||||
media_ctrl/ - Linux Media Controller API (topology, pad formats, links)
|
||||
v4l2_ctrl/ - V4L2 camera controls (enumerate, get, set)
|
||||
src/
|
||||
modules/
|
||||
common/ - shared definitions (error types, base types)
|
||||
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/
|
||||
cli/ - exploratory CLI drivers, one per module
|
||||
experiments/ - freeform experiments
|
||||
|
||||
Reference in New Issue
Block a user