1# $FreeBSD: src/share/mk/bsd.cpu.mk,v 1.2.2.5 2002/07/19 08:09:32 ru Exp $ 2 3# include compiler-specific bsd.cpu.mk. Note that CCVER may or may not 4# be passed as an environment variable. If not set we make it consistent 5# within make but do not otherwise export it. 6# 7# _CCVER is used to detect changes to CCVER made in Makefile's after the 8# fact. 9# 10# HOST_CCVER is used by the native system compiler and defaults to CCVER. 11# It is not subject to local CCVER overrides in Makefiles and it is inherited 12# by all sub-makes. 13# 14# If the host system does not have the desired compiler for HOST_CCVER 15# we back off to something it probably does have. 16 17_DEFAULT_CCVER= gcc50 18_DEFAULT_BINUTILSVER= binutils227 19 20CCVER ?= ${_DEFAULT_CCVER} 21_CCVER := ${CCVER} 22.if exists(/usr/libexec/${_CCVER}/cc) || exists(/usr/libexec/custom/cc) 23HOST_CCVER?= ${_CCVER} 24.else 25HOST_CCVER?= ${_DEFAULT_CCVER} 26.endif 27 28.if exists(/usr/libexec/${_DEFAULT_BINUTILSVER}/elf/as) 29HOST_BINUTILSVER?= ${_DEFAULT_BINUTILSVER} 30.else 31_NEXTAS!= find -s /usr/libexec/binutils* -name as -print0 -quit 32HOST_BINUTILSVER?= ${_NEXTAS:H:H:T} 33.endif 34 35.if defined(FORCE_CPUTYPE) 36CPUTYPE= ${FORCE_CPUTYPE} 37.endif 38 39.if defined(CCVER_BSD_CPU_MK) 40. if ${CCVER_BSD_CPU_MK} != "" 41. include "${CCVER_BSD_CPU_MK}" 42. endif 43.elif ${CCVER} == gcc47 44. include <bsd.cpu.gcc47.mk> 45.elif ${CCVER} == gcc50 46. include <bsd.cpu.gcc50.mk> 47.elif ${CCVER:Mclang*} 48. include <bsd.cpu.clang.mk> 49.else 50. include <bsd.cpu.custom.mk> 51.endif 52 53# /usr/bin/cc depend on the CCVER environment variable, make sure CCVER is 54# exported for /usr/bin/cc and friends. Note that CCVER is unsupported when 55# cross compiling from 4.x or older versions of DFly and should not be set 56# by the user. 57# 58.export CCVER 59.export HOST_CCVER 60 61# We can reassign _CPUCFLAGS and CFLAGS will evaluate properly to the 62# new value, we do not have to add the variable to CFLAGS twice. 63# 64.if !defined(NO_CPU_CFLAGS) && !defined(_CPUCFLAGS_ASSIGNED) 65_CPUCFLAGS_ASSIGNED=TRUE 66CFLAGS += ${_CPUCFLAGS} 67.endif 68 69