Skip to content

Conversation

@igoropaniuk
Copy link
Contributor

Previously, object files, binaries, and generated headers like .version.h were created directly in the project root. This cluttered the source tree and made it difficult to maintain separate debug and release builds. It also risked file collisions when switching build types or performing parallel builds.

  • Introduced a unified build directory structure:
  build/
    release/
      bin/   - final executables
      obj/   - object files
      gen/   - generated headers (e.g., version.h)
    debug/
      ...
  • Added BUILD_TYPE variable (defaults to "debug") with make debug and
    make release targets.

Previously, object files, binaries, and generated headers like
.version.h were created directly in the project root.
This cluttered the source tree and made it difficult to maintain
separate debug and release builds. It also risked file collisions when
switching build types or performing parallel builds.

* Introduced a unified build directory structure:
  build/
    release/
      bin/   - final executables
      obj/   - object files
      gen/   - generated headers (e.g., version.h)
    debug/
      ...
* Added BUILD_TYPE variable (defaults to "debug") with make debug and
  make release targets.

Signed-off-by: Igor Opaniuk <[email protected]>
@igoropaniuk
Copy link
Contributor Author

@andersson @konradybcio @lumag could you please take a look?

@lumag
Copy link
Contributor

lumag commented Nov 5, 2025

I think it would be better to switch to something which already has a notion of separate build dirs - e.g. meson.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants