galileo: Instruct developer to build C library prior to building Contiki

This patch enhances build_newlib.sh to create Makefile.libc so that
the main Galileo makefile can attempt to include Makefile.libc and
instruct the developer to run build_newlib.sh first if the definition
within Makefile.libc is not detected.
This commit is contained in:
Michael LeMay 2015-07-10 14:07:07 -07:00 committed by Jesus Sanchez-Palencia
parent b2e4786187
commit 9b6b5ce5b0
2 changed files with 11 additions and 1 deletions

View file

@ -1,4 +1,6 @@
LIBC=$(CONTIKI)/platform/galileo/bsp/libc/i586-elf BSP_PATH=$(CONTIKI)/platform/galileo/bsp
LIBC_PATH=$(BSP_PATH)/libc
LIBC=$(LIBC_PATH)/i586-elf
LIBGCC_PATH = /usr/lib/gcc/$(shell gcc -dumpmachine)/$(shell gcc -dumpversion) LIBGCC_PATH = /usr/lib/gcc/$(shell gcc -dumpmachine)/$(shell gcc -dumpversion)
CONTIKI_TARGET_DIRS = . core/sys/ CONTIKI_TARGET_DIRS = . core/sys/
@ -11,6 +13,12 @@ include $(CONTIKI)/cpu/x86/Makefile.x86_quarkX1000
CFLAGS += -fno-stack-protector -nostdinc -isystem $(LIBC)/include -isystem $(LIBGCC_PATH)/include -isystem $(LIBGCC_PATH)/include-fixed CFLAGS += -fno-stack-protector -nostdinc -isystem $(LIBC)/include -isystem $(LIBGCC_PATH)/include -isystem $(LIBGCC_PATH)/include-fixed
LDFLAGS += -nostdlib LDFLAGS += -nostdlib
-include $(LIBC_PATH)/Makefile.libc
ifndef BUILT_LIBC
$(error Build the C library by executing $(LIBC_PATH)/build_newlib.sh)
endif
# Ideally, this should be part of LDFLAGS (-lc -lm etc). However, we found out that archive # Ideally, this should be part of LDFLAGS (-lc -lm etc). However, we found out that archive
# static files (.a) must be linked after our own object files, otherwise the linker gets lost # static files (.a) must be linked after our own object files, otherwise the linker gets lost
# and we get undefined references only. # and we get undefined references only.

View file

@ -85,6 +85,8 @@ build() {
make -j${JOBS} all && make install make -j${JOBS} all && make install
cd .. cd ..
echo "BUILT_LIBC = newlib" > Makefile.libc
} }
setup() { setup() {