TARGET_CPUTYPE should exist solely in Makefile.inc1, similar to
TARGET_ARCH and TARGET. This is problematic when one has the = (unconditional) type of assigment for CPUTYPE in /etc/make.conf. (This would override what was set on the command line to "make buildworld".) Add a (horrible) kludge to Makefile.inc1 to check the type of assignment for CPUTYPE (only for those who attempts to set it to a different value). Fix an example make.conf. Fix the kernel's build-tools target (aicasm only at the moment) to catch up with bsd.cpu.mk,v 1.15 (BOOTSTRAPPING replaced with NO_CPU_CFLAGS in Makefile.inc1's BMAKE). Reviewed by: jhb
This commit is contained in:
parent
4dd8f14efb
commit
32f8ca450d
@ -126,11 +126,15 @@ MAKEOBJDIRPREFIX?= /usr/obj
|
|||||||
TARGET_ARCH?= ${MACHINE_ARCH}
|
TARGET_ARCH?= ${MACHINE_ARCH}
|
||||||
.if ${TARGET_ARCH} == ${MACHINE_ARCH}
|
.if ${TARGET_ARCH} == ${MACHINE_ARCH}
|
||||||
TARGET?= ${MACHINE}
|
TARGET?= ${MACHINE}
|
||||||
TARGET_CPUTYPE?= ${CPUTYPE}
|
TARGET_CPUTYPE?=${CPUTYPE}
|
||||||
.else
|
.else
|
||||||
TARGET?= ${TARGET_ARCH}
|
TARGET?= ${TARGET_ARCH}
|
||||||
TARGET_CPUTYPE?=
|
TARGET_CPUTYPE?=
|
||||||
.endif
|
.endif
|
||||||
|
_CPUTYPE!= cd ${.CURDIR}; ${MAKE} CPUTYPE=${TARGET_CPUTYPE} -V CPUTYPE
|
||||||
|
.if ${_CPUTYPE} != ${TARGET_CPUTYPE}
|
||||||
|
.error CPUTYPE global should be set with ?=.
|
||||||
|
.endif
|
||||||
.if make(buildworld)
|
.if make(buildworld)
|
||||||
BUILD_ARCH!= sysctl -n hw.machine_arch
|
BUILD_ARCH!= sysctl -n hw.machine_arch
|
||||||
.if ${MACHINE_ARCH} != ${BUILD_ARCH}
|
.if ${MACHINE_ARCH} != ${BUILD_ARCH}
|
||||||
@ -175,6 +179,7 @@ INSTALLTMP!= /usr/bin/mktemp -d -u -t install
|
|||||||
CROSSENV= MAKEOBJDIRPREFIX=${OBJTREE} \
|
CROSSENV= MAKEOBJDIRPREFIX=${OBJTREE} \
|
||||||
MACHINE_ARCH=${TARGET_ARCH} \
|
MACHINE_ARCH=${TARGET_ARCH} \
|
||||||
MACHINE=${TARGET} \
|
MACHINE=${TARGET} \
|
||||||
|
CPUTYPE=${TARGET_CPUTYPE} \
|
||||||
OBJFORMAT_PATH=${WORLDTMP}/usr/libexec \
|
OBJFORMAT_PATH=${WORLDTMP}/usr/libexec \
|
||||||
GROFF_BIN_PATH=${WORLDTMP}/usr/bin \
|
GROFF_BIN_PATH=${WORLDTMP}/usr/bin \
|
||||||
GROFF_FONT_PATH=${WORLDTMP}/usr/share/groff_font \
|
GROFF_FONT_PATH=${WORLDTMP}/usr/share/groff_font \
|
||||||
@ -476,7 +481,7 @@ buildkernel:
|
|||||||
.endif
|
.endif
|
||||||
cd ${KRNLOBJDIR}/${_kernel}; \
|
cd ${KRNLOBJDIR}/${_kernel}; \
|
||||||
MAKESRCPATH=${KRNLSRCDIR}/dev/aic7xxx/aicasm \
|
MAKESRCPATH=${KRNLSRCDIR}/dev/aic7xxx/aicasm \
|
||||||
${MAKE} -DBOOTSTRAPPING -f ${KRNLSRCDIR}/dev/aic7xxx/aicasm/Makefile
|
${MAKE} -DNO_CPU_CFLAGS -f ${KRNLSRCDIR}/dev/aic7xxx/aicasm/Makefile
|
||||||
.if !defined(NO_KERNELDEPEND)
|
.if !defined(NO_KERNELDEPEND)
|
||||||
cd ${KRNLOBJDIR}/${_kernel}; \
|
cd ${KRNLOBJDIR}/${_kernel}; \
|
||||||
${KMAKEENV} ${MAKE} KERNEL=${INSTKERNNAME} depend
|
${KMAKEENV} ${MAKE} KERNEL=${INSTKERNNAME} depend
|
||||||
|
@ -29,7 +29,9 @@
|
|||||||
# Alpha/AXP architecture: ev6 pca56 ev56 ev5 ev45 ev4
|
# Alpha/AXP architecture: ev6 pca56 ev56 ev5 ev45 ev4
|
||||||
# Intel ia64 architecture: itanium
|
# Intel ia64 architecture: itanium
|
||||||
#
|
#
|
||||||
#CPUTYPE=i686
|
# (?= allows to buildworld for a different CPUTYPE.)
|
||||||
|
#
|
||||||
|
#CPUTYPE?=i686
|
||||||
#NO_CPU_CFLAGS= true # Don't add -march=<cpu> to CFLAGS automatically
|
#NO_CPU_CFLAGS= true # Don't add -march=<cpu> to CFLAGS automatically
|
||||||
#NO_CPU_COPTFLAGS=true # Don't add -march=<cpu> to COPTFLAGS automatically
|
#NO_CPU_COPTFLAGS=true # Don't add -march=<cpu> to COPTFLAGS automatically
|
||||||
#
|
#
|
||||||
|
@ -1,16 +1,10 @@
|
|||||||
# $FreeBSD$
|
# $FreeBSD$
|
||||||
|
|
||||||
# Allow TARGET_CPUTYPE to override CPUTYPE to handle the cross-build case.
|
|
||||||
|
|
||||||
.if defined(TARGET_CPUTYPE)
|
|
||||||
CPUTYPE = ${TARGET_CPUTYPE}
|
|
||||||
.endif
|
|
||||||
|
|
||||||
# Set default CPU compile flags and baseline CPUTYPE for each arch. The
|
# Set default CPU compile flags and baseline CPUTYPE for each arch. The
|
||||||
# compile flags must support the minimum CPU type for each architecture but
|
# compile flags must support the minimum CPU type for each architecture but
|
||||||
# may tune support for more advanced processors.
|
# may tune support for more advanced processors.
|
||||||
|
|
||||||
.if !defined(CPUTYPE) || ${CPUTYPE} == ""
|
.if !defined(CPUTYPE) || empty(CPUTYPE)
|
||||||
. if ${MACHINE_ARCH} == "i386"
|
. if ${MACHINE_ARCH} == "i386"
|
||||||
_CPUCFLAGS = -mcpu=pentiumpro
|
_CPUCFLAGS = -mcpu=pentiumpro
|
||||||
CPUTYPE = i386
|
CPUTYPE = i386
|
||||||
|
Loading…
Reference in New Issue
Block a user