-
Notifications
You must be signed in to change notification settings - Fork 23
Refine Kconfig integration and build system #126
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,3 @@ | ||
| [submodule "tools/kconfig"] | ||
| path = tools/kconfig | ||
| url = https://github.com/sysprog21/Kconfiglib |
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -4,6 +4,19 @@ config CONFIGURED | |
| bool | ||
| default y | ||
|
|
||
| # Dependency detection using Kbuild toolchain functions | ||
| config HAVE_SDL2 | ||
| def_bool $(success,pkg-config --exists sdl2) | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
Prompt for AI agents |
||
|
|
||
| config HAVE_PIXMAN | ||
| def_bool $(success,pkg-config --exists pixman-1) | ||
|
|
||
| config HAVE_LIBPNG | ||
| def_bool $(success,pkg-config --exists libpng) | ||
|
|
||
| config HAVE_LIBJPEG | ||
| def_bool $(success,pkg-config --exists libjpeg) | ||
|
|
||
| choice | ||
| prompt "Backend Selection" | ||
| default BACKEND_SDL | ||
|
|
@@ -14,6 +27,7 @@ config BACKEND_FBDEV | |
|
|
||
| config BACKEND_SDL | ||
| bool "SDL video output support" | ||
| depends on HAVE_SDL2 | ||
|
|
||
| config BACKEND_VNC | ||
| bool "VNC server output support" | ||
|
|
@@ -28,6 +42,7 @@ config RENDERER_BUILTIN | |
|
|
||
| config RENDERER_PIXMAN | ||
| bool "Pixman based rendering" | ||
| depends on HAVE_PIXMAN | ||
|
|
||
| endchoice | ||
|
|
||
|
|
@@ -83,10 +98,12 @@ menu "Image Loaders" | |
|
|
||
| config LOADER_PNG | ||
| bool "Enable PNG loader" | ||
| depends on HAVE_LIBPNG | ||
| default y | ||
|
|
||
| config LOADER_JPEG | ||
| bool "Enable JPEG loader" | ||
| depends on HAVE_LIBJPEG | ||
| default y | ||
|
|
||
| config LOADER_GIF | ||
|
|
@@ -131,7 +148,7 @@ config DEMO_LINE | |
| depends on DEMO_APPLICATIONS | ||
|
|
||
| config DEMO_SPLINE | ||
| bool "Build spline demp" | ||
| bool "Build spline demo" | ||
| default y | ||
| depends on DEMO_APPLICATIONS | ||
|
|
||
|
|
||
| Original file line number | Diff line number | Diff line change | ||||
|---|---|---|---|---|---|---|
|
|
@@ -678,6 +678,17 @@ clean: __FORCE | |||||
| __FORCE: | ||||||
| @true | ||||||
|
|
||||||
| ifneq "$(MAKECMDGOALS)" "clean" | ||||||
| -include $(target-depends) | ||||||
| # Only include dependencies when building known targets | ||||||
| build-goals := all clean $(target-builds) | ||||||
| ifneq ($(MAKECMDGOALS),) | ||||||
| # MAKECMDGOALS is not empty, check if it's a known target | ||||||
| ifneq ($(filter $(MAKECMDGOALS),$(build-goals)),) | ||||||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This condition only checks whether any goal is known. If a user runs a mix of known and unknown targets (e.g. Prompt for AI agents
Suggested change
|
||||||
| # Known target, include dependencies (except for clean) | ||||||
| ifneq "$(MAKECMDGOALS)" "clean" | ||||||
| -include $(target-depends) | ||||||
| endif | ||||||
| endif | ||||||
| else | ||||||
| # Empty MAKECMDGOALS means building 'all', include dependencies | ||||||
| -include $(target-depends) | ||||||
| endif | ||||||
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
Uh oh!
There was an error while loading. Please reload this page.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Skipping mk/common.mk whenever config/defconfig appears in MAKECMDGOALS means multi-goal invocations like "make defconfig all" can no longer build because the core rules are never included.
Prompt for AI agents