bsd.cpu.mk revision 72878
172878Skris# $FreeBSD: head/share/mk/bsd.cpu.mk 72878 2001-02-22 11:14:25Z kris $
272878Skris
372878Skris# Set default baseline values of CPUTYPE based on MACHINE_ARCH -- this is
472878Skris# the minimum CPU type we support for each architecture
572878Skris
672878Skris.if ${MACHINE_ARCH} == "i386"
772878SkrisCPUTYPE ?= i386
872878Skris.elif ${MACHINE_ARCH} == "alpha"
972878SkrisCPUTYPE ?= ev4
1072878Skris.elif ${MACHINE_ARCH} == "ia64"
1172878SkrisCPUTYPE ?= itanium
1272878Skris.endif
1372878Skris
1472878Skris# Handle aliases (not documented in make.conf to avoid user confusion
1572878Skris# between e.g. i586 and pentium)
1672878Skris
1772878Skris.if ${MACHINE_ARCH} == "i386"
1872878Skris. if ${CPUTYPE} == "pentiumpro"
1972878SkrisCPUTYPE = i686
2072878Skris. elif ${CPUTYPE} == "pentium"
2172878SkrisCPUTYPE = i586
2272878Skris. elif ${CPUTYPE} == "athlon"
2372878SkrisCPUTYPE = k7
2472878Skris. endif
2572878Skris.endif
2672878Skris
2772878Skris# Logic to set up correct gcc optimization flag. This must be included
2872878Skris# after /etc/make.conf so it can react to the local value of CPUTYPE
2972878Skris# defined therein.
3072878Skris
3172878Skris.if !defined(NO_CPU_CFLAGS)
3272878Skris. if ${MACHINE_ARCH} == "i386"
3372878Skris.  if ${CPUTYPE} == "k7"
3472878SkrisCFLAGS += -march=k6	# gcc doesn't support athlon yet, but it will
3572878Skris.  elif ${CPUTYPE} == "k6"
3672878SkrisCFLAGS += -march=k6
3772878Skris.  elif ${CPUTYPE} == "k5"
3872878SkrisCFLAGS += -march=pentium
3972878Skris.  elif ${CPUTYPE} == "i686"
4072878SkrisCFLAGS += -march=pentiumpro
4172878Skris.  elif ${CPUTYPE} == "i586"
4272878SkrisCFLAGS += -march=pentium
4372878Skris.  elif ${CPUTYPE} == "i486"
4472878SkrisCFLAGS += -m486
4572878Skris.  endif
4672878Skris. elif ${MACHINE_ARCH} == "alpha"
4772878Skris.  if ${CPUTYPE} == "ev6"
4872878SkrisCFLAGS += -mcpu=ev6
4972878Skris.  elif ${CPUTYPE} == "pca56"
5072878SkrisCFLAGS += -mcpu=pca56
5172878Skris.  elif ${CPUTYPE} == "ev56"
5272878SkrisCFLAGS += -mcpu=ev56
5372878Skris.  elif ${CPUTYPE} == "ev5"
5472878SkrisCFLAGS += -mcpu=ev5
5572878Skris.  elif ${CPUTYPE} == "ev45"
5672878SkrisCFLAGS += -mcpu=ev4		# No -mcpu=ev45 for gcc
5772878Skris.  elif ${CPUTYPE} == "ev4"
5872878SkrisCFLAGS += -mcpu=ev4
5972878Skris.  endif
6072878Skris. endif
6172878Skris.endif
6272878Skris
6372878Skris# Set up the list of CPU features based on the CPU type.  This is an
6472878Skris# unordered list to make it easy for client makefiles to test for the
6572878Skris# presence of a CPU feature.
6672878Skris
6772878Skris.if ${MACHINE_ARCH} == "i386"
6872878Skris. if ${CPUTYPE} == "k7"
6972878SkrisMACHINE_CPU = k7 k6 k5 i586 i486 i386
7072878Skris. elif ${CPUTYPE} == "k6"
7172878SkrisMACHINE_CPU = k6 k5 i586 i486 i386
7272878Skris. elif ${CPUTYPE} == "k5"
7372878SkrisMACHINE_CPU = k5 i586 i486 i386
7472878Skris. elif ${CPUTYPE} == "i686"
7572878SkrisMACHINE_CPU = i686 i586 i486 i386
7672878Skris. elif ${CPUTYPE} == "i586"
7772878SkrisMACHINE_CPU = i586 i486 i386
7872878Skris. elif ${CPUTYPE} == "i486"
7972878SkrisMACHINE_CPU = i486 i386
8072878Skris. elif ${CPUTYPE} == "i386"
8172878SkrisMACHINE_CPU = i386
8272878Skris. endif
8372878Skris.elif ${MACHINE_ARCH} == "alpha"
8472878Skris. if ${CPUTYPE} == "ev6"
8572878SkrisMACHINE_CPU = ev6 ev56 pca56 ev5 ev45 ev4
8672878Skris. elif ${CPUTYPE} == "pca56"
8772878SkrisMACHINE_CPU = pca56 ev56 ev5 ev45 ev4
8872878Skris. elif ${CPUTYPE} == "ev56"
8972878SkrisMACHINE_CPU = ev56 ev5 ev45 ev4
9072878Skris. elif ${CPUTYPE} == "ev5"
9172878SkrisMACHINE_CPU = ev5 ev45 ev4
9272878Skris. elif ${CPUTYPE} == "ev45"
9372878SkrisMACHINE_CPU = ev45 ev4
9472878Skris. elif ${CPUTYPE} == "ev4"
9572878SkrisMACHINE_CPU = ev4
9672878Skris. endif
9772878Skris.elif ${MACHINE_ARCH} == "ia64"
9872878Skris. if ${CPUTYPE} == "itanium"
9972878SkrisMACHINE_CPU = itanium
10072878Skris. endif
10172878Skris.endif
102