Re: make O="<dir>" install; output not relocated; 188.8.131.52(kbuild)
From: Jan-Benedict Glaw
Date: Fri Apr 28 2006 - 03:58:19 EST
On Thu, 2006-04-27 23:34:37 -0700, Linda Walsh <lkml@xxxxxxxxx> wrote:
> From "make help", the "O=" param to make is said to
> 'Locate all output files in "dir", including .config'
> I first did:
> "make O=$PWD/root bzImage modules" # (Note: PWD=/usr/src/ast-261611)
> Instead, it appears the "O=" parameter is _partially_ ignored.
> ishtar:/usr/src/ast-261611> make V=1 O=$PWD/root modules_install
The modules_install target uses O= for its _input_ files (that is,
for the readily compiled modules) and outputs to
$(INSTALL_MOD_PATH)/lib/modules/$VERSION/ . So you may want to set
$(INSTALL_MOD_PATH) in the same way as you've set V= or O= before.
If you're trying to prepare something to be copied over to a target
system, the tar-pkg, targz-pkg and tarbz2-pkg targets may be exactly
what you're searching for.
> Is this a bug or a feature? I.e. is the "make help" misleading in
Feature. Modules won't ever be searched inside some kernel source
directory, modprobe expects them to be in /lib/modules/.
> saying "O=<dir>" can be used to specify the output directory of a
> make run? Or should this be working?
It's maybe a bit misleading, but `modules_install' isn't a compilation
run, it's an installation run. O= was ment to hold all
compiled/generated objects, but to have a working installation, you
need to break out of that (or have INSTALL_MOD_PATH set.)
Jan-Benedict Glaw jbglaw@xxxxxxxxxx . +49-172-7608481 _ O _
"Eine Freie Meinung in einem Freien Kopf | Gegen Zensur | Gegen Krieg _ _ O
fÃr einen Freien Staat voll Freier BÃrger" | im Internet! | im Irak! O O O
ret = do_actions((curr | FREE_SPEECH) & ~(NEW_COPYRIGHT_LAW | DRM | TCPA));
Description: Digital signature