← Back to team overview

t-kernel team mailing list archive

[PATCH] KBuild: build a dummy vmlinux

 

From: Du Huanpeng <u74147@xxxxxxxxx>

This KBuild build a dummy vmlinux with init/init.o and other empty
object files.
some targets are not built, please use below to fool KBuild:
	$ gcc scripts/mod/modpost-dummy.c -o scripts/mod/modpost
	$ touch .tmp_versions
The KBuild is taken from linux-4.4.1.

Signed-off-by: Du Huanpeng <u74147@xxxxxxxxx>
---
 tkernel_source/.gitignore                     | 114 ++++++++++++++++++++++++++
 tkernel_source/Documentation/DocBook/Makefile |   0
 tkernel_source/Documentation/Makefile         |   0
 tkernel_source/Makefile                       |  10 ++-
 tkernel_source/arch/arm/Kconfig               |  17 ++++
 tkernel_source/arch/arm/Makefile              |   0
 tkernel_source/arch/arm/kernel/vmlinux.lds    |   0
 tkernel_source/arch/mips/Kconfig              |   0
 tkernel_source/arch/mips/Makefile             |   0
 tkernel_source/arch/mips/kernel/vmlinux.lds   |   0
 tkernel_source/block/Makefile                 |   1 +
 tkernel_source/block/block.c                  |   0
 tkernel_source/certs/Makefile                 |   1 +
 tkernel_source/certs/certs.c                  |   0
 tkernel_source/crypto/Makefile                |   1 +
 tkernel_source/crypto/crypto.c                |   0
 tkernel_source/drivers/Makefile               |   1 +
 tkernel_source/drivers/drivers.c              |   0
 tkernel_source/firmware/Makefile              |   1 +
 tkernel_source/firmware/firmware.c            |   0
 tkernel_source/fs/Makefile                    |   1 +
 tkernel_source/fs/fs.c                        |   0
 tkernel_source/init/Makefile                  |   2 +
 tkernel_source/init/init.c                    |   5 ++
 tkernel_source/ipc/Makefile                   |   1 +
 tkernel_source/ipc/ipc.c                      |   0
 tkernel_source/kernel/Makefile                |   1 +
 tkernel_source/kernel/kernel.c                |   0
 tkernel_source/lib/Makefile                   |   1 +
 tkernel_source/lib/lib.c                      |   0
 tkernel_source/mm/Makefile                    |   1 +
 tkernel_source/mm/mm.c                        |   0
 tkernel_source/net/Makefile                   |   1 +
 tkernel_source/net/net.c                      |   0
 tkernel_source/samples/Makefile               |   0
 tkernel_source/scripts/mod/modpost-dummy.c    |   5 ++
 tkernel_source/security/Makefile              |   1 +
 tkernel_source/security/security.c            |   0
 tkernel_source/sound/Makefile                 |   1 +
 tkernel_source/sound/sound.c                  |   0
 tkernel_source/usr/Makefile                   |   1 +
 tkernel_source/usr/usr.c                      |   0
 tkernel_source/virt/Makefile                  |   1 +
 tkernel_source/virt/virt.c                    |   0
 44 files changed, 164 insertions(+), 4 deletions(-)
 create mode 100644 tkernel_source/Documentation/DocBook/Makefile
 create mode 100644 tkernel_source/Documentation/Makefile
 create mode 100644 tkernel_source/arch/arm/Kconfig
 create mode 100644 tkernel_source/arch/arm/Makefile
 create mode 100644 tkernel_source/arch/arm/kernel/vmlinux.lds
 create mode 100644 tkernel_source/arch/mips/Kconfig
 create mode 100644 tkernel_source/arch/mips/Makefile
 create mode 100644 tkernel_source/arch/mips/kernel/vmlinux.lds
 create mode 100644 tkernel_source/block/Makefile
 create mode 100644 tkernel_source/block/block.c
 create mode 100644 tkernel_source/certs/Makefile
 create mode 100644 tkernel_source/certs/certs.c
 create mode 100644 tkernel_source/crypto/Makefile
 create mode 100644 tkernel_source/crypto/crypto.c
 create mode 100644 tkernel_source/drivers/Makefile
 create mode 100644 tkernel_source/drivers/drivers.c
 create mode 100644 tkernel_source/firmware/Makefile
 create mode 100644 tkernel_source/firmware/firmware.c
 create mode 100644 tkernel_source/fs/Makefile
 create mode 100644 tkernel_source/fs/fs.c
 create mode 100644 tkernel_source/init/Makefile
 create mode 100644 tkernel_source/init/init.c
 create mode 100644 tkernel_source/ipc/Makefile
 create mode 100644 tkernel_source/ipc/ipc.c
 create mode 100644 tkernel_source/kernel/Makefile
 create mode 100644 tkernel_source/kernel/kernel.c
 create mode 100644 tkernel_source/lib/Makefile
 create mode 100644 tkernel_source/lib/lib.c
 create mode 100644 tkernel_source/mm/Makefile
 create mode 100644 tkernel_source/mm/mm.c
 create mode 100644 tkernel_source/net/Makefile
 create mode 100644 tkernel_source/net/net.c
 create mode 100644 tkernel_source/samples/Makefile
 create mode 100644 tkernel_source/scripts/mod/modpost-dummy.c
 create mode 100644 tkernel_source/security/Makefile
 create mode 100644 tkernel_source/security/security.c
 create mode 100644 tkernel_source/sound/Makefile
 create mode 100644 tkernel_source/sound/sound.c
 create mode 100644 tkernel_source/usr/Makefile
 create mode 100644 tkernel_source/usr/usr.c
 create mode 100644 tkernel_source/virt/Makefile
 create mode 100644 tkernel_source/virt/virt.c

