- 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_DOCUPDATE do not update doc in ${MAKE} update
|
||||
# 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:
|
||||
@ -95,17 +95,36 @@ OSRELDATE!= awk '/^\#define[[:space:]]*__FreeBSD_version/ { print $$3 }' \
|
||||
OSRELDATE= 0
|
||||
.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
|
||||
TARGET_ARCH?= ${MACHINE_ARCH}
|
||||
.if ${TARGET_ARCH} == ${MACHINE_ARCH}
|
||||
# Otherwise, default to current machine type and architecture.
|
||||
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}
|
||||
.else
|
||||
TARGET?= ${TARGET_ARCH}
|
||||
TARGET_CPUTYPE?=
|
||||
.endif
|
||||
|
||||
.if !empty(TARGET_CPUTYPE)
|
||||
_TARGET_CPUTYPE=${TARGET_CPUTYPE}
|
||||
.else
|
||||
|
Loading…
Reference in New Issue
Block a user