Makefile, import/Make.defs: Fix undefined symbols for CONFIG_BUILD_KERNEL=y

Summary:
- I noticed that applications made by 'make import' contain
  undefined symbols such as printf for CONFIG_BUILD_KERNEL=y
- This commit fixes this issue by adding user libraries.
- Also, this commit generates libapps.a which is used for init

Impact:
- CONFIG_BUILD_KERNEL=y only

Testing:
- Build (mkimport, make import) with sama5d4-ek:knsh

Signed-off-by: Masayuki Ishikawa <Masayuki.Ishikawa@jp.sony.com>
This commit is contained in:
Masayuki Ishikawa 2022-01-26 09:42:34 +09:00 committed by Xiang Xiao
parent 3c556384ea
commit 7d4b2a517b
2 changed files with 10 additions and 0 deletions

View File

@ -63,6 +63,10 @@ ifeq ($(CONFIG_BUILD_KERNEL),y)
install: $(foreach SDIR, $(CONFIGURED_APPS), $(SDIR)_install) install: $(foreach SDIR, $(CONFIGURED_APPS), $(SDIR)_install)
.import: $(foreach SDIR, $(CONFIGURED_APPS), $(SDIR)_all) .import: $(foreach SDIR, $(CONFIGURED_APPS), $(SDIR)_all)
$(Q) for app in ${CONFIGURED_APPS}; do \
$(MAKE) -C "$${app}" archive ; \
done
$(Q) install libapps.a $(APPDIR)$(DELIM)import$(DELIM)libs
$(Q) $(MAKE) install $(Q) $(MAKE) install
import: $(IMPORT_TOOLS) import: $(IMPORT_TOOLS)

View File

@ -74,6 +74,12 @@ else
LDLIBPATH = -L $(TOPDIR)$(DELIM)libs LDLIBPATH = -L $(TOPDIR)$(DELIM)libs
endif endif
# Link with user libraries
ifeq ($(CONFIG_BUILD_KERNEL),y)
LDLIBS = -lapps -lxx -lmm -lc -lm -lproxies
endif
# Try to get the path to libgcc.a. Of course, this only works for GCC # Try to get the path to libgcc.a. Of course, this only works for GCC
# toolchains. # toolchains.