[Feature]add MT2731_MP2_MR2_SVN388 baseline version

Change-Id: Ief04314834b31e27effab435d3ca8ba33b499059
diff --git a/src/kernel/linux/v4.14/tools/build/tests/ex/Build b/src/kernel/linux/v4.14/tools/build/tests/ex/Build
new file mode 100644
index 0000000..4d502f9
--- /dev/null
+++ b/src/kernel/linux/v4.14/tools/build/tests/ex/Build
@@ -0,0 +1,11 @@
+ex-y += ex.o
+ex-y += a.o
+ex-y += b.o
+ex-y += b.o
+ex-y += empty/
+ex-y += empty2/
+ex-y += inc.o
+
+libex-y += c.o
+libex-y += d.o
+libex-y += arch/
diff --git a/src/kernel/linux/v4.14/tools/build/tests/ex/Makefile b/src/kernel/linux/v4.14/tools/build/tests/ex/Makefile
new file mode 100644
index 0000000..fee032e
--- /dev/null
+++ b/src/kernel/linux/v4.14/tools/build/tests/ex/Makefile
@@ -0,0 +1,27 @@
+# SPDX-License-Identifier: GPL-2.0
+export srctree := $(abspath ../../../..)
+export CC      := gcc
+export LD      := ld
+export AR      := ar
+
+ex:
+
+include $(srctree)/tools/build/Makefile.include
+
+ex: ex-in.o libex-in.o
+	$(CC) -o $@ $^
+
+ex.%: fixdep FORCE
+	make -f $(srctree)/tools/build/Makefile.build dir=. $@
+
+ex-in.o: fixdep FORCE
+	make $(build)=ex
+
+libex-in.o: fixdep FORCE
+	make $(build)=libex
+
+clean:
+	find . -name '*.o' -delete -o -name '\.*.cmd' -delete -o -name '\.*.d' -delete
+	rm -f ex ex.i ex.s
+
+.PHONY: FORCE
diff --git a/src/kernel/linux/v4.14/tools/build/tests/ex/a.c b/src/kernel/linux/v4.14/tools/build/tests/ex/a.c
new file mode 100644
index 0000000..66017a9
--- /dev/null
+++ b/src/kernel/linux/v4.14/tools/build/tests/ex/a.c
@@ -0,0 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0
+
+int a(void)
+{
+	return 0;
+}
diff --git a/src/kernel/linux/v4.14/tools/build/tests/ex/arch/Build b/src/kernel/linux/v4.14/tools/build/tests/ex/arch/Build
new file mode 100644
index 0000000..5550618
--- /dev/null
+++ b/src/kernel/linux/v4.14/tools/build/tests/ex/arch/Build
@@ -0,0 +1,2 @@
+libex-y += e.o
+libex-y += f.o
diff --git a/src/kernel/linux/v4.14/tools/build/tests/ex/arch/e.c b/src/kernel/linux/v4.14/tools/build/tests/ex/arch/e.c
new file mode 100644
index 0000000..f6ef585
--- /dev/null
+++ b/src/kernel/linux/v4.14/tools/build/tests/ex/arch/e.c
@@ -0,0 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0
+
+int e(void)
+{
+	return 0;
+}
diff --git a/src/kernel/linux/v4.14/tools/build/tests/ex/arch/f.c b/src/kernel/linux/v4.14/tools/build/tests/ex/arch/f.c
new file mode 100644
index 0000000..bffd9c6
--- /dev/null
+++ b/src/kernel/linux/v4.14/tools/build/tests/ex/arch/f.c
@@ -0,0 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0
+
+int f(void)
+{
+	return 0;
+}
diff --git a/src/kernel/linux/v4.14/tools/build/tests/ex/b.c b/src/kernel/linux/v4.14/tools/build/tests/ex/b.c
new file mode 100644
index 0000000..2b29fb4
--- /dev/null
+++ b/src/kernel/linux/v4.14/tools/build/tests/ex/b.c
@@ -0,0 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0
+
+int b(void)
+{
+	return 0;
+}
diff --git a/src/kernel/linux/v4.14/tools/build/tests/ex/c.c b/src/kernel/linux/v4.14/tools/build/tests/ex/c.c
new file mode 100644
index 0000000..a63b20a
--- /dev/null
+++ b/src/kernel/linux/v4.14/tools/build/tests/ex/c.c
@@ -0,0 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0
+
+int c(void)
+{
+	return 0;
+}
diff --git a/src/kernel/linux/v4.14/tools/build/tests/ex/d.c b/src/kernel/linux/v4.14/tools/build/tests/ex/d.c
new file mode 100644
index 0000000..e114e8d
--- /dev/null
+++ b/src/kernel/linux/v4.14/tools/build/tests/ex/d.c
@@ -0,0 +1,6 @@
+// SPDX-License-Identifier: GPL-2.0
+
+int d(void)
+{
+	return 0;
+}
diff --git a/src/kernel/linux/v4.14/tools/build/tests/ex/empty/Build b/src/kernel/linux/v4.14/tools/build/tests/ex/empty/Build
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/src/kernel/linux/v4.14/tools/build/tests/ex/empty/Build
diff --git a/src/kernel/linux/v4.14/tools/build/tests/ex/empty2/README b/src/kernel/linux/v4.14/tools/build/tests/ex/empty2/README
new file mode 100644
index 0000000..2107cc5
--- /dev/null
+++ b/src/kernel/linux/v4.14/tools/build/tests/ex/empty2/README
@@ -0,0 +1,2 @@
+This directory is left intentionally without Build file
+to test proper nesting into Build-less directories.
diff --git a/src/kernel/linux/v4.14/tools/build/tests/ex/ex.c b/src/kernel/linux/v4.14/tools/build/tests/ex/ex.c
new file mode 100644
index 0000000..3c02756
--- /dev/null
+++ b/src/kernel/linux/v4.14/tools/build/tests/ex/ex.c
@@ -0,0 +1,22 @@
+// SPDX-License-Identifier: GPL-2.0
+
+int a(void);
+int b(void);
+int c(void);
+int d(void);
+int e(void);
+int f(void);
+int inc(void);
+
+int main(void)
+{
+	a();
+	b();
+	c();
+	d();
+	e();
+	f();
+	inc();
+
+	return 0;
+}
diff --git a/src/kernel/linux/v4.14/tools/build/tests/ex/inc.c b/src/kernel/linux/v4.14/tools/build/tests/ex/inc.c
new file mode 100644
index 0000000..3636ab5
--- /dev/null
+++ b/src/kernel/linux/v4.14/tools/build/tests/ex/inc.c
@@ -0,0 +1,9 @@
+// SPDX-License-Identifier: GPL-2.0
+#ifdef INCLUDE
+#include "krava.h"
+#endif
+
+int inc(void)
+{
+	return 0;
+}
diff --git a/src/kernel/linux/v4.14/tools/build/tests/run.sh b/src/kernel/linux/v4.14/tools/build/tests/run.sh
new file mode 100755
index 0000000..2c54e4d
--- /dev/null
+++ b/src/kernel/linux/v4.14/tools/build/tests/run.sh
@@ -0,0 +1,70 @@
+#!/bin/sh
+# SPDX-License-Identifier: GPL-2.0
+
+function test_ex {
+	make -C ex V=1 clean > ex.out 2>&1
+	make -C ex V=1 >> ex.out 2>&1
+
+	if [ ! -x ./ex/ex ]; then
+	  echo FAILED
+	  exit -1
+	fi
+
+	make -C ex V=1 clean > /dev/null 2>&1
+	rm -f ex.out
+}
+
+function test_ex_suffix {
+	make -C ex V=1 clean > ex.out 2>&1
+
+	# use -rR to disable make's builtin rules
+	make -rR -C ex V=1 ex.o >> ex.out 2>&1
+	make -rR -C ex V=1 ex.i >> ex.out 2>&1
+	make -rR -C ex V=1 ex.s >> ex.out 2>&1
+
+	if [ -x ./ex/ex ]; then
+	  echo FAILED
+	  exit -1
+	fi
+
+	if [ ! -f ./ex/ex.o -o ! -f ./ex/ex.i -o ! -f ./ex/ex.s ]; then
+	  echo FAILED
+	  exit -1
+	fi
+
+	make -C ex V=1 clean > /dev/null 2>&1
+	rm -f ex.out
+}
+
+function test_ex_include {
+	make -C ex V=1 clean > ex.out 2>&1
+
+	# build with krava.h include
+	touch ex/krava.h
+	make -C ex V=1 CFLAGS=-DINCLUDE >> ex.out 2>&1
+
+	if [ ! -x ./ex/ex ]; then
+	  echo FAILED
+	  exit -1
+	fi
+
+	# build without the include
+	rm -f ex/krava.h ex/ex
+	make -C ex V=1 >> ex.out 2>&1
+
+	if [ ! -x ./ex/ex ]; then
+	  echo FAILED
+	  exit -1
+	fi
+
+	make -C ex V=1 clean > /dev/null 2>&1
+	rm -f ex.out
+}
+
+echo -n Testing..
+
+test_ex
+test_ex_suffix
+test_ex_include
+
+echo OK