Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

ocfs2: improve ocfs2 Makefile

Included file path was hard-wired in the ocfs2 makefile, which might
causes some confusion when compiling ocfs2 as an external module.

Say if we compile ocfs2 module as following.
cp -r /kernel/tree/fs/ocfs2 /other/dir/ocfs2
cd /other/dir/ocfs2
make -C /path/to/kernel_source M=`pwd` modules

Acutally, the compiler wil try to find included file in
/kernel/tree/fs/ocfs2, rather than the directory /other/dir/ocfs2.

To fix this little bug, we introduce the var $(src) provided by kbuild.
$(src) means the absolute path of the running kbuild file.

Link: http://lkml.kernel.org/r/20181108085546.15149-1-lchen@suse.com
Signed-off-by: Larry Chen <lchen@suse.com>
Reviewed-by: Andrew Morton <akpm@linux-foundation.org>
Cc: Mark Fasheh <mark@fasheh.com>
Cc: Joel Becker <jlbec@evilplan.org>
Cc: Junxiao Bi <junxiao.bi@oracle.com>
Cc: Joseph Qi <jiangqi903@gmail.com>
Cc: Changwei Ge <ge.changwei@h3c.com>
Signed-off-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>

authored by

Larry Chen and committed by
Linus Torvalds
9e6aea22 dec5b0d4

+3 -3
+1 -1
fs/ocfs2/Makefile
··· 1 1 # SPDX-License-Identifier: GPL-2.0 2 - ccflags-y := -Ifs/ocfs2 2 + ccflags-y := -I$(src) 3 3 4 4 obj-$(CONFIG_OCFS2_FS) += \ 5 5 ocfs2.o \
+1 -1
fs/ocfs2/dlm/Makefile
··· 1 - ccflags-y := -Ifs/ocfs2 1 + ccflags-y := -I$(src)/.. 2 2 3 3 obj-$(CONFIG_OCFS2_FS_O2CB) += ocfs2_dlm.o 4 4
+1 -1
fs/ocfs2/dlmfs/Makefile
··· 1 - ccflags-y := -Ifs/ocfs2 1 + ccflags-y := -I$(src)/.. 2 2 3 3 obj-$(CONFIG_OCFS2_FS) += ocfs2_dlmfs.o 4 4