summaryrefslogtreecommitdiffstats
path: root/share/mk
diff options
context:
space:
mode:
authorbdrewery <bdrewery@FreeBSD.org>2015-10-15 22:49:56 +0000
committerbdrewery <bdrewery@FreeBSD.org>2015-10-15 22:49:56 +0000
commit1b224bebd4cbe6d294a9ab56a4578d337ea4f611 (patch)
treed1ed4765ab06d83c34f881401f2494d1f0bcfaaf /share/mk
parent2dbdb62ad1b182f1a173c7e46f0fc55e6cfe3a5d (diff)
downloadFreeBSD-src-1b224bebd4cbe6d294a9ab56a4578d337ea4f611.zip
FreeBSD-src-1b224bebd4cbe6d294a9ab56a4578d337ea4f611.tar.gz
Make installing to a non-existent directory an error.
Before this, if a file was installed to DESTDIR/some/dir and that directory was missing due to not having ran 'make distrib-dirs' yet, the file would be installed as 'some/dir'. For something like bsd.incs.mk with INCLUDEDIR being a sub-directory of /usr/include, this could result in all of the headers being installed to a file rather than getting a directory of them. Now it will error that the file/directory does not exist rather than hide the issue. Another option being discussed is to implement GNU's install -D flag which would auto create any missing directories. This is a mitigation of the problem. The proper order to the build is to run 'make distrib-dirs' first, but that can be forgotten if building from a sub-directory after updating the source code to the latest revision. MFC after: 2 weeks Sponsored by: EMC / Isilon Storage Division
Diffstat (limited to 'share/mk')
-rw-r--r--share/mk/bsd.confs.mk2
-rw-r--r--share/mk/bsd.files.mk2
-rw-r--r--share/mk/bsd.incs.mk2
-rw-r--r--share/mk/bsd.info.mk4
-rw-r--r--share/mk/bsd.lib.mk14
-rw-r--r--share/mk/bsd.man.mk4
-rw-r--r--share/mk/bsd.prog.mk2
7 files changed, 15 insertions, 15 deletions
diff --git a/share/mk/bsd.confs.mk b/share/mk/bsd.confs.mk
index 0750a4e..36298d7 100644
--- a/share/mk/bsd.confs.mk
+++ b/share/mk/bsd.confs.mk
@@ -69,7 +69,7 @@ _${group}INS: ${_${group}CONFS}
${.ALLSRC} ${DESTDIR}${${group}DIR}/${${group}NAME}
.else
${INSTALL} -C -o ${${group}OWN} -g ${${group}GRP} -m ${${group}MODE} \
- ${.ALLSRC} ${DESTDIR}${${group}DIR}
+ ${.ALLSRC} ${DESTDIR}${${group}DIR}/
.endif
.endif
diff --git a/share/mk/bsd.files.mk b/share/mk/bsd.files.mk
index b9379d9..6a6c66a 100644
--- a/share/mk/bsd.files.mk
+++ b/share/mk/bsd.files.mk
@@ -75,7 +75,7 @@ _${group}INS: ${_${group}FILES}
${DESTDIR}${${group}DIR}/${${group}NAME}
.else
${INSTALL} -o ${${group}OWN} -g ${${group}GRP} \
- -m ${${group}MODE} ${.ALLSRC} ${DESTDIR}${${group}DIR}
+ -m ${${group}MODE} ${.ALLSRC} ${DESTDIR}${${group}DIR}/
.endif
.endif
diff --git a/share/mk/bsd.incs.mk b/share/mk/bsd.incs.mk
index e1398c9..8ea97ba 100644
--- a/share/mk/bsd.incs.mk
+++ b/share/mk/bsd.incs.mk
@@ -70,7 +70,7 @@ _${group}INS: ${_${group}INCS}
${.ALLSRC} ${DESTDIR}${${group}DIR}/${${group}NAME}
.else
${INSTALL} -C -o ${${group}OWN} -g ${${group}GRP} -m ${${group}MODE} \
- ${.ALLSRC} ${DESTDIR}${${group}DIR}
+ ${.ALLSRC} ${DESTDIR}${${group}DIR}/
.endif
.endif
diff --git a/share/mk/bsd.info.mk b/share/mk/bsd.info.mk
index 8f91315..7720d28 100644
--- a/share/mk/bsd.info.mk
+++ b/share/mk/bsd.info.mk
@@ -177,11 +177,11 @@ CLEANFILES+= ${INFO:S/$/.info.*.html/} ${INFO:S/$/.info/}
install: ${INSTALLINFODIRS}
.if !empty(IFILES:N*.html)
${INSTALL} -o ${INFOOWN} -g ${INFOGRP} -m ${INFOMODE} \
- ${IFILES:N*.html} ${DESTDIR}${INFODIR}
+ ${IFILES:N*.html} ${DESTDIR}${INFODIR}/
.endif
.if !empty(FORMATS:Mhtml)
${INSTALL} -o ${INFOOWN} -g ${INFOGRP} -m ${INFOMODE} \
- ${INFO:S/$/.info.*.html/} ${DESTDIR}${INFODIR}
+ ${INFO:S/$/.info.*.html/} ${DESTDIR}${INFODIR}/
.endif
.else
# The indirection in the following is to avoid the null install rule
diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk
index 0ed8345..8c8a014 100644
--- a/share/mk/bsd.lib.mk
+++ b/share/mk/bsd.lib.mk
@@ -339,23 +339,23 @@ realinstall: _libinstall
_libinstall:
.if defined(LIB) && !empty(LIB) && ${MK_INSTALLLIB} != "no"
${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
- ${_INSTALLFLAGS} lib${LIB_PRIVATE}${LIB}.a ${DESTDIR}${_LIBDIR}
+ ${_INSTALLFLAGS} lib${LIB_PRIVATE}${LIB}.a ${DESTDIR}${_LIBDIR}/
.endif
.if ${MK_PROFILE} != "no" && defined(LIB) && !empty(LIB)
${INSTALL} -C -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
- ${_INSTALLFLAGS} lib${LIB_PRIVATE}${LIB}_p.a ${DESTDIR}${_LIBDIR}
+ ${_INSTALLFLAGS} lib${LIB_PRIVATE}${LIB}_p.a ${DESTDIR}${_LIBDIR}/
.endif
.if defined(SHLIB_NAME)
${INSTALL} ${STRIP} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
${_INSTALLFLAGS} ${_SHLINSTALLFLAGS} \
- ${SHLIB_NAME} ${DESTDIR}${_SHLIBDIR}
+ ${SHLIB_NAME} ${DESTDIR}${_SHLIBDIR}/
.if ${MK_DEBUG_FILES} != "no"
.if defined(DEBUGMKDIR)
- ${INSTALL} -T debug -d ${DESTDIR}${DEBUGFILEDIR}
+ ${INSTALL} -T debug -d ${DESTDIR}${DEBUGFILEDIR}/
.endif
${INSTALL} -T debug -o ${LIBOWN} -g ${LIBGRP} -m ${DEBUGMODE} \
${_INSTALLFLAGS} \
- ${SHLIB_NAME}.debug ${DESTDIR}${DEBUGFILEDIR}
+ ${SHLIB_NAME}.debug ${DESTDIR}${DEBUGFILEDIR}/
.endif
.if defined(SHLIB_LINK)
.if commands(${SHLIB_LINK:R}.ld)
@@ -378,11 +378,11 @@ _libinstall:
.endif # SHIB_NAME
.if defined(INSTALL_PIC_ARCHIVE) && defined(LIB) && !empty(LIB) && ${MK_TOOLCHAIN} != "no"
${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
- ${_INSTALLFLAGS} lib${LIB}_pic.a ${DESTDIR}${_LIBDIR}
+ ${_INSTALLFLAGS} lib${LIB}_pic.a ${DESTDIR}${_LIBDIR}/
.endif
.if defined(WANT_LINT) && !defined(NO_LINT) && defined(LIB) && !empty(LIB)
${INSTALL} -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} \
- ${_INSTALLFLAGS} ${LINTLIB} ${DESTDIR}${LINTLIBDIR}
+ ${_INSTALLFLAGS} ${LINTLIB} ${DESTDIR}${LINTLIBDIR}/
.endif
.endif # !defined(INTERNALLIB)
diff --git a/share/mk/bsd.man.mk b/share/mk/bsd.man.mk
index bbb47b9..72aedfb 100644
--- a/share/mk/bsd.man.mk
+++ b/share/mk/bsd.man.mk
@@ -187,7 +187,7 @@ _maninstall: ${MAN}
.endfor
.else
.for _page _sect in ${.ALLSRC:C/\.([^.]*)$/.\1 \1/}
- @d=${DESTDIR}${MANDIR}${_sect}${MANSUBDIR}; \
+ @d=${DESTDIR}${MANDIR}${_sect}${MANSUBDIR}/; \
${ECHO} ${MINSTALL} ${_page} $${d}; \
${MINSTALL} $${page} $${d};
.endfor
@@ -201,7 +201,7 @@ _maninstall: ${MAN}
.else
.for __page in ${MAN}
${MINSTALL} ${__page:T:S/$/${MCOMPRESS_EXT}/g} \
- ${DESTDIR}${MANDIR}${__page:E}${MANSUBDIR}
+ ${DESTDIR}${MANDIR}${__page:E}${MANSUBDIR}/
.if defined(MANBUILDCAT) && !empty(MANBUILDCAT)
${MINSTALL} ${__page:T:S/$/${CATEXT}${MCOMPRESS_EXT}/g} \
${DESTDIR}${CATDIR}${__page:E}${MANSUBDIR}/${__page:T:S/$/${MCOMPRESS_EXT}/}
diff --git a/share/mk/bsd.prog.mk b/share/mk/bsd.prog.mk
index dea7661..fbb6922 100644
--- a/share/mk/bsd.prog.mk
+++ b/share/mk/bsd.prog.mk
@@ -205,7 +205,7 @@ _proginstall:
${_INSTALLFLAGS} ${PROG} ${DESTDIR}${BINDIR}/${PROGNAME}
.if ${MK_DEBUG_FILES} != "no"
.if defined(DEBUGMKDIR)
- ${INSTALL} -T debug -d ${DESTDIR}${DEBUGFILEDIR}
+ ${INSTALL} -T debug -d ${DESTDIR}${DEBUGFILEDIR}/
.endif
${INSTALL} -T debug -o ${BINOWN} -g ${BINGRP} -m ${DEBUGMODE} \
${PROGNAME}.debug ${DESTDIR}${DEBUGFILEDIR}/${PROGNAME}.debug
OpenPOWER on IntegriCloud