diff --git a/tkernel_source/.gitignore b/tkernel_source/.gitignore
index a1d5c77..ba92191 100644
--- a/tkernel_source/.gitignore
+++ b/tkernel_source/.gitignore
@@ -1,5 +1,119 @@
+#
+# NOTE! Don't add files that are generated in specific
+# subdirectories here. Add them in the ".gitignore" file
+# in that subdirectory instead.
+#
+# NOTE! Please use 'git ls-files -i --exclude-standard'
+# command after changing this file, to see if there are
+# any tracked files which get ignored after the change.
+#
+# Normal rules
+#
+.*
 *.o
+*.o.*
 *.a
+*.s
+*.ko
+*.so
+*.so.dbg
+*.mod.c
+*.i
+*.lst
+*.symtypes
+*.order
+*.elf
+*.bin
+*.tar
+*.gz
+*.bz2
+*.lzma
+*.xz
+*.lz4
+*.lzo
+*.patch
+*.gcno
+modules.builtin
+Module.symvers
+*.dwo
+*.su
+
+#
+# Top-level generic files
+#
+/tags
+/TAGS
+/linux
+/vmlinux
+/vmlinux.32
+/vmlinux-gdb.py
+/vmlinuz
+/System.map
+/Module.markers
+
+#
+# Debian directory (make deb-pkg)
+#
+/debian/
+
+#
+# tar directory (make tar*-pkg)
+#
+/tar-install/
+
+#
+# git files that we don't want to ignore even it they are dot-files
+#
+!.gitignore
+!.mailmap
+
+#
+# Generated include files
+#
+include/config
+include/generated
+arch/*/include/generated
+
+# stgit generated dirs
+patches-*
+
+# quilt's files
+patches
+series
+
+# cscope files
+cscope.*
+ncscope.*
+
+# gnu global files
+GPATH
+GRTAGS
+GSYMS
+GTAGS
+
+# id-utils files
+ID
+
+*.orig
+*~
+\#*#
+
+#
+# Leavings from module signing
+#
+extra_certificates
+signing_key.pem
+signing_key.priv
+signing_key.x509
+x509.genkey
+
+# Kconfig presets
+all.config
+
+# Kdevelop4
+*.kdev4
+
+# T-Kernel
 Dependencies
 Dependencies_src
 *.map
diff --git a/tkernel_source/Documentation/DocBook/Makefile b/tkernel_source/Documentation/DocBook/Makefile
new file mode 100644
index 0000000..e69de29
diff --git a/tkernel_source/Documentation/Makefile b/tkernel_source/Documentation/Makefile
new file mode 100644
index 0000000..e69de29
diff --git a/tkernel_source/Makefile b/tkernel_source/Makefile
index c6a265b..b4688e3 100644
--- a/tkernel_source/Makefile
+++ b/tkernel_source/Makefile
@@ -368,7 +368,7 @@ CFLAGS_GCOV	= -fprofile-arcs -ftest-coverage
 
 
 # Use USERINCLUDE when you must reference the UAPI directories only.
-USERINCLUDE    := \
+__USERINCLUDE    := \
 		-I$(srctree)/arch/$(hdr-arch)/include/uapi \
 		-Iarch/$(hdr-arch)/include/generated/uapi \
 		-I$(srctree)/include/uapi \
@@ -377,7 +377,7 @@ USERINCLUDE    := \
 
 # Use LINUXINCLUDE when you must reference the include/ directory.
 # Needed to be compatible with the O= option
-LINUXINCLUDE    := \
+__LINUXINCLUDE    := \
 		-I$(srctree)/arch/$(hdr-arch)/include \
 		-Iarch/$(hdr-arch)/include/generated/uapi \
 		-Iarch/$(hdr-arch)/include/generated \
@@ -540,7 +540,8 @@ ifeq ($(KBUILD_EXTMOD),)
 # Carefully list dependencies so we do not try to build scripts twice
 # in parallel
 PHONY += scripts
-scripts: scripts_basic include/config/auto.conf include/config/tristate.conf \
+scripts:
+__scripts: scripts_basic include/config/auto.conf include/config/tristate.conf \
 	 asm-generic
 	$(Q)$(MAKE) $(build)=$(@)
 
@@ -986,7 +987,8 @@ prepare0: archprepare FORCE
 	$(Q)$(MAKE) $(build)=.
 
 # All the preparing..
-prepare: prepare0
+prepare:
+__prepare: prepare0
 
 # Generate some files
 # ---------------------------------------------------------------------------
diff --git a/tkernel_source/arch/arm/Kconfig b/tkernel_source/arch/arm/Kconfig
new file mode 100644
index 0000000..d72bd4e
--- /dev/null
+++ b/tkernel_source/arch/arm/Kconfig
@@ -0,0 +1,17 @@
+config TKERNEL
+	bool "T-Kernel"
+
+config TMONITOR
+	bool "T-Monitor"
+
+config ROMINFO
+	bool "ROM Info"
+
+config KBUILD_VERSION
+	string "KBuild Version"
+	default "linux-4.4.1"
+
+config VMTRONX
+	string "T-Kernel image name"
+	default "vmtronx"
+
diff --git a/tkernel_source/arch/arm/Makefile b/tkernel_source/arch/arm/Makefile
new file mode 100644
index 0000000..e69de29
diff --git a/tkernel_source/arch/arm/kernel/vmlinux.lds b/tkernel_source/arch/arm/kernel/vmlinux.lds
new file mode 100644
index 0000000..e69de29
diff --git a/tkernel_source/arch/mips/Kconfig b/tkernel_source/arch/mips/Kconfig
new file mode 100644
index 0000000..e69de29
diff --git a/tkernel_source/arch/mips/Makefile b/tkernel_source/arch/mips/Makefile
new file mode 100644
index 0000000..e69de29
diff --git a/tkernel_source/arch/mips/kernel/vmlinux.lds b/tkernel_source/arch/mips/kernel/vmlinux.lds
new file mode 100644
index 0000000..e69de29
diff --git a/tkernel_source/block/Makefile b/tkernel_source/block/Makefile
new file mode 100644
index 0000000..ff16485
--- /dev/null
+++ b/tkernel_source/block/Makefile
@@ -0,0 +1 @@
+obj-y += block.o
diff --git a/tkernel_source/block/block.c b/tkernel_source/block/block.c
new file mode 100644
index 0000000..e69de29
diff --git a/tkernel_source/certs/Makefile b/tkernel_source/certs/Makefile
new file mode 100644
index 0000000..a64fd69
--- /dev/null
+++ b/tkernel_source/certs/Makefile
@@ -0,0 +1 @@
+obj-y += certs.o
diff --git a/tkernel_source/certs/certs.c b/tkernel_source/certs/certs.c
new file mode 100644
index 0000000..e69de29
diff --git a/tkernel_source/crypto/Makefile b/tkernel_source/crypto/Makefile
new file mode 100644
index 0000000..5ea6012
--- /dev/null
+++ b/tkernel_source/crypto/Makefile
@@ -0,0 +1 @@
+obj-y += crypto.o
diff --git a/tkernel_source/crypto/crypto.c b/tkernel_source/crypto/crypto.c
new file mode 100644
index 0000000..e69de29
diff --git a/tkernel_source/drivers/Makefile b/tkernel_source/drivers/Makefile
new file mode 100644
index 0000000..6d52131
--- /dev/null
+++ b/tkernel_source/drivers/Makefile
@@ -0,0 +1 @@
+obj-y += drivers.o
diff --git a/tkernel_source/drivers/drivers.c b/tkernel_source/drivers/drivers.c
new file mode 100644
index 0000000..e69de29
diff --git a/tkernel_source/firmware/Makefile b/tkernel_source/firmware/Makefile
new file mode 100644
index 0000000..0708e77
--- /dev/null
+++ b/tkernel_source/firmware/Makefile
@@ -0,0 +1 @@
+obj-y += firmware.o
diff --git a/tkernel_source/firmware/firmware.c b/tkernel_source/firmware/firmware.c
new file mode 100644
index 0000000..e69de29
diff --git a/tkernel_source/fs/Makefile b/tkernel_source/fs/Makefile
new file mode 100644
index 0000000..1ddeefa
--- /dev/null
+++ b/tkernel_source/fs/Makefile
@@ -0,0 +1 @@
+obj-y += fs.o
diff --git a/tkernel_source/fs/fs.c b/tkernel_source/fs/fs.c
new file mode 100644
index 0000000..e69de29
diff --git a/tkernel_source/init/Makefile b/tkernel_source/init/Makefile
new file mode 100644
index 0000000..98daf27
--- /dev/null
+++ b/tkernel_source/init/Makefile
@@ -0,0 +1,2 @@
+obj-y += init.o
+
diff --git a/tkernel_source/init/init.c b/tkernel_source/init/init.c
new file mode 100644
index 0000000..477e9ca
--- /dev/null
+++ b/tkernel_source/init/init.c
@@ -0,0 +1,5 @@
+int start_tkernel(int argc, char *argv[])
+{
+	return 0;
+}
+
diff --git a/tkernel_source/ipc/Makefile b/tkernel_source/ipc/Makefile
new file mode 100644
index 0000000..148e353
--- /dev/null
+++ b/tkernel_source/ipc/Makefile
@@ -0,0 +1 @@
+obj-y += ipc.o
diff --git a/tkernel_source/ipc/ipc.c b/tkernel_source/ipc/ipc.c
new file mode 100644
index 0000000..e69de29
diff --git a/tkernel_source/kernel/Makefile b/tkernel_source/kernel/Makefile
new file mode 100644
index 0000000..19be565
--- /dev/null
+++ b/tkernel_source/kernel/Makefile
@@ -0,0 +1 @@
+obj-y += kernel.o
diff --git a/tkernel_source/kernel/kernel.c b/tkernel_source/kernel/kernel.c
new file mode 100644
index 0000000..e69de29
diff --git a/tkernel_source/lib/Makefile b/tkernel_source/lib/Makefile
new file mode 100644
index 0000000..867ceaf
--- /dev/null
+++ b/tkernel_source/lib/Makefile
@@ -0,0 +1 @@
+lib-y += lib.o
diff --git a/tkernel_source/lib/lib.c b/tkernel_source/lib/lib.c
new file mode 100644
index 0000000..e69de29
diff --git a/tkernel_source/mm/Makefile b/tkernel_source/mm/Makefile
new file mode 100644
index 0000000..b18cec4
--- /dev/null
+++ b/tkernel_source/mm/Makefile
@@ -0,0 +1 @@
+obj-y += mm.o
diff --git a/tkernel_source/mm/mm.c b/tkernel_source/mm/mm.c
new file mode 100644
index 0000000..e69de29
diff --git a/tkernel_source/net/Makefile b/tkernel_source/net/Makefile
new file mode 100644
index 0000000..2b6617b
--- /dev/null
+++ b/tkernel_source/net/Makefile
@@ -0,0 +1 @@
+obj-y += net.o
diff --git a/tkernel_source/net/net.c b/tkernel_source/net/net.c
new file mode 100644
index 0000000..e69de29
diff --git a/tkernel_source/samples/Makefile b/tkernel_source/samples/Makefile
new file mode 100644
index 0000000..e69de29
diff --git a/tkernel_source/scripts/mod/modpost-dummy.c b/tkernel_source/scripts/mod/modpost-dummy.c
new file mode 100644
index 0000000..973a5bc
--- /dev/null
+++ b/tkernel_source/scripts/mod/modpost-dummy.c
@@ -0,0 +1,5 @@
+int main(int argc, char *argv[])
+{
+	return 0;
+}
+
diff --git a/tkernel_source/security/Makefile b/tkernel_source/security/Makefile
new file mode 100644
index 0000000..d8de23d
--- /dev/null
+++ b/tkernel_source/security/Makefile
@@ -0,0 +1 @@
+obj-y += security.o
diff --git a/tkernel_source/security/security.c b/tkernel_source/security/security.c
new file mode 100644
index 0000000..e69de29
diff --git a/tkernel_source/sound/Makefile b/tkernel_source/sound/Makefile
new file mode 100644
index 0000000..6e92dfa
--- /dev/null
+++ b/tkernel_source/sound/Makefile
@@ -0,0 +1 @@
+obj-y += sound.o
diff --git a/tkernel_source/sound/sound.c b/tkernel_source/sound/sound.c
new file mode 100644
index 0000000..e69de29
diff --git a/tkernel_source/usr/Makefile b/tkernel_source/usr/Makefile
new file mode 100644
index 0000000..fb408b8
--- /dev/null
+++ b/tkernel_source/usr/Makefile
@@ -0,0 +1 @@
+obj-y += usr.o
diff --git a/tkernel_source/usr/usr.c b/tkernel_source/usr/usr.c
new file mode 100644
index 0000000..e69de29
diff --git a/tkernel_source/virt/Makefile b/tkernel_source/virt/Makefile
new file mode 100644
index 0000000..3ffb04e
--- /dev/null
+++ b/tkernel_source/virt/Makefile
@@ -0,0 +1 @@
+obj-y += virt.o
diff --git a/tkernel_source/virt/virt.c b/tkernel_source/virt/virt.c
new file mode 100644
index 0000000..e69de29
-- 
1.9.1