Re: Commit seems to prevent use of GNUmakefile wrappers
From: Masahiro Yamada
Date: Tue Mar 19 2019 - 00:05:55 EST
Hi David,
On Mon, Mar 18, 2019 at 11:43 PM David Howells <dhowells@xxxxxxxxxx> wrote:
>
> Hi Mashiro,
>
> commit 2b50f7ab63685cd247e32ad321f7338ed130d3d5
> Author: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
> kbuild: add workaround for Debian make-kpkg
>
> seems to prevent the use of GNUmakefile wrappers to set the ARCH and
> CROSS_COMPILE make variables. With this commit, I now see:
>
> make: Entering directory '/data/fs/linux-fs'
> Makefile:39: Do not include top Makefile of Linux Kernel
> ***
> *** Configuration file ".config" not found!
> ***
> *** Please run some configurator (e.g. "make oldconfig" or
> *** "make menuconfig" or "make xconfig").
> ***
> Makefile:605: include/config/auto.conf: No such file or directory
> make: *** No rule to make target '.config', needed by 'include/config/auto.conf'. Stop.
> make: Leaving directory '/data/fs/linux-fs'
>
> Do you have a suggestion as to how to work around this? Here's a sample
> GNUmakefile content:
>
> CROSS_COMPILE := x86_64-linux-gnu-
> ARCH := x86_64
> MFLAGS += CROSS_COMPILE=$(CROSS_COMPILE) ARCH=$(ARCH)
> export CROSS_COMPILE
> export ARCH
> include Makefile
I think the following will work.
(code was taken from scripts/mkmakefile)
------------------(GNUmakefile BEGIN)-------------------
CROSS_COMPILE := x86_64-linux-gnu-
ARCH := x86_64
MFLAGS += CROSS_COMPILE=$(CROSS_COMPILE) ARCH=$(ARCH)
export CROSS_COMPILE
export ARCH
ifeq ("$(origin V)", "command line")
VERBOSE := $(V)
endif
ifneq ($(VERBOSE),1)
Q := @
endif
MAKEFLAGS += --no-print-directory
.PHONY: __sub-make $(MAKECMDGOALS)
__sub-make:
$(Q)$(MAKE) -f Makefile $(MAKECMDGOALS)
$(filter-out __sub-make, $(MAKECMDGOALS)): __sub-make
@:
------------------(GNUmakefile END)-------------------
Having said that, the previous cheesy workaround sucks.
How about this patch?
https://patchwork.kernel.org/patch/10858809/
I hope you will be able to wrap the top Makefile again.
--
Best Regards
Masahiro Yamada