mirror of
https://github.com/dexoron/dcr.git
synced 2026-10-21 18:59:41 +00:00
- Workspace support (`[workspace]` with deps ordering) - `clean --all` for workspace members Changed: - Project root discovery for `build/run/clean` (searches parent dirs) - Workspace paths are excluded from root source scan - Build output now uses a Cargo-style `Compiling <name> v<version>` line - Build time now reports total time for the whole build stage (workspace included) - Cache hits are silent (no compile line when nothing is rebuilt) - Safer build cache: fingerprints include headers and resolved library files
1.1 KiB
1.1 KiB
dcr build
Builds the project in debug or release profile.
Usage
dcr build
dcr build --debug
dcr build --release
What build does
- Checks that
dcr.tomlexists and is valid. - Reads build settings from
[build]. - Resolves path dependencies from
[dependencies]. - Creates required output directories.
- Recursively compiles sources from
src/. - Links final artifact (binary or library).
Config values used
package.namebuild.compilerbuild.languagebuild.standardbuild.kindbuild.targetbuild.platformbuild.cflagsbuild.ldflags
Source selection
language = "c"->*.clanguage = "c++" | "cpp" | "cxx"->*.cpp,*.cxx,*.cclanguage = "asm"->*.s,*.S,*.asm
Notes
- The profile is selected from the first argument only.
- Unknown profile flags return an error.
- Incremental rebuild is based on source/object mtime comparison.
- For
language = "asm"withcompiler = "as"/"gas", use.sfiles (no preprocessing). For.S, usegccorclang. - In workspace root,
dcr buildbuilds all members in dependency order.