mirror of
https://github.com/Telecominfraproject/OpenCellular.git
synced 2025-12-27 18:25:05 +00:00
This patch introduces HOST_CPPFLAGS to be used for all objects being compiled with HOSTCC rather then the target compiler. Since glibc is not linked into the EC, no glibc include files should be included in the EC code base. Hence, create local definitions for clock_t and wchar_t that match what the glibc include would have done, and remove some unneeded includes. Due to very eager optimization, we have to give gcc a little notch to not kick out memset. Signed-off-by: Stefan Reinauer <reinauer@chromium.org> BUG=chrome-os-partner:43025 BUG=chrome-os-partner:49517 BRANCH=none TEST=compile tested Change-Id: Idf3a2881fa8352756b0927b09c6a97473358f239 Reviewed-on: https://chromium-review.googlesource.com/322435 Commit-Ready: Patrick Georgi <pgeorgi@chromium.org> Tested-by: Patrick Georgi <pgeorgi@chromium.org> Reviewed-by: Patrick Georgi <pgeorgi@chromium.org>
77 lines
3.2 KiB
Makefile
77 lines
3.2 KiB
Makefile
# -*- makefile -*-
|
|
# Copyright (c) 2012 The Chromium OS Authors. All rights reserved.
|
|
# Use of this source code is governed by a BSD-style license that can be
|
|
# found in the LICENSE file.
|
|
#
|
|
# Toolchain configuration build system
|
|
#
|
|
|
|
# Toolchain configuration
|
|
HOST_CROSS_COMPILE ?= x86_64-pc-linux-gnu-
|
|
|
|
CC=ccache $(CROSS_COMPILE)gcc
|
|
CPP=ccache $(CROSS_COMPILE)cpp
|
|
LD=$(CROSS_COMPILE)ld
|
|
NM=$(CROSS_COMPILE)nm
|
|
OBJCOPY=$(CROSS_COMPILE)objcopy
|
|
OBJDUMP=$(CROSS_COMPILE)objdump
|
|
PKG_CONFIG?=pkg-config
|
|
BUILDCC?=ccache gcc
|
|
HOSTCC?=ccache $(HOST_CROSS_COMPILE)gcc
|
|
HOSTCXX?=ccache $(HOST_CROSS_COMPILE)g++
|
|
|
|
C_WARN = -Wstrict-prototypes -Wdeclaration-after-statement -Wno-pointer-sign
|
|
COMMON_WARN = -Wall -Werror -Wundef -Wno-trigraphs -fno-strict-aliasing \
|
|
-fno-common -Werror-implicit-function-declaration \
|
|
-Wno-format-security -fno-strict-overflow
|
|
CFLAGS_WARN = $(COMMON_WARN) $(C_WARN)
|
|
CXXFLAGS_WARN = $(COMMON_WARN)
|
|
CFLAGS_DEBUG= -g
|
|
CFLAGS_INCLUDE=$(foreach i,$(includes),-I$(i) ) -I.
|
|
CFLAGS_TEST=$(if $(TEST_BUILD),-DTEST_BUILD \
|
|
-DTEST_TASKFILE=$(PROJECT).tasklist,) \
|
|
$(if $(EMU_BUILD),-DEMU_BUILD) \
|
|
$(if $($(PROJECT)-scale),-DTEST_TIME_SCALE=$($(PROJECT)-scale)) \
|
|
-DTEST_$(PROJECT) -DTEST_$(UC_PROJECT)
|
|
CFLAGS_COVERAGE=$(if $(TEST_COVERAGE),-fprofile-arcs -ftest-coverage \
|
|
-DTEST_COVERAGE,)
|
|
CFLAGS_DEFINE=-DOUTDIR=$(out)/$(BLD) -DCHIP=$(CHIP) -DBOARD_TASKFILE=$(_tsk_lst_file) \
|
|
-DBOARD=$(BOARD) -DCORE=$(CORE) -DPROJECT=$(PROJECT) \
|
|
-DCHIP_VARIANT=$(CHIP_VARIANT) -DCHIP_FAMILY=$(CHIP_FAMILY) \
|
|
-DBOARD_$(UC_BOARD) -DCHIP_$(UC_CHIP) -DCORE_$(UC_CORE) \
|
|
-DCHIP_VARIANT_$(UC_CHIP_VARIANT) -DCHIP_FAMILY_$(UC_CHIP_FAMILY) \
|
|
-DFINAL_OUTDIR=$(out)
|
|
CPPFLAGS=$(CFLAGS_DEFINE) $(CFLAGS_INCLUDE) $(CFLAGS_TEST) \
|
|
$(EXTRA_CFLAGS) $(CFLAGS_COVERAGE) $(LATE_CFLAGS_DEFINE) \
|
|
-DSECTION_IS_$(BLD) -DSECTION=$(BLD)
|
|
BUILD_CPPFLAGS=$(CFLAGS_DEFINE) $(CFLAGS_INCLUDE) $(CFLAGS_TEST) \
|
|
$(EXTRA_CFLAGS) $(CFLAGS_COVERAGE) $(LATE_CFLAGS_DEFINE) \
|
|
-DSECTION_IS_$(BLD) -DSECTION=$(BLD)
|
|
HOST_CPPFLAGS=$(CFLAGS_DEFINE) $(CFLAGS_INCLUDE) $(CFLAGS_TEST) \
|
|
$(EXTRA_CFLAGS) $(CFLAGS_COVERAGE) $(LATE_CFLAGS_DEFINE) \
|
|
-DSECTION_IS_$(BLD) -DSECTION=$(BLD)
|
|
ifneq ($(BOARD),host)
|
|
CPPFLAGS+=-ffreestanding -fno-builtin -nostdinc -nostdlib
|
|
CPPFLAGS+=-Ibuiltin/
|
|
endif
|
|
CFLAGS=$(CPPFLAGS) $(CFLAGS_CPU) $(CFLAGS_DEBUG) $(CFLAGS_WARN) $(CFLAGS_y)
|
|
CFLAGS+= -ffunction-sections -fshort-wchar
|
|
CFLAGS+= -fno-delete-null-pointer-checks -fconserve-stack
|
|
|
|
FTDIVERSION=$(shell $(PKG_CONFIG) --modversion libftdi1 2>/dev/null)
|
|
ifneq ($(FTDIVERSION),)
|
|
LIBFTDI_NAME=ftdi1
|
|
else
|
|
LIBFTDI_NAME=ftdi
|
|
endif
|
|
|
|
LIBFTDI_CFLAGS=$(shell $(PKG_CONFIG) --cflags lib${LIBFTDI_NAME})
|
|
LIBFTDI_LDLIBS=$(shell $(PKG_CONFIG) --libs lib${LIBFTDI_NAME})
|
|
|
|
BUILD_CFLAGS= $(LIBFTDI_CFLAGS) $(BUILD_CPPFLAGS) -O3 $(CFLAGS_DEBUG) $(CFLAGS_WARN)
|
|
HOST_CFLAGS=$(HOST_CPPFLAGS) -O3 $(CFLAGS_DEBUG) $(CFLAGS_WARN) -DHOST_TOOLS_BUILD
|
|
LDFLAGS=-nostdlib -Wl,-X -Wl,--gc-sections -Wl,--build-id=none $(LDFLAGS_EXTRA)
|
|
BUILD_LDFLAGS=$(LIBFTDI_LDLIBS)
|
|
HOST_TEST_LDFLAGS=-T core/host/host_exe.lds -lrt -pthread -rdynamic -lm\
|
|
$(if $(TEST_COVERAGE),-fprofile-arcs,)
|