Weird goings on with make::empty()
Poul-Henning Kamp
phk at phk.freebsd.dk
Wed Sep 4 11:59:15 UTC 2019
On:
Repository Root: svn+ssh://repo.freebsd.org/base
Repository UUID: ccf9f872-aa2e-dd11-9fc8-001c23d0bc1f
Revision: 351809
I built a kernel, but drm-current-kmod did not get compiled
from the new world order in /usr/local/sys/modules
Debugging I ended up doing this to src/sys/conf/kern.post.mk:
Index: sys/conf/kern.post.mk
===================================================================
--- sys/conf/kern.post.mk (revision 351809)
+++ sys/conf/kern.post.mk (working copy)
@@ -77,12 +77,14 @@
${target:S/^reinstall$/install/:S/^clobber$/cleandir/}
.endif
.for module in ${LOCAL_MODULES}
-.if !empty(module)
+ true "XXX A $(module) 2 ${LOCALBASE} 3 ${LOCAL_MODULES} 4 ${MODULES_WITH_WORLD}"
+#.if !empty(module)
+ true "XXX B $(module) 2 ${LOCALBASE} 3 ${LOCAL_MODULES} 4 ${MODULES_WITH_WORLD}"
@${ECHODIR} "===> ${module} (${target:S/^reinstall$/install/:S/^clobber$/cleandir/})"
@cd ${LOCAL_MODULES_DIR}/${module}; ${MKMODULESENV} ${MAKE} \
DIRPRFX="${module}/" \
${target:S/^reinstall$/install/:S/^clobber$/cleandir/}
-.endif
+#.endif
.endfor
.endif
.endfor
This gives me the expected output from buildkernel:
true "XXX A drm-current-kmod 2 /usr/local 3 drm-current-kmod 4 "
true "XXX B drm-current-kmod 2 /usr/local 3 drm-current-kmod 4 "
If I leave in the ".if !empty(module)" line in, I only get:
true "XXX A drm-current-kmod 2 /usr/local 3 drm-current-kmod 4 "
suggestions welcome...
--
Poul-Henning Kamp | UNIX since Zilog Zeus 3.20
phk at FreeBSD.ORG | TCP/IP since RFC 956
FreeBSD committer | BSD since 4.3-tahoe
Never attribute to malice what can adequately be explained by incompetence.
More information about the freebsd-current
mailing list