On Tue, Jan 3, 2017 at 4:11 PM, Alexander Kapshuk <alexander.kapshuk@xxxxxxxxx> wrote: > On Tue, Jan 3, 2017 at 9:32 AM, Shiyao Ma <i@xxxxxxxxx> wrote: >> Hi Alexander, >> >> >> Looking at that Makefile: >> >> # Use make M=dir to specify directory of external module to build >> # Old syntax make ... SUBDIRS=$PWD is still supported >> # Setting the environment variable KBUILD_EXTMOD take precedence >> ifdef SUBDIRS >> KBUILD_EXTMOD ?= $(SUBDIRS) >> endif >> >> ifeq ("$(origin M)", "command line") >> KBUILD_EXTMOD := $(M) >> endif >> >> >> So specifying KBUILD_EXTMOD or M is the same thing, which tells KBUILD the >> directory that the Makefile for the module is in. >> And by default, KBUILD will build the module in KBUILD_EXTMOD. >> >> What I want is tell KBUILD to build the modules in a specified directory. >> >> >> >> Regards. >> >> >> >> >> >> On Jan 2, 2017, 20:30 +0800, Alexander Kapshuk >> <alexander.kapshuk@xxxxxxxxx>, wrote: >> >> On Mon, Jan 2, 2017 at 1:39 PM, Shiyao Ma <i@xxxxxxxxx> wrote: >> >> Hi, >> >> When building an external module, for example, given this command, >> all: >> $(MAKE) -C $(KDIR) M=$$PWD >> >> It will build the ko file in the $PWD. >> >> How to specify a location for the .ko files? >> >> >> Regards. >> >> _______________________________________________ >> Kernelnewbies mailing list >> Kernelnewbies@xxxxxxxxxxxxxxxxx >> https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies >> >> >> Perhaps KBUILD_EXTMOD is what you're looking for. >> >> /path/to/kernel/sources/Makefile:183,185 >> # Use make M=dir to specify directory of external module to build >> # Old syntax make ... SUBDIRS=$PWD is still supported >> # Setting the environment variable KBUILD_EXTMOD take precedence > > I haven't verified this, but perhaps KBUILD_OUTPUT would better server > your purposes. > https://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/plain/Documentation/kbuild/kbuild.txt?id=refs/tags/v4.10-rc2 > KBUILD_OUTPUT > -------------------------------------------------- > Specify the output directory when building the kernel. > The output directory can also be specified using "O=...". > Setting "O=..." takes precedence over KBUILD_OUTPUT. Tain't it either. Just verified it on my system. Don't have an answer for you at the moment. Sorry. _______________________________________________ Kernelnewbies mailing list Kernelnewbies@xxxxxxxxxxxxxxxxx https://lists.kernelnewbies.org/mailman/listinfo/kernelnewbies