In the two pass build, the application logic is built during the first phase, pass 1. In that phase, the application may generate and install source files in the pass1/directory. The operating system is built during phase 2 of the build. At that time, those source files in the pass1/ directory will be built and incorporated into the kernel address space. The primary purpose of the pass1/ directory is to such application-generated kernel symbol tables. For an example of the use of this feature, look at apps/examples/module/drivers/Makefile. Kernel symbol tables are needed to support kernel modules. Of course, addition board-specific logic in, say, configs/<board>/src would have to be included to make use of the application-installed symbol tables. |
||
---|---|---|
.. | ||
libbuiltin | ||
libelf | ||
libnxflat | ||
libpcode | ||
.gitignore | ||
binfmt_copyargv.c | ||
binfmt_dumpmodule.c | ||
binfmt_exec.c | ||
binfmt_execmodule.c | ||
binfmt_execsymtab.c | ||
binfmt_exepath.c | ||
binfmt_exit.c | ||
binfmt_globals.c | ||
binfmt_loadmodule.c | ||
binfmt_register.c | ||
binfmt_unloadmodule.c | ||
binfmt_unregister.c | ||
binfmt.h | ||
builtin.c | ||
elf.c | ||
Kconfig | ||
Makefile | ||
nxflat.c | ||
pcode.c |