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,9 +134,12 @@ 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
|
||||||
|
modules/ - translation units; each has a .c and a Makefile
|
||||||
common/ - shared types (error, base definitions); no external dependencies
|
common/ - shared types (error, base definitions); no external dependencies
|
||||||
<module>/
|
<module>/
|
||||||
|
node/ - video node entry point and integration (later)
|
||||||
|
include/ - public headers (.h files)
|
||||||
dev/ - development aids; not part of the final deliverable
|
dev/ - development aids; not part of the final deliverable
|
||||||
cli/ - exploratory CLI drivers, one per module
|
cli/ - exploratory CLI drivers, one per module
|
||||||
experiments/ - freeform experiments
|
experiments/ - freeform experiments
|
||||||
@@ -144,19 +147,21 @@ video-setup/
|
|||||||
Makefile - top-level build
|
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`.
|
||||||
|
|||||||
@@ -12,10 +12,13 @@ The final binary is a single configurable node program. That integration work co
|
|||||||
|
|
||||||
```
|
```
|
||||||
video-setup/
|
video-setup/
|
||||||
|
src/
|
||||||
modules/
|
modules/
|
||||||
common/ - shared definitions (error types, base types)
|
common/ - shared definitions (error types, base types)
|
||||||
media_ctrl/ - Linux Media Controller API (topology, pad formats, links)
|
media_ctrl/ - Linux Media Controller API (topology, pad formats, links)
|
||||||
v4l2_ctrl/ - V4L2 camera controls (enumerate, get, set)
|
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
|
||||||
|
|||||||
Reference in New Issue
Block a user