Skip to content

Commit

Permalink
Improve TARGETS handling for bootloaders and kernel
Browse files Browse the repository at this point in the history
As the kernel and bootloaders do not use the normal BR2_PACKAGE_*
Kconfig options, their target name was not automatically added to the
global TARGETS variable. Each bootloader .mk and the linux.mk had to
add their own target manually to TARGETS, and the package
infrastructure was making tests on non-existing Kconfig variables.

This commit improves the package infrastructure so that it looks at
BR2_PACKAGE_<pkg> for packages, BR2_TARGET_<pkg> for bootloaders and
at the special BR2_LINUX_KERNEL for the linux package.

This allows to simplify a little bit the bootloaders and linux .mk
files.

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
  • Loading branch information
tpetazzoni authored and jacmet committed Jul 11, 2011
1 parent a4ca959 commit b0d446d
Show file tree
Hide file tree
Showing 8 changed files with 13 additions and 54 deletions.
8 changes: 0 additions & 8 deletions boot/at91bootstrap/at91bootstrap.mk
Original file line number Diff line number Diff line change
Expand Up @@ -31,19 +31,11 @@ endef

$(eval $(call GENTARGETS,boot,at91bootstrap))

#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(BR2_TARGET_AT91BOOTSTRAP),y)
TARGETS+=at91bootstrap

# we NEED a board name unless we're at make source
ifeq ($(filter source,$(MAKECMDGOALS)),)
ifeq ($(AT91BOOTSTRAP_BOARD),)
$(error No AT91Bootstrap board name set. Check your BR2_TARGET_AT91BOOTSTRAP_BOARD setting)
endif
endif

endif
9 changes: 0 additions & 9 deletions boot/at91dataflashboot/at91dataflashboot.mk
Original file line number Diff line number Diff line change
Expand Up @@ -20,12 +20,3 @@ define AT91DATAFLASHBOOT_INSTALL_IMAGES_CMDS
endef

$(eval $(call GENTARGETS,boot,at91dataflashboot))

#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(BR2_TARGET_AT91DATAFLASHBOOT),y)
TARGETS+=at91dataflashboot
endif
3 changes: 0 additions & 3 deletions boot/barebox/barebox.mk
Original file line number Diff line number Diff line change
Expand Up @@ -54,13 +54,10 @@ endif
$(eval $(call GENTARGETS,boot,barebox))

ifeq ($(BR2_TARGET_BAREBOX),y)
TARGETS+=barebox

# we NEED a board defconfig file unless we're at make source
ifeq ($(filter source,$(MAKECMDGOALS)),)
ifeq ($(BAREBOX_BOARD_DEFCONFIG),)
$(error No Barebox defconfig file. Check your BR2_TARGET_BAREBOX_BOARD_DEFCONFIG setting)
endif
endif

endif
9 changes: 0 additions & 9 deletions boot/grub/grub.mk
Original file line number Diff line number Diff line change
Expand Up @@ -83,12 +83,3 @@ define GRUB_UNINSTALL_TARGET_CMDS
endef

$(eval $(call AUTOTARGETS,boot,grub))

#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(BR2_TARGET_GRUB),y)
TARGETS+=grub
endif
9 changes: 0 additions & 9 deletions boot/syslinux/syslinux.mk
Original file line number Diff line number Diff line change
Expand Up @@ -27,12 +27,3 @@ define SYSLINUX_INSTALL_IMAGES_CMDS
endef

$(eval $(call GENTARGETS,boot,syslinux))

#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(BR2_TARGET_SYSLINUX),y)
TARGETS+=syslinux
endif
8 changes: 0 additions & 8 deletions boot/uboot/uboot.mk
Original file line number Diff line number Diff line change
Expand Up @@ -111,19 +111,11 @@ endef

$(eval $(call GENTARGETS,boot,uboot))

#############################################################
#
# Toplevel Makefile options
#
#############################################################
ifeq ($(BR2_TARGET_UBOOT),y)
TARGETS+=u-boot

# we NEED a board name unless we're at make source
ifeq ($(filter source,$(MAKECMDGOALS)),)
ifeq ($(UBOOT_BOARD_NAME),)
$(error NO U-Boot board name set. Check your BR2_TARGET_UBOOT_BOARDNAME setting)
endif
endif

endif
5 changes: 0 additions & 5 deletions linux/linux.mk
Original file line number Diff line number Diff line change
Expand Up @@ -189,11 +189,6 @@ $(LINUX_DIR)/.stamp_initramfs_rebuilt: $(LINUX_DIR)/.stamp_target_installed $(LI
# after it generated the initramfs list of files.
linux-rebuild-with-initramfs linux26-rebuild-with-initramfs: $(LINUX_DIR)/.stamp_initramfs_rebuilt


ifeq ($(BR2_LINUX_KERNEL),y)
TARGETS+=linux
endif

# Checks to give errors that the user can understand
ifeq ($(filter source,$(MAKECMDGOALS)),)
ifeq ($(BR2_LINUX_KERNEL_USE_DEFCONFIG),y)
Expand Down
16 changes: 13 additions & 3 deletions package/Makefile.package.in
Original file line number Diff line number Diff line change
Expand Up @@ -522,10 +522,20 @@ $$($(2)_TARGET_UNINSTALL): PKG=$(2)
$$($(2)_TARGET_CLEAN): PKG=$(2)
$$($(2)_TARGET_DIRCLEAN): PKG=$(2)

# Compute the name of the Kconfig option that correspond to the
# package being enabled. We handle three cases: the special Linux
# kernel case, the bootloaders case, and the normal packages case.
ifeq ($(1),linux)
$(2)_KCONFIG_VAR = BR2_LINUX_KERNEL
else ifeq ($(4),boot)
$(2)_KCONFIG_VAR = BR2_TARGET_$(2)
else
$(2)_KCONFIG_VAR = BR2_PACKAGE_$(2)
endif

# add package to the general list of targets if requested by the buildroot
# configuration

ifeq ($$(BR2_PACKAGE_$(2)),y)
ifeq ($$($$($(2)_KCONFIG_VAR)),y)

TARGETS += $(1)

Expand All @@ -537,7 +547,7 @@ else ifeq ($$($(2)_SITE_METHOD),bzr)
DL_TOOLS_DEPENDENCIES += bzr
endif # SITE_METHOD

endif # BR2_PACKAGE_$(2)
endif # $(2)_KCONFIG_VAR
endef # GENTARGETS_INNER

################################################################################
Expand Down

0 comments on commit b0d446d

Please sign in to comment.