- Rewrite logic to guess TARGET_ARCH/TARGET to be more readable,
but without changes in behavior. - Add sanity checking for TARGET_ARCH/TARGET.
This commit is contained in:
parent
f6c48c1932
commit
e6cb78fbd4
@ -11,7 +11,7 @@
|
|||||||
# -DNO_PORTSUPDATE do not update ports in ${MAKE} update
|
# -DNO_PORTSUPDATE do not update ports in ${MAKE} update
|
||||||
# -DNO_DOCUPDATE do not update doc in ${MAKE} update
|
# -DNO_DOCUPDATE do not update doc in ${MAKE} update
|
||||||
# LOCAL_DIRS="list of dirs" to add additional dirs to the SUBDIR list
|
# LOCAL_DIRS="list of dirs" to add additional dirs to the SUBDIR list
|
||||||
# TARGET="arch" to crossbuild world to a different arch
|
# TARGET="machine" to crossbuild world for a different machine type
|
||||||
|
|
||||||
#
|
#
|
||||||
# The intended user-driven targets are:
|
# The intended user-driven targets are:
|
||||||
@ -95,17 +95,36 @@ OSRELDATE!= awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \
|
|||||||
OSRELDATE= 0
|
OSRELDATE= 0
|
||||||
.endif
|
.endif
|
||||||
.endif
|
.endif
|
||||||
.if defined(TARGET) && !defined(TARGET_ARCH)
|
|
||||||
TARGET_ARCH=${TARGET:S/pc98/i386/}
|
# Guess machine architecture from machine type, and vice versa.
|
||||||
|
.if !defined(TARGET_ARCH) && defined(TARGET)
|
||||||
|
TARGET_ARCH= ${TARGET:S/pc98/i386/}
|
||||||
|
.elif !defined(TARGET) && defined(TARGET_ARCH) && \
|
||||||
|
${TARGET_ARCH} != ${MACHINE_ARCH}
|
||||||
|
TARGET= ${TARGET_ARCH}
|
||||||
.endif
|
.endif
|
||||||
TARGET_ARCH?= ${MACHINE_ARCH}
|
# Otherwise, default to current machine type and architecture.
|
||||||
.if ${TARGET_ARCH} == ${MACHINE_ARCH}
|
|
||||||
TARGET?= ${MACHINE}
|
TARGET?= ${MACHINE}
|
||||||
|
TARGET_ARCH?= ${MACHINE_ARCH}
|
||||||
|
|
||||||
|
KNOWN_ARCHES?= amd64 arm i386 i386/pc98 ia64 powerpc sparc64
|
||||||
|
.if ${TARGET} == ${TARGET_ARCH}
|
||||||
|
_t= ${TARGET}
|
||||||
|
.else
|
||||||
|
_t= ${TARGET_ARCH}/${TARGET}
|
||||||
|
.endif
|
||||||
|
.for _t in ${_t}
|
||||||
|
.if empty(KNOWN_ARCHES:M${_t})
|
||||||
|
.error Unknown target ${TARGET_ARCH}:${TARGET}.
|
||||||
|
.endif
|
||||||
|
.endfor
|
||||||
|
|
||||||
|
.if ${TARGET} == ${MACHINE}
|
||||||
TARGET_CPUTYPE?=${CPUTYPE}
|
TARGET_CPUTYPE?=${CPUTYPE}
|
||||||
.else
|
.else
|
||||||
TARGET?= ${TARGET_ARCH}
|
|
||||||
TARGET_CPUTYPE?=
|
TARGET_CPUTYPE?=
|
||||||
.endif
|
.endif
|
||||||
|
|
||||||
.if !empty(TARGET_CPUTYPE)
|
.if !empty(TARGET_CPUTYPE)
|
||||||
_TARGET_CPUTYPE=${TARGET_CPUTYPE}
|
_TARGET_CPUTYPE=${TARGET_CPUTYPE}
|
||||||
.else
|
.else
|
||||||
|
Loading…
Reference in New Issue
Block a user