diff options
author | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
---|---|---|
committer | Angelos Mouzakitis <a.mouzakitis@virtualopensystems.com> | 2023-10-10 14:33:42 +0000 |
commit | af1a266670d040d2f4083ff309d732d648afba2a (patch) | |
tree | 2fc46203448ddcc6f81546d379abfaeb323575e9 /roms/SLOF/make.rules | |
parent | e02cda008591317b1625707ff8e115a4841aa889 (diff) |
Change-Id: Iaf8d18082d3991dec7c0ebbea540f092188eb4ec
Diffstat (limited to 'roms/SLOF/make.rules')
-rw-r--r-- | roms/SLOF/make.rules | 85 |
1 files changed, 85 insertions, 0 deletions
diff --git a/roms/SLOF/make.rules b/roms/SLOF/make.rules new file mode 100644 index 000000000..d37c365a6 --- /dev/null +++ b/roms/SLOF/make.rules @@ -0,0 +1,85 @@ +# ***************************************************************************** +# * Copyright (c) 2004, 2008 IBM Corporation +# * All rights reserved. +# * This program and the accompanying materials +# * are made available under the terms of the BSD License +# * which accompanies this distribution, and is available at +# * http://www.opensource.org/licenses/bsd-license.php +# * +# * Contributors: +# * IBM Corporation - initial implementation +# ****************************************************************************/ + +############################################################################# +# BUILD ENV SETTINGS +############################################################################# + +# CROSS is the prefix of your cross-compiler. +# You can override this variable in your environment (export CROSS=...). +ARCH := $(shell uname -p) + +# Auto-detect ppc64 +ifeq (ppc64,$(findstring ppc64,$(ARCH))) + ifeq ($(ARCH), ppc64le) + EXTRA_CC = -mbig -mabi=elfv1 + EXTRA_LD = -mbig + endif +CROSS ?= +else +CROSS ?= powerpc64-linux- +endif + +CELLSIZE ?= 64 + +HOSTCC ?= gcc +HOSTCFLAGS = -g -Wall -W -O2 -I. -I../include +DD = dd + +ONLY_CC = $(CROSS)gcc -m$(CELLSIZE) $(EXTRA_CC) +ONLY_AS = $(CROSS)as -m$(CELLSIZE) $(EXTRA_LD) +ONLY_LD = $(CROSS)ld -melf$(CELLSIZE)ppc + +# Verbose level: +# V=0 means completely silent +# V=1 means brief output +# V=2 means full output +V ?= 1 + +ifeq ($(V),0) +Q := @ +MAKEFLAGS += --silent +MAKE += -s +else +CURDIR=$(shell pwd) +%.o: %.c + $(CC) $(CPPFLAGS) $(CFLAGS) -o $@ -c $(CURDIR)/$< +endif + +ifeq ($(V),1) +MAKEFLAGS += --silent +MAKE += -s +CC = printf "\t[CC]\t%s\n" `basename "$@"`; $(ONLY_CC) +AS = printf "\t[AS]\t%s\n" `basename "$@"`; $(ONLY_AS) +LD = printf "\t[LD]\t%s\n" `basename "$@"`; $(ONLY_LD) +CLEAN = printf "\t[CLEAN]\t%s\n" "$(DIRECTORY)$$dir" +else +CC = $(ONLY_CC) +AS = $(ONLY_AS) +LD = $(ONLY_LD) +CLEAN = echo -n +endif + +OBJCOPY ?= $(CROSS)objcopy +OBJDUMP ?= $(CROSS)objdump +STRIP ?= $(CROSS)strip +AR ?= $(CROSS)ar +RANLIB ?= $(CROSS)ranlib +CPP ?= $(CROSS)cpp + +WARNFLAGS = -Wall -Wmissing-prototypes -Wstrict-prototypes -Wformat-security -Wextra -Wno-unused-parameter +CFLAGS ?= -g -O2 -fno-builtin -ffreestanding -nostdinc -msoft-float \ + -fno-strict-aliasing -mno-altivec -mabi=no-altivec \ + -fno-stack-protector -fno-asynchronous-unwind-tables $(WARNFLAGS) \ + -fshort-wchar + +export CC AS LD CLEAN OBJCOPY OBJDUMP STRIP AR RANLIB CFLAGS |