| # SPDX-License-Identifier: Apache-2.0 OR GPL-2.0-or-later |
| # Copyright 2012-2019 IBM Corp |
| |
| # |
| # If you want to build in another directory copy this file there and |
| # fill in the following values |
| # |
| |
| # |
| # Prefix of cross toolchain, if anything |
| # Example: CROSS= powerpc64-unknown-linux-gnu- |
| # |
| ARCH = $(shell uname -m) |
| ifdef CROSS_COMPILE |
| CROSS ?= $(CROSS_COMPILE) |
| endif |
| ifneq ("$(ARCH)", "ppc64") |
| ifneq ("$(ARCH)", "ppc64le") |
| ifneq ($(shell command -v powerpc64-linux-gcc 2> /dev/null),) |
| CROSS ?= powerpc64-linux- |
| else ifneq ($(shell command -v powerpc64le-linux-gcc 2> /dev/null),) |
| CROSS ?= powerpc64le-linux- |
| else ifneq ($(shell command -v powerpc64-linux-gnu-gcc 2> /dev/null),) |
| CROSS ?= powerpc64-linux-gnu- |
| else ifneq ($(shell command -v powerpc64le-linux-gnu-gcc 2> /dev/null),) |
| CROSS ?= powerpc64le-linux-gnu- |
| endif |
| endif |
| endif |
| |
| # |
| # Main debug switch |
| # |
| DEBUG ?= 0 |
| |
| # Run tests under valgrind? |
| USE_VALGRIND ?= 1 |
| |
| # |
| # Optional location of embedded linux kernel file |
| # This can be a raw vmlinux, stripped vmlinux or |
| # zImage.epapr |
| # |
| KERNEL ?= |
| |
| # |
| # Optional build with advanced stack checking |
| # |
| STACK_CHECK ?= $(DEBUG) |
| |
| # |
| # Experimental (unsupported) build options |
| # |
| # Little-endian does not yet build. Include it here to set ELF ABI. |
| LITTLE_ENDIAN ?= 0 |
| # ELF v2 ABI is more efficient and compact |
| ELF_ABI_v2 ?= $(LITTLE_ENDIAN) |
| # Discard unreferenced code and data at link-time |
| DEAD_CODE_ELIMINATION ?= 0 |
| # Try to build without FSP code |
| CONFIG_FSP?=1 |
| # Try to build without POWER8 support |
| CONFIG_P8?=1 |
| # Try to build without PLDM code |
| CONFIG_PLDM?=0 |
| |
| # |
| # Where is the source directory, must be a full path (no ~) |
| # Example: SRC= /home/me/skiboot |
| # |
| SRC=$(CURDIR) |
| |
| # |
| # Where to get information about this machine (subdir name) |
| # |
| DEVSRC=hdata |
| |
| # |
| # default config file, see include config_*.h for more specifics |
| # |
| CONFIG := config.h |
| |
| include $(SRC)/Makefile.main |