From: Grant Likely <grant.likely@secretlab.ca>
To: buildroot@busybox.net
Subject: [Buildroot] [PATCH 5/9] Refactor invocation of make for kernel compiles
Date: Thu, 16 Oct 2008 14:32:41 -0600 [thread overview]
Message-ID: <20081016203240.15826.97856.stgit@localhost.localdomain> (raw)
In-Reply-To: <20081016203220.15826.26173.stgit@localhost.localdomain>
From: Grant Likely <grant.likely@secretlab.ca>
The same invocation of make is repeated several time in the Linux makefiles.
Refactor this code to assign all of it into a single make variable which
can be used everywhere.
---
target/linux/Makefile.in | 21 +++++++++++++--------
target/linux/Makefile.in.advanced | 29 +++++++++++++++++------------
2 files changed, 30 insertions(+), 20 deletions(-)
diff --git a/target/linux/Makefile.in b/target/linux/Makefile.in
index ca6b352..6126f46 100644
--- a/target/linux/Makefile.in
+++ b/target/linux/Makefile.in
@@ -93,6 +93,9 @@ LINUX26_MAKE_FLAGS = HOSTCC="$(HOSTCC)" HOSTCFLAGS="$(HOSTCFLAGS)" \
LDFLAGS="$(TARGET_LDFLAGS)" \
LZMA="$(LZMA)"
+LINUX26_MAKE = $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR)
+
+
$(LINUX26_KCONFIG):
@if [ ! -f "$(LINUX26_KCONFIG)" ] ; then \
echo ""; \
@@ -181,25 +184,24 @@ ifeq ($(BR2_PACKAGE_BUSYBOX_INITRAMFS),y)
echo "CONFIG_INITRAMFS_ROOT_UID=0" >> $(LINUX26_DIR)/.config
echo "CONFIG_INITRAMFS_ROOT_GID=0" >> $(LINUX26_DIR)/.config
endif
- $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) oldconfig
+ $(LINUX26_MAKE) oldconfig
touch $@
$(LINUX26_DIR)/.depend_done: $(LINUX26_DIR)/.configured
- $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) prepare
+ $(LINUX26_MAKE) prepare
touch $@
$(LINUX26_KERNEL): $(INITRAMFS_TARGET) $(BB_INITRAMFS_TARGET) \
$(LINUX26_DIR)/.depend_done
- $(MAKE) $(LINUX26_MAKE_FLAGS) \
- -C $(LINUX26_DIR) $(LINUX26_FORMAT)
+ $(LINUX26_MAKE) $(LINUX26_FORMAT)
cp -pf $(LINUX26_DIR)/$(LINUX26_BINLOC) $(LINUX26_KERNEL)
touch -c $@
$(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/modules.dep: $(LINUX26_DIR)/.configured
rm -rf $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)
rm -f $(TARGET_DIR)/sbin/cardmgr
- $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) modules
- $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) \
+ $(LINUX26_MAKE) modules
+ $(LINUX26_MAKE) \
DEPMOD=$(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-depmod26 \
INSTALL_MOD_PATH=$(TARGET_DIR) modules_install
rm -f $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/build
@@ -209,12 +211,12 @@ $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/modules.dep: $(LINUX26_DIR)/.config
linux26-menuconfig: $(LINUX26_DIR)/.patched host-sed
[ -f $(LINUX26_DIR)/.config ] || cp $(LINUX26_KCONFIG) $(LINUX26_DIR)/.config
- $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) menuconfig
+ $(LINUX26_MAKE) menuconfig
-[ -f $(LINUX26_DIR)/.config ] && touch $(LINUX26_DIR)/.configured
linux26-xconfig: $(LINUX26_DIR)/.patched host-sed
[ -f $(LINUX26_DIR)/.config ] || cp $(LINUX26_KCONFIG) $(LINUX26_DIR)/.config
- $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) xconfig
+ $(LINUX26_MAKE) xconfig
-[ -f $(LINUX26_DIR)/.config ] && touch $(LINUX26_DIR)/.configured
linux26: $(LINUX26_KERNEL)
@@ -240,6 +242,9 @@ linux26-force:
# This has been renamed so we do _NOT_ by default run this on 'make clean'
linux26clean:
rm -f $(LINUX26_KERNEL) $(LINUX26_DIR)/.configured
+ # Note; this invocation of make is different from the rest. Why
+ # does 'PATH' need to be assigned here? Can this be replaced with
+ # $(LINUX26_MAKE) like all the others?
-$(MAKE) PATH=$(TARGET_PATH) -C $(LINUX26_DIR) clean
linux26-dirclean:
diff --git a/target/linux/Makefile.in.advanced b/target/linux/Makefile.in.advanced
index cfdba95..90f8e01 100644
--- a/target/linux/Makefile.in.advanced
+++ b/target/linux/Makefile.in.advanced
@@ -189,6 +189,8 @@ LINUX26_MAKE_FLAGS = HOSTCC="$(HOSTCC)" HOSTCFLAGS="$(HOSTCFLAGS)" \
LDFLAGS="$(TARGET_LDFLAGS)" \
LZMA="$(LZMA)"
+LINUX26_MAKE = $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR)
+
# =============================================================================
# ifneq ($(strip $(LINUX26_VERSION)),$(strip $(LINUX_HEADERS_VERSION)))
@@ -300,10 +302,10 @@ KERNEL_EXTRA_VERSION:=$(strip $(subst ",,$(BR2_EXTRA_VERSION)))
$(LINUX26_DIR)/.config: $(LINUX26_DIR)/.patched.board
ifeq ($(BR2_PACKAGE_LINUX_USE_DEFCONFIG),y)
- $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) $(BOARD_NAME)_defconfig
+ $(LINUX26_MAKE) $(BOARD_NAME)_defconfig
endif
ifeq ($(BR2_PACKAGE_LINUX_USE_XCONFIG),y)
- $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) $(KERNEL_CONFIG_METHOD)
+ $(LINUX26_MAKE) $(KERNEL_CONFIG_METHOD)
endif
ifeq ($(BR2_PACKAGE_LINUX_USE_KCONFIG),y)
# Try user defined config
@@ -322,12 +324,12 @@ ifeq ($(BR2_PACKAGE_LINUX_USE_KCONFIG),y)
fi
# Use a board config defined in the linux source.
if [ ! -f "$(LINUX26_DIR)/.config" ] ; then \
- $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) $(BOARD_NAME)_defconfig || \
+ $(LINUX26_MAKE) $(BOARD_NAME)_defconfig || \
echo "$(BOARD_NAME)_defconfig failed..." ; \
fi
# let the user create his/her own config
if [ ! -f "$(LINUX26_DIR)/.config" ] ; then \
- $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) $(KERNEL_CONFIG_METHOD) ; \
+ $(LINUX26_MAKE) $(KERNEL_CONFIG_METHOD) ; \
fi
endif
ifneq ($(strip $(subst ",,$(BR2_EXTRA_VERSION))),)
@@ -370,29 +372,29 @@ ifeq ($(BR2_PACKAGE_BUSYBOX_INITRAMFS),y)
echo "CONFIG_INITRAMFS_ROOT_UID=0" >> $(LINUX26_DIR)/.config
echo "CONFIG_INITRAMFS_ROOT_GID=0" >> $(LINUX26_DIR)/.config
endif
- $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) oldconfig
+ $(LINUX26_MAKE) oldconfig
touch $@
# -----------------------------------------------------------------------------
$(LINUX26_DIR)/.depend_done: $(LINUX26_DIR)/.configured
- $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) prepare
+ $(LINUX26_MAKE) prepare
touch $@
$(LINUX26_DIR)/$(LINUX26_BINLOC): $(INITRAMFS_TARGET) $(BB_INITRAMFS_TARGET) \
$(LINUX26_DIR)/.depend_done
- $(MAKE) $(LINUX26_MAKE_FLAGS) \
- -C $(LINUX26_DIR) $(LINUX26_FORMAT)
+ $(LINUX26_MAKE) $(LINUX26_FORMAT)
$(LINUX26_KERNEL): $(LINUX26_DIR)/$(LINUX26_BINLOC)
cp -pf $(LINUX26_DIR)/$(LINUX26_BINLOC) $(LINUX26_KERNEL)
touch -c $@
# -----------------------------------------------------------------------------
+
$(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/modules.dep: $(LINUX26_DIR)/.configured
rm -rf $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)
rm -f $(TARGET_DIR)/sbin/cardmgr
- $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) modules
- $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) \
+ $(LINUX26_MAKE) modules
+ $(LINUX26_MAKE) \
DEPMOD=$(STAGING_DIR)/bin/$(GNU_TARGET_NAME)-depmod26 \
INSTALL_MOD_PATH=$(TARGET_DIR) modules_install
rm -f $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/build
@@ -402,12 +404,12 @@ $(TARGET_DIR)/lib/modules/$(LINUX26_VERSION)/modules.dep: $(LINUX26_DIR)/.config
linux26-menuconfig: $(LINUX26_DIR)/.patched host-sed
[ -f $(LINUX26_DIR)/.config ] || cp $(LINUX26_KCONFIG) $(LINUX26_DIR)/.config
- $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) menuconfig
+ $(LINUX26_MAKE) menuconfig
-[ -f $(LINUX26_DIR)/.config ] && touch $(LINUX26_DIR)/.configured
linux26-xconfig: $(LINUX26_DIR)/.patched host-sed
[ -f $(LINUX26_DIR)/.config ] || cp $(LINUX26_KCONFIG) $(LINUX26_DIR)/.config
- $(MAKE) $(LINUX26_MAKE_FLAGS) -C $(LINUX26_DIR) xconfig
+ $(LINUX26_MAKE) xconfig
-[ -f $(LINUX26_DIR)/.config ] && touch $(LINUX26_DIR)/.configured
$(TARGET_DIR)/boot/$(LINUX26_KERNEL_NAME): $(LINUX26_KERNEL)
@@ -461,6 +463,9 @@ linux26-force:
# This has been renamed so we do _NOT_ by default run this on 'make clean'
linux26clean:
rm -f $(LINUX26_KERNEL) $(LINUX26_DIR)/.configured
+ # Note; this invocation of make is different from the rest. Why
+ # does 'PATH' need to be assigned here? Can this be replaced with
+ # $(LINUX26_MAKE) like all the others?
-$(MAKE) PATH=$(TARGET_PATH) -C $(LINUX26_DIR) clean
linux26-dirclean:
next prev parent reply other threads:[~2008-10-16 20:32 UTC|newest]
Thread overview: 33+ messages / expand[flat|nested] mbox.gz Atom feed top
2008-10-16 20:32 [Buildroot] [PATCH 1/9] Typo fix in toolchain/external-toolchain/ext-tool.mk Grant Likely
2008-10-16 20:32 ` [Buildroot] [PATCH 2/9] Fix link flags of mtdutils Grant Likely
2008-10-16 20:51 ` Thomas Petazzoni
2008-10-16 21:15 ` hartleys
2008-10-16 21:22 ` Bernhard Reutner-Fischer
2008-10-16 21:38 ` Thomas Petazzoni
2008-10-16 21:47 ` Thomas Petazzoni
2008-10-16 20:32 ` [Buildroot] [PATCH 3/9] Add support for multilib external toolchains Grant Likely
2008-10-17 16:40 ` Shinya Kuribayashi
2010-01-12 11:06 ` Thomas Petazzoni
2010-01-12 19:15 ` Grant Likely
2008-10-16 20:32 ` [Buildroot] [PATCH 4/9] Add Xilinx UARTLITE and MPC5200 PSC device files (serial ports) Grant Likely
2008-10-17 10:24 ` Peter Korsgaard
2008-10-16 20:32 ` Grant Likely [this message]
2008-10-16 21:55 ` [Buildroot] [PATCH 5/9] Refactor invocation of make for kernel compiles Markus Heidelberg
2008-10-16 23:03 ` Grant Likely
2008-10-16 20:32 ` [Buildroot] [PATCH 6/9] Ask the kernel source where it will install modules Grant Likely
2008-10-30 9:52 ` [Buildroot] [PATCH 6/9] Ask the kernel source where it will installmodules Hans-Christian Egtvedt
2008-10-30 11:57 ` Hans-Christian Egtvedt
2008-10-30 13:20 ` [Buildroot] [PATCH 6/9] Ask the kernel source where it will install modules Thomas Petazzoni
2008-10-30 13:23 ` Grant Likely
2008-10-30 13:44 ` Thomas Petazzoni
2008-10-30 13:27 ` Hans-Christian Egtvedt
2008-10-30 14:04 ` Hans-Christian Egtvedt
2008-10-16 20:32 ` [Buildroot] [PATCH 7/9] Add last resort setting of $(LINUX26_BINLOC) for kernel image filename Grant Likely
2008-10-16 20:32 ` [Buildroot] [PATCH 8/9] RFC: Remove HOSTCFLAGS from kernel compile Grant Likely
2008-10-16 21:09 ` Bernhard Reutner-Fischer
2008-10-16 23:11 ` Grant Likely
2008-10-16 20:33 ` [Buildroot] [PATCH 9/9] Add support for cloning Linux git trees Grant Likely
2008-10-16 21:14 ` Bernhard Reutner-Fischer
2008-10-16 23:09 ` Grant Likely
2008-10-17 7:38 ` Bernhard Reutner-Fischer
2008-10-17 10:20 ` [Buildroot] [PATCH 1/9] Typo fix in toolchain/external-toolchain/ext-tool.mk Peter Korsgaard
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=20081016203240.15826.97856.stgit@localhost.localdomain \
--to=grant.likely@secretlab.ca \
--cc=buildroot@busybox.net \
/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