svn commit: r325376 - head/sys/boot
Warner Losh
imp at FreeBSD.org
Sat Nov 4 03:01:12 UTC 2017
Author: imp
Date: Sat Nov 4 03:01:11 2017
New Revision: 325376
URL: https://svnweb.freebsd.org/changeset/base/325376
Log:
WIP: centralize machine links
Modified:
head/sys/boot/defs.mk
Modified: head/sys/boot/defs.mk
==============================================================================
--- head/sys/boot/defs.mk Sat Nov 4 00:47:21 2017 (r325375)
+++ head/sys/boot/defs.mk Sat Nov 4 03:01:11 2017 (r325376)
@@ -84,6 +84,40 @@ CFLAGS+= -DLOADER_MBR_SUPPORT
.if ${LOADER_GELI_SUPPORT:Uyes} == "yes"
CFLAGS+= -DLOADER_GELI_SUPPORT
.endif
+
+_ILINKS=machine
+.if ${MACHINE} != ${MACHINE_CPUARCH} && ${MACHINE} != "arm64"
+_ILINKS+=${MACHINE_CPUARCH}
.endif
+.if ${MACHINE_CPUARCH} == "i386" || ${MACHINE_CPUARCH} == "amd64"
+_ILINKS+=x86
+.endif
+CLEANFILES+=${_ILINKS}
+
+all: ${PROG}
+
+beforedepend: ${_ILINKS}
+beforebuild: ${_ILINKS}
+
+# Ensure that the links exist without depending on it when it exists which
+# causes all the modules to be rebuilt when the directory pointed to changes.
+.for _link in ${_ILINKS}
+.if !exists(${.OBJDIR}/${_link})
+${OBJS}: ${_link}
+.endif
+.endfor
+
+.NOPATH: ${_ILINKS}
+
+${_ILINKS}:
+ @case ${.TARGET} in \
+ machine) \
+ path=${SYSDIR}/${MACHINE}/include ;; \
+ *) \
+ path=${SYSDIR}/${.TARGET:T}/include ;; \
+ esac ; \
+ path=`(cd $$path && /bin/pwd)` ; \
+ ${ECHO} ${.TARGET:T} "->" $$path ; \
+ ln -fhs $$path ${.TARGET:T}
.endif # __BOOT_DEFS_MK__
More information about the svn-src-all
mailing list