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