Files
2026-07-30 11:19:44 +05:30

119 lines
3.9 KiB
Plaintext

# make.PPC32gnu - GNU compilation tools definitions for generic PowerPC
#
# Copyright (c) 2002-2004, 2006-2008, 2010-2013, 2016 Wind River Systems, Inc.
#
# The right to copy, distribute, modify or otherwise make use
# of this software may be licensed only pursuant to the terms
# of an applicable Wind River license agreement.
#
# modification history
# --------------------
# 01y,10nov16,h_k fixed e6500 build spec. (VXW6-85939)
# 01x,29jan13,h_k replaced XXX with TODO.
# 01w,24jul12,h_k added e6500 CPU variant support. (WIND00333229)
# 01v,12apr12,h_k moved common env setting to defs.ppc.
# added -mabi=no-spe for PPC85XX non-e500mc. (WIND00345703)
# 01u,14feb12,h_k added missing _WRS_HARDWARE_FP definition for e500mc.
# (WIND00333933)
# 01t,13jun11,mze add debug
# 01s,03may11,syt Add support for PPC465
# 01r,03feb11,mcm Fix for WIND00247694 - use -fno-implicit-fp for e500v2
# 01q,10jan11,kab Fix 85XX e500mc flags
# 01q,16dec10,x_z set _WRS_HARDWARE_FP for hard-float 476
# 01p,29aug08,mze logic change from hard to soft
# 01o,19aug08,mze TOOL changes
# 01n,22jul08,pee adding e500v2 support for VSB.
# 01m,02aug07,mcm GCC 4.1.2 has now implemented the -fno-implicit-fp option;
# the option had been removed while there was no support for
# it.
# 01l,15may07,mcm Remove -mno-implicit-fp
# 01k,27jun06,dtr Support hard and soft float 60x builds.
# 01k,19apr06,mcm Fix for SPR#118479 - problem with Altivec options.
# 01j,28oct04,to removed -fno-zero-initialized-in-bss (now in defs.gnu)
# 01i,27may04,to 970 cleanups.
# 01h,19apr04,to Add -fno-zero-initialized-in-bss flag for gcc3.x (tmp?)
# 01g,14apr04,rec PPC970 support
# 01f,02jul04,pch SPR 98864: AltiVec support for gnu build of fioLib
# 01e,08jun04,pch set _WRS_HARDWARE_FP for hard-float 440
# 01d,04feb04,pch PPC32 floating-point adjustments
# 01c,07nov03,c_c Removed Compiler definitions.
# 01b,05feb03,pch Add CPU_VARIANT support
# 01a,11dec02,pch Created (from make.PPC440gnu vn 01f).
#
# DESCRIPTION
# This file contains definitions and flags for the gnu tools
# (compiler, assembler, linker etc.) to build for a generic
# PowerPC with PPC60x hardware floating point.
# If building for a specific processor (as a variant),
# defs.ppc will set its type number into PPC32VARIANT.
#*/
CPU = PPC32
TOOL = gnu
include $(TGT_DIR)/h/tool/common/defs.ppc
ifneq ($(PPC32VARIANT),)
# default gnu cpu flag *usually* matches the PPC32VARIANT value
CC_ARCH_SPEC = -mcpu=$(PPC32VARIANT)
else
CC_ARCH_SPEC = -DPPC32_fp60x
# *** TEMP HACK: enable AltiVec support for math/fioLib.c
# *** Remove this when the coprocessor abstraction
# *** supports printf/scanf format extensions.
OPTION_ALTIVEC_C = -maltivec -D_WRS_ALTIVEC_SUPPORT -mabi=altivec
endif
ifeq ($(PPC32VARIANT),85XX)
ifeq ($(LIB_DIR_TAG),_ppc85XX_e500mc)
CC_ARCH_SPEC = -mcpu=e500mc
else
ifeq ($(CPU_VARIANT),_ppc85XX_e500mc)
CC_ARCH_SPEC = -mcpu=e500mc
else
ifeq ($(LIB_DIR_TAG),_ppc85XX_e6500)
CC_ARCH_SPEC = -mcpu=e500mc
else
ifeq ($(CPU_VARIANT),_ppc85XX_e6500)
CC_ARCH_SPEC = -mcpu=e500mc
else
_WRS_CONFIG_FP ?= soft
# Make sure there is no SPE instruction generated by disabling SPE ABI.
# This is added to be safe in case GCC has an issue.
CC_ARCH_SPEC = -mcpu=8540 -mabi=no-spe
endif
endif
endif
endif
endif
ifeq ($(PPC32VARIANT),465)
CC_ARCH_SPEC = -mcpu=440
endif
ifeq ($(PPC32VARIANT),604)
OPTION_ALTIVEC_AS = -Wa,-maltivec -mabi=altivec
OPTION_ALTIVEC_C = -maltivec -mabi=altivec
endif
# not currently supported
ifeq ($(PPC32VARIANT),970)
CC_ARCH_SPEC = -mcpu=power4 -Wa,-mppc64bridge
OPTION_ALTIVEC_AS = -Wa,-maltivec -mabi=altivec
OPTION_ALTIVEC_C = -maltivec -mabi=altivec
endif
ifeq ($(CPU_VARIANT),_ppc85XX_e6500)
OPTION_ALTIVEC_AS = -Wa,-maltivec -mabi=altivec
OPTION_ALTIVEC_C = -maltivec -mabi=altivec
endif
include $(TGT_DIR)/h/tool/gnu/defs.ppc
# end of make.PPC32gnu