Message ID | 04370c02b170604b3edde66cdf087bc82710a07f.1518192692.git-series.jhogan@kernel.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
2018-02-10 1:11 GMT+09:00 James Hogan <jhogan@kernel.org>: > Add MIPS specific Makefile targets for listing generic defconfigs > (list_generic_defconfigs), generic board types (list_generic_boards), > and legacy defconfigs which have been converted to generic > (list_legacy_defconfigs). > > This is useful for quick reference and for buildbots to be able to > automatically build all supported default configurations without parsing > of the generic_defconfig error output. > > In order for these to work without .config being updated or > CROSS_COMPILE being needed, list_%s is added to no-dot-config-targets in > the main Makefile. > > Signed-off-by: James Hogan <jhogan@kernel.org> > Cc: Ralf Baechle <ralf@linux-mips.org> > Cc: Masahiro Yamada <yamada.masahiro@socionext.com> > Cc: Michal Marek <michal.lkml@markovi.net> > Cc: Paul Burton <paul.burton@mips.com> > Cc: Matt Redfearn <matt.redfearn@mips.com> > Cc: linux-mips@linux-mips.org > Cc: linux-kbuild@vger.kernel.org > --- > Makefile | 2 +- > arch/mips/Makefile | 51 ++++++++++++++++++++++++++++++----------------- > 2 files changed, 34 insertions(+), 19 deletions(-) > > diff --git a/Makefile b/Makefile > index 3f4d157add54..635015848a2c 100644 > --- a/Makefile > +++ b/Makefile > @@ -223,7 +223,7 @@ old_version_h := include/linux/version.h > no-dot-config-targets := clean mrproper distclean \ > cscope gtags TAGS tags help% %docs check% coccicheck \ > $(version_h) headers_% archheaders archscripts \ > - kernelversion %src-pkg > + kernelversion %src-pkg list_%s > > config-targets := 0 > mixed-targets := 0 Unfortunately, there is no way to specify arch-specific no-dot-config-targets. This patch made me upset a bit. Some solutions. [1] Decide list_% is the right thing [2] Invent a way to add arch-specific no-dot-config-targets For example, add arch/mips/no-dot-config Then, append it as follows: no-dot-config-targets := clean mrproper distclean \ cscope gtags TAGS tags help% %docs check% coccicheck \ $(version_h) headers_% archheaders archscripts \ kernelversion %src-pkg kernelversion %src-pkg $(shell cat arch/$(SRCARCH)/no-dot-config) (This needs to tweak the top Makefile a bit more) [3] (Ab)use the existing name convention For example, if you rename as follow, list_generic_defconfigs -> list_generic_defconfig list_legacy_defconfigs -> list_legacy_defconfig This works without adding 'list_%s' The hack of arch/mips/Makefile is so ugly, but adding two more would not hurt. > diff --git a/arch/mips/Makefile b/arch/mips/Makefile > index 6f368b5cdf29..9ba487c1c4d2 100644 > --- a/arch/mips/Makefile > +++ b/arch/mips/Makefile > @@ -447,24 +447,27 @@ archclean: > $(Q)$(MAKE) $(clean)=arch/mips/lasat > > define archhelp > - echo ' install - install kernel into $(INSTALL_PATH)' > - echo ' vmlinux.ecoff - ECOFF boot image' > - echo ' vmlinux.bin - Raw binary boot image' > - echo ' vmlinux.srec - SREC boot image' > - echo ' vmlinux.32 - 64-bit boot image wrapped in 32bits (IP22/IP32)' > - echo ' vmlinuz - Compressed boot(zboot) image' > - echo ' vmlinuz.ecoff - ECOFF zboot image' > - echo ' vmlinuz.bin - Raw binary zboot image' > - echo ' vmlinuz.srec - SREC zboot image' > - echo ' uImage - U-Boot image' > - echo ' uImage.bin - U-Boot image (uncompressed)' > - echo ' uImage.bz2 - U-Boot image (bz2)' > - echo ' uImage.gz - U-Boot image (gzip)' > - echo ' uImage.lzma - U-Boot image (lzma)' > - echo ' uImage.lzo - U-Boot image (lzo)' > - echo ' uzImage.bin - U-Boot image (self-extracting)' > - echo ' dtbs - Device-tree blobs for enabled boards' > - echo ' dtbs_install - Install dtbs to $(INSTALL_DTBS_PATH)' > + echo ' install - install kernel into $(INSTALL_PATH)' > + echo ' vmlinux.ecoff - ECOFF boot image' > + echo ' vmlinux.bin - Raw binary boot image' > + echo ' vmlinux.srec - SREC boot image' > + echo ' vmlinux.32 - 64-bit boot image wrapped in 32bits (IP22/IP32)' > + echo ' vmlinuz - Compressed boot(zboot) image' > + echo ' vmlinuz.ecoff - ECOFF zboot image' > + echo ' vmlinuz.bin - Raw binary zboot image' > + echo ' vmlinuz.srec - SREC zboot image' > + echo ' uImage - U-Boot image' > + echo ' uImage.bin - U-Boot image (uncompressed)' > + echo ' uImage.bz2 - U-Boot image (bz2)' > + echo ' uImage.gz - U-Boot image (gzip)' > + echo ' uImage.lzma - U-Boot image (lzma)' > + echo ' uImage.lzo - U-Boot image (lzo)' > + echo ' uzImage.bin - U-Boot image (self-extracting)' > + echo ' dtbs - Device-tree blobs for enabled boards' > + echo ' dtbs_install - Install dtbs to $(INSTALL_DTBS_PATH)' > + echo ' list_generic_defconfigs - List available generic defconfigs' > + echo ' list_generic_boards - List available generic boards' > + echo ' list_legacy_defconfigs - List available legacy defconfigs' > echo > echo ' These will be default as appropriate for a configured platform.' > echo > @@ -538,6 +541,14 @@ generic_defconfig: > $(Q)echo > $(Q)false > > +.PHONY: list_generic_defconfigs > +list_generic_defconfigs: > + $(Q)for cfg in $(generic_defconfigs); do echo "$${cfg}"; done > + > +.PHONY: list_generic_boards > +list_generic_boards: > + $(Q)for board in $(sort $(BOARDS)); do echo "$${board}"; done > + > # > # Legacy defconfig compatibility - these targets used to be real defconfigs but > # now that the boards have been converted to use the generic kernel they are > @@ -555,3 +566,7 @@ xilfpga_defconfig-y := 32r2el_defconfig BOARDS=xilfpga > .PHONY: $(legacy_defconfigs) > $(legacy_defconfigs): > $(Q)$(MAKE) -f $(srctree)/Makefile $($@-y) > + > +.PHONY: list_legacy_defconfigs > +list_legacy_defconfigs: > + $(Q)for cfg in $(sort $(legacy_defconfigs)); do echo "$${cfg}"; done > -- > git-series 0.9.1 > -- > To unsubscribe from this list: send the line "unsubscribe linux-kbuild" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/Makefile b/Makefile index 3f4d157add54..635015848a2c 100644 --- a/Makefile +++ b/Makefile @@ -223,7 +223,7 @@ old_version_h := include/linux/version.h no-dot-config-targets := clean mrproper distclean \ cscope gtags TAGS tags help% %docs check% coccicheck \ $(version_h) headers_% archheaders archscripts \ - kernelversion %src-pkg + kernelversion %src-pkg list_%s config-targets := 0 mixed-targets := 0 diff --git a/arch/mips/Makefile b/arch/mips/Makefile index 6f368b5cdf29..9ba487c1c4d2 100644 --- a/arch/mips/Makefile +++ b/arch/mips/Makefile @@ -447,24 +447,27 @@ archclean: $(Q)$(MAKE) $(clean)=arch/mips/lasat define archhelp - echo ' install - install kernel into $(INSTALL_PATH)' - echo ' vmlinux.ecoff - ECOFF boot image' - echo ' vmlinux.bin - Raw binary boot image' - echo ' vmlinux.srec - SREC boot image' - echo ' vmlinux.32 - 64-bit boot image wrapped in 32bits (IP22/IP32)' - echo ' vmlinuz - Compressed boot(zboot) image' - echo ' vmlinuz.ecoff - ECOFF zboot image' - echo ' vmlinuz.bin - Raw binary zboot image' - echo ' vmlinuz.srec - SREC zboot image' - echo ' uImage - U-Boot image' - echo ' uImage.bin - U-Boot image (uncompressed)' - echo ' uImage.bz2 - U-Boot image (bz2)' - echo ' uImage.gz - U-Boot image (gzip)' - echo ' uImage.lzma - U-Boot image (lzma)' - echo ' uImage.lzo - U-Boot image (lzo)' - echo ' uzImage.bin - U-Boot image (self-extracting)' - echo ' dtbs - Device-tree blobs for enabled boards' - echo ' dtbs_install - Install dtbs to $(INSTALL_DTBS_PATH)' + echo ' install - install kernel into $(INSTALL_PATH)' + echo ' vmlinux.ecoff - ECOFF boot image' + echo ' vmlinux.bin - Raw binary boot image' + echo ' vmlinux.srec - SREC boot image' + echo ' vmlinux.32 - 64-bit boot image wrapped in 32bits (IP22/IP32)' + echo ' vmlinuz - Compressed boot(zboot) image' + echo ' vmlinuz.ecoff - ECOFF zboot image' + echo ' vmlinuz.bin - Raw binary zboot image' + echo ' vmlinuz.srec - SREC zboot image' + echo ' uImage - U-Boot image' + echo ' uImage.bin - U-Boot image (uncompressed)' + echo ' uImage.bz2 - U-Boot image (bz2)' + echo ' uImage.gz - U-Boot image (gzip)' + echo ' uImage.lzma - U-Boot image (lzma)' + echo ' uImage.lzo - U-Boot image (lzo)' + echo ' uzImage.bin - U-Boot image (self-extracting)' + echo ' dtbs - Device-tree blobs for enabled boards' + echo ' dtbs_install - Install dtbs to $(INSTALL_DTBS_PATH)' + echo ' list_generic_defconfigs - List available generic defconfigs' + echo ' list_generic_boards - List available generic boards' + echo ' list_legacy_defconfigs - List available legacy defconfigs' echo echo ' These will be default as appropriate for a configured platform.' echo @@ -538,6 +541,14 @@ generic_defconfig: $(Q)echo $(Q)false +.PHONY: list_generic_defconfigs +list_generic_defconfigs: + $(Q)for cfg in $(generic_defconfigs); do echo "$${cfg}"; done + +.PHONY: list_generic_boards +list_generic_boards: + $(Q)for board in $(sort $(BOARDS)); do echo "$${board}"; done + # # Legacy defconfig compatibility - these targets used to be real defconfigs but # now that the boards have been converted to use the generic kernel they are @@ -555,3 +566,7 @@ xilfpga_defconfig-y := 32r2el_defconfig BOARDS=xilfpga .PHONY: $(legacy_defconfigs) $(legacy_defconfigs): $(Q)$(MAKE) -f $(srctree)/Makefile $($@-y) + +.PHONY: list_legacy_defconfigs +list_legacy_defconfigs: + $(Q)for cfg in $(sort $(legacy_defconfigs)); do echo "$${cfg}"; done
Add MIPS specific Makefile targets for listing generic defconfigs (list_generic_defconfigs), generic board types (list_generic_boards), and legacy defconfigs which have been converted to generic (list_legacy_defconfigs). This is useful for quick reference and for buildbots to be able to automatically build all supported default configurations without parsing of the generic_defconfig error output. In order for these to work without .config being updated or CROSS_COMPILE being needed, list_%s is added to no-dot-config-targets in the main Makefile. Signed-off-by: James Hogan <jhogan@kernel.org> Cc: Ralf Baechle <ralf@linux-mips.org> Cc: Masahiro Yamada <yamada.masahiro@socionext.com> Cc: Michal Marek <michal.lkml@markovi.net> Cc: Paul Burton <paul.burton@mips.com> Cc: Matt Redfearn <matt.redfearn@mips.com> Cc: linux-mips@linux-mips.org Cc: linux-kbuild@vger.kernel.org --- Makefile | 2 +- arch/mips/Makefile | 51 ++++++++++++++++++++++++++++++----------------- 2 files changed, 34 insertions(+), 19 deletions(-)