make: *** No rule to make target `out/target/product/maguro/obj/STATIC_LIBRARIES/libc_intermediates/export_includes', needed by `out/target/product/maguro/obj/EXECUTABLES/charger_intermediates/import_includes'. Stop.
====================
In principle, dynamic linker(interpreter) can be dynamic linked with libc.so, it's not a problem, so why did you link it with a "reduced " statically library. By this way, the libc object code will be loaded in system memory twice. One(libc.a) for dl itself, and another(libc.so) for other process to share. I noticed that libc.a size is more than 3M, but libc.so size is only about 300K, I don't dig deep into the compile and link procedure internal.
init process is the first user space process, why can't it use dynamic linker? When kernel do_excutec() and create init process, kernel will check the interpreter(dynamic linker) in init, and load dl.so, then load libc.so(because dl generally depend on it), and then back to init process itself, that's not a problem.
adbd is also can depend on libc.so as init.
So I can not clear in principle why do we need a static libc?
Kerr