From: Tom Rini <trini@konsulko.com>
To: u-boot@lists.denx.de
Subject: [U-Boot] [U-Boot, v3, 02/15] kbuild: add a makefile macro useful with per-image config options
Date: Tue, 18 Aug 2015 13:52:36 -0400 [thread overview]
Message-ID: <20150818175236.GU25532@bill-the-cat> (raw)
In-Reply-To: <1439332317-727-3-git-send-email-yamada.masahiro@socionext.com>
On Wed, Aug 12, 2015 at 07:31:42AM +0900, Masahiro Yamada wrote:
> Commit e02ee2548afe ("kconfig: switch to single .config
> configuration") made the configuration itself pretty simple,
> instead, we lost the way to systematically enable/disable config
> options for each image independently.
>
> Our current strategy is, put entries into Makefile.spl for options
> we need separate enabling, or once enable the options globally in
> Kconfig and then undef them in Makefile.uncmd_spl if we do not want
> to compile the features for SPL at all. Things are getting really
> messy. Besides, "ifdef CONFIG_SPL_BUILD" are sprinkled everywhere
> in makefiles.
>
> This commit adds a variable to help describe makefile simpler.
>
> $(SPL_) evaluates to "SPL_" during the SPL build, while to an empty
> string during building U-boot proper.
>
> So, you can write
>
> obj-$(CONFIG_$(SPL_)FOO) += foo.o
>
> instead of
>
> ifdef CONFIG_SPL_BUILD
> obj-$(CONFIG_SPL_FOO) += foo.o
> else
> obj-$(CONFIG_FOO) += foo.o
> endif
>
> If CONFIG_SPL_FOO does not exist in Kconfig, it is equivalent to
>
> ifndef CONFIG_SPL_BUILD
> obj-$(CONFIG_SPL_FOO) += foo.o
> endif
>
> This is the pattern we often see in our current makefiles.
>
> To take advantage of this macro, we should prefix SPL_ for the SPL
> version of the option when we need independent control between
> U-boot and SPL. With this naming scheme, I hope our makefiles will
> be much simplified.
>
> It means we want to rename existing config options as follows
> in the long run:
>
> CONFIG_SPL_SERIAL_SUPPORT -> CONFIG_SPL_SERIAL
> CONFIG_SPL_I2C_SUPPORT -> CONFIG_SPL_I2C
> CONFIG_SPL_GPIO_SUPPORT -> CONFIG_SPL_GPIO
> CONFIG_SPL_SPI_SUPPORT -> CONFIG_SPL_SPI
> CONFIG_SPL_DISABLE_OF_CONTROL -> CONFIG_SPL_OF_CONTROL
> (inverting the logic)
>
> Then drivers/Makefile would be re-worked as follows:
>
> obj-$(CONFIG_$(SPL_)SERIAL) += serial/
> obj-$(CONFIG_$(SPL_)I2C) += i2c/
> obj-$(CONFIG_$(SPL_)GPIO) += gpio/
> obj-$(CONFIG_$(SPL_)SPI) += spi/
> ...
>
> Eventually, SPL-specialized entries in Makefile.spl would go away.
>
> Signed-off-by: Masahiro Yamada <yamada.masahiro@socionext.com>
> Reviewed-by: Tom Rini <trini@konsulko.com>
> Reviewed-by: Simon Glass <sjg@chromium.org>
Applied to u-boot/master, thanks!
--
Tom
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 836 bytes
Desc: Digital signature
URL: <http://lists.denx.de/pipermail/u-boot/attachments/20150818/ab5bc5c6/attachment.sig>
next prev parent reply other threads:[~2015-08-18 17:52 UTC|newest]
Thread overview: 41+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-08-11 22:31 [U-Boot] [PATCH v3 00/15] Add macros to ease our life with independent CONFIGs between U-Boot and SPL Masahiro Yamada
2015-08-11 22:31 ` [U-Boot] [PATCH v3 01/15] kbuild: fixdep: optimize code slightly Masahiro Yamada
2015-08-18 17:52 ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 02/15] kbuild: add a makefile macro useful with per-image config options Masahiro Yamada
2015-08-18 17:52 ` Tom Rini [this message]
2015-08-11 22:31 ` [U-Boot] [PATCH v3 03/15] linux/kconfig.h: add CPP macros useful for " Masahiro Yamada
2015-08-18 17:52 ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 04/15] spl: move SPL driver entries to driver/Makefile Masahiro Yamada
2015-08-18 17:16 ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 05/15] dm: unify obj-$(CONFIG_DM) and obj-$(CONFIG_SPL_DM) entries Masahiro Yamada
2015-08-18 17:52 ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 06/15] clk: rename CONFIG_SPL_CLK_SUPPORT to CONFIG_SPL_CLK Masahiro Yamada
2015-08-18 17:52 ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 07/15] clk: unify obj-$(CONFIG_CLK) and obj-$(CONFIG_SPL_CLK) entries Masahiro Yamada
2015-08-18 17:52 ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 08/15] ram: rename CONFIG_SPL_RAM_SUPPORT to CONFIG_SPL_RAM Masahiro Yamada
2015-08-18 17:52 ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 09/15] ram: unify obj-$(CONFIG_RAM) and obj-$(CONFIG_SPL_RAM) entries Masahiro Yamada
2015-08-18 17:52 ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 10/15] led: rename CONFIG_SPL_LED_SUPPORT to CONFIG_SPL_LED Masahiro Yamada
2015-08-18 17:53 ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 11/15] led: unify obj-$(CONFIG_LED) and obj-$(CONFIG_SPL_LED) entries Masahiro Yamada
2015-08-18 17:53 ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 12/15] dm: drop CONFIG_DM_DEVICE_REMOVE from uncmd list Masahiro Yamada
2015-08-18 17:53 ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 13/15] fdtdec: fix OF_CONTROL switch Masahiro Yamada
2015-08-18 17:53 ` [U-Boot] [U-Boot,v3,13/15] " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 14/15] of: flip CONFIG_SPL_DISABLE_OF_CONTROL into CONFIG_SPL_OF_CONTROL Masahiro Yamada
2015-08-11 22:47 ` Marek Vasut
2015-08-11 23:38 ` Masahiro Yamada
2015-08-11 23:47 ` Marek Vasut
2015-08-18 17:53 ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-11 22:31 ` [U-Boot] [PATCH v3 15/15] of: clean up OF_CONTROL ifdef conditionals Masahiro Yamada
2015-08-17 3:09 ` Masahiro Yamada
2015-08-18 17:53 ` [U-Boot] [U-Boot, v3, " Tom Rini
2015-08-19 4:39 ` Marek Vasut
2015-08-19 12:02 ` Tom Rini
2015-08-19 21:15 ` Marek Vasut
2015-08-21 7:55 ` Masahiro Yamada
2015-08-21 8:16 ` Marek Vasut
2015-08-21 11:57 ` Michal Simek
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150818175236.GU25532@bill-the-cat \
--to=trini@konsulko.com \
--cc=u-boot@lists.denx.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox