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
@ -131,6 +131,10 @@ TARGET_CPUTYPE?= ${CPUTYPE}
|
||||
TARGET?= ${TARGET_ARCH}
|
||||
TARGET_CPUTYPE?=
|
||||
.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)
|
||||
BUILD_ARCH!= sysctl -n hw.machine_arch
|
||||
.if ${MACHINE_ARCH} != ${BUILD_ARCH}
|
||||
@ -175,6 +179,7 @@ INSTALLTMP!= /usr/bin/mktemp -d -u -t install
|
||||
CROSSENV= MAKEOBJDIRPREFIX=${OBJTREE} \
|
||||
MACHINE_ARCH=${TARGET_ARCH} \
|
||||
MACHINE=${TARGET} \
|
||||
CPUTYPE=${TARGET_CPUTYPE} \
|
||||
OBJFORMAT_PATH=${WORLDTMP}/usr/libexec \
|
||||
GROFF_BIN_PATH=${WORLDTMP}/usr/bin \
|
||||
GROFF_FONT_PATH=${WORLDTMP}/usr/share/groff_font \
|
||||
@ -476,7 +481,7 @@ buildkernel:
|
||||
.endif
|
||||
cd ${KRNLOBJDIR}/${_kernel}; \
|
||||
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)
|
||||
cd ${KRNLOBJDIR}/${_kernel}; \
|
||||
${KMAKEENV} ${MAKE} KERNEL=${INSTKERNNAME} depend
|
||||
|
@ -29,7 +29,9 @@
|
||||
# Alpha/AXP architecture: ev6 pca56 ev56 ev5 ev45 ev4
|
||||
# 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_COPTFLAGS=true # Don't add -march=<cpu> to COPTFLAGS automatically
|
||||
#
|
||||
|
@ -1,16 +1,10 @@
|
||||
# $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
|
||||
# compile flags must support the minimum CPU type for each architecture but
|
||||
# may tune support for more advanced processors.
|
||||
|
||||
.if !defined(CPUTYPE) || ${CPUTYPE} == ""
|
||||
.if !defined(CPUTYPE) || empty(CPUTYPE)
|
||||
. if ${MACHINE_ARCH} == "i386"
|
||||
_CPUCFLAGS = -mcpu=pentiumpro
|
||||
CPUTYPE = i386
|
||||
|
Loading…
Reference in New Issue
Block a user