ifeq (, $(NEWLIB_BASE)) NEWLIB_BASE := $(RIOTBASE)/toolchain/x86/i586-none-elf endif ifneq (0, $(shell test -e "$(NEWLIB_BASE)/lib/libc.a" && echo $$?)) NEWLIB_PRECOMPILED_NAME := i586-newlib_2.2.0.20150623_tlsf-3337.tar.bz2 NEWLIB_PRECOMPILED := http://download.riot-os.org/$(NEWLIB_PRECOMPILED_NAME) $(warning Precompiled newlib is missing in $(NEWLIB_BASE)) $(warning Downloading from $(NEWLIB_PRECOMPILED)) $(shell cd $(RIOTBASE) && $(DOWNLOAD_TO_STDOUT) "$(NEWLIB_PRECOMPILED)" | tar xj) endif ifeq (,$(BUILD_INCLUDE_BASE)) GCC_BUILD_TRIPLET ?= $(shell gcc -dumpmachine) GCC_BUILD_VERSION ?= $(shell gcc -dumpversion) BUILD_INCLUDE_BASE = /usr/lib/gcc/$(GCC_BUILD_TRIPLET)/$(GCC_BUILD_VERSION) ifeq (,$(shell echo $(GCC_BUILD_TRIPLET) | sed -e 's,-.*,,' | grep -e '\(x\|i[3-7]\)86')) $(warning Your build machine is a(n) $(GCC_BUILD_TRIPLET).) $(warning Since this is not IA32 compatible, you must set BUILD_INCLUDE_BASE explicitly!) endif endif export INCLUDES += -isystem $(BUILD_INCLUDE_BASE)/include \ -isystem $(NEWLIB_BASE)/include \ -isystem $(NEWLIB_BASE)/sys-include \ -isystem $(BUILD_INCLUDE_BASE)/include-fixed \ -I$(RIOTBOARD)/x86-multiboot-common/include export CPU = x86 # toolchain config export CC ?= $(PREFIX)gcc ifeq ($(LTO),1) export AR = $(PREFIX)gcc-ar else export AR = $(PREFIX)ar endif export AS ?= $(PREFIX)as export RANLIB ?= $(PREFIX)ranlib export LINK ?= $(RIOTBASE)/boards/x86-multiboot-common/dist/link $(PREFIX)gcc export SIZE ?= $(PREFIX)size export OBJCOPY ?= $(PREFIX)objcopy export CFLAGS += -m32 -mfpmath=387 -ffreestanding -nostdlib -nostdinc -fno-builtin export OFLAGS = -O binary LINKFLAGS += -m32 -nostdlib -nostdinc -nostartfiles -nodefaultlibs \ --prefix=$(NEWLIB_BASE) \ -Wl,-rpath,$(NEWLIB_BASE)/lib \ -T$(RIOTBASE)/boards/x86-multiboot-common/linker.ld # clean up unused functions export CFLAGS += -ffunction-sections -fdata-sections export LINKFLAGS += -Wl,--gc-sections UNDEF += $(BINDIR)/x86-multiboot-common/startup.o BASELIBS += $(NEWLIB_BASE)/lib/libc.a \ $(NEWLIB_BASE)/lib/libm.a all: all-debug: export CFLAGS += -ggdb3 -O0 all-debug: all