Files
dcr/docs/getting-started/project-structure.md
Dexoron d1e3b0c384 Added:
- `sharedlib` build kind (shared library output)
- ASM projects (`build.language = "asm"`)
- NASM and GAS backends
- `build.platform` architecture hint for `-march` / `/arch`
- Basic CLI integration tests
2026-03-01 19:47:38 +08:00

1.0 KiB

Project structure

Minimal project

project/
- dcr.toml
- src/
- - main.c

Typical generated/optional files

project/
- dcr.toml
- dcr.lock
- src/
- - ... source files ...
- target/
- - debug/
- - - obj/
- - - deps/
- - release/
- - - obj/
- - - deps/

Meaning

  • dcr.toml: main project configuration.
  • dcr.lock: generated lock file for resolved path dependencies.
  • src/: recursively scanned source directory.
  • target/<profile>/obj/: cached object files for incremental rebuild.
  • target/<profile>/deps/: synchronized copies of path dependencies.
  • target/<profile>/<name> (or .exe on Windows): output for kind = "bin".
  • target/<profile>/lib<name>.a (or <name>.lib on Windows): output for kind = "staticlib".
  • target/<profile>/lib<name>.so (or .dylib on macOS, <name>.dll on Windows): output for kind = "sharedlib".

If build.target is set, the final artifact is written to that custom directory, while object cache still stays in target/<profile>/obj.