Re: building individual files in subdirectories

Masahiro Yamada
2019-05-29T01:13:25Z

On Tue, May 28, 2019 at 9:12 PM Christoph Hellwig <hch@lst.de> wrote:
>
> A few kernel modules have source files in multiple subdirectories.
> Trying to build just a single object of a source file in such a
> subdirectory currently doesn't work.
>
> For example:
>
> hch@brick:~/work/xfs$ make fs/xfs/libxfs/xfs_alloc.o
> CALL scripts/checksyscalls.sh
> CALL scripts/atomic/check-atomics.sh
> DESCEND objtool
> scripts/Makefile.build:42: fs/xfs/libxfs/Makefile: No such file or directory
> make[1]: *** No rule to make target 'fs/xfs/libxfs/Makefile'. Stop.
> make: *** [Makefile:1747: fs/xfs/libxfs/xfs_alloc.o] Error 2
>
> Is there any reasonably easy way to get this to work?

While single targets are useful,
they never work correctly.
subdir-ccflags-y from upper Makefiles
are not inherited.

I want to implement single targets correctly, but
I have never got around to it.

"make fs/xfs/" is an alternative solution
although it will compile much more than you want.

Another solution is to put a dummy
fs/xfs/libxfs/Makefile

--
Best Regards
Masahiro Yamada