Index: head/share/mk/bsd.README =================================================================== --- head/share/mk/bsd.README +++ head/share/mk/bsd.README @@ -225,6 +225,24 @@ MANOWN Manual owner. +INSTALL_LINK Command to install a hard link. + +INSTALL_SYMLINK Command to install a symbolic link. + +INSTALL_RSYMLINK Command to install a relative symbolic link. + +LINKOWN Owner of hard links created by INSTALL_LINK. + +LINKGRP Group of hard links created by INSTALL_LINK. + +LINKMODE Mode of hard links created by INSTALL_LINK. + +SYMLINKOWN Owner of hard links created by INSTALL_[R]SYMLINK. + +SYMLINKGRP Group of hard links created by INSTALL_[R]SYMLINK. + +SYMLINKMODE Mode of hard links created by INSTALL_[R]SYMLINK. + This file is generally useful when building your own Makefiles so that they use the same default owners etc. as the rest of the tree. @@ -320,6 +338,13 @@ LINKS= /bin/test /bin/[ +LINKOWN Owner of links created with LINKS [${BINOWN}]. + +LINKGRP Group of links created with LINKS [${BINGRP}]. + +LINKMODE Mode of links created with LINKS [${BINMODE}]. + + MAN Manual pages. If no MAN variable is defined, "MAN=${PROG}.1" is assumed. See bsd.man.mk for more details. @@ -528,6 +553,21 @@ of LIB if LIB is also set. Both a shared and static library will be built. NO_PIC can be set to only build a static library. + +LINKS The list of binary links; should be full pathnames, the + linked-to file coming first, followed by the linked + file. The files are hard-linked. For example, to link + /bin/test and /bin/[, use: + + LINKS= /bin/test /bin/[ + +LINKOWN Owner of links created with LINKS [${LIBOWN}]. + +LINKGRP Group of links created with LINKS [${LIBGRP}]. + +LINKMODE Mode of links created with LINKS [${LIBMODE}]. + +LINTLIBDIR Target directory for lint libraries. MAN The manual pages to be installed. See bsd.man.mk for more details. Index: head/share/mk/bsd.lib.mk =================================================================== --- head/share/mk/bsd.lib.mk +++ head/share/mk/bsd.lib.mk @@ -275,7 +275,7 @@ @${ECHO} building shared library ${SHLIB_NAME} @rm -f ${SHLIB_NAME} ${SHLIB_LINK} .if defined(SHLIB_LINK) && !commands(${SHLIB_LINK:R}.ld) && ${MK_DEBUG_FILES} == "no" - @${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},development} ${SHLIB_NAME} ${SHLIB_LINK} + @${INSTALL_LIBSYMLINK} ${TAG_ARGS:D${TAG_ARGS},development} ${SHLIB_NAME} ${SHLIB_LINK} .endif ${_LD:N${CCACHE_BIN}} ${LDFLAGS} ${SSP_CFLAGS} ${SOLINKOPTS} \ -o ${.TARGET} -Wl,-soname,${SONAME} \ @@ -291,7 +291,7 @@ ${OBJCOPY} --strip-debug --add-gnu-debuglink=${SHLIB_NAME}.debug \ ${SHLIB_NAME_FULL} ${.TARGET} .if defined(SHLIB_LINK) && !commands(${SHLIB_LINK:R}.ld) - @${INSTALL_SYMLINK} ${TAG_ARGS:D${TAG_ARGS},development} ${SHLIB_NAME} ${SHLIB_LINK} + @${INSTALL_LIBSYMLINK} ${TAG_ARGS:D${TAG_ARGS},development} ${SHLIB_NAME} ${SHLIB_LINK} .endif ${SHLIB_NAME}.debug: ${SHLIB_NAME_FULL} @@ -398,7 +398,7 @@ ${_INSTALLFLAGS} ${SHLIB_LINK:R}.ld \ ${DESTDIR}${_LIBDIR}/${SHLIB_LINK} .for _SHLIB_LINK_LINK in ${SHLIB_LDSCRIPT_LINKS} - ${INSTALL_SYMLINK} ${SHLIB_LINK} ${DESTDIR}${_LIBDIR}/${_SHLIB_LINK_LINK} + ${INSTALL_LIBSYMLINK} ${SHLIB_LINK} ${DESTDIR}${_LIBDIR}/${_SHLIB_LINK_LINK} .endfor .else .if ${_SHLIBDIR} == ${_LIBDIR} @@ -437,6 +437,11 @@ .include .endif +LINKOWN?= ${LIBOWN} +LINKGRP?= ${LIBGRP} +LINKMODE?= ${LIBMODE} +SYMLINKOWN?= ${LIBOWN} +SYMLINKGRP?= ${LIBGRP} .include .if ${MK_MAN} != "no" && !defined(LIBRARIES_ONLY) Index: head/share/mk/bsd.man.mk =================================================================== --- head/share/mk/bsd.man.mk +++ head/share/mk/bsd.man.mk @@ -227,7 +227,7 @@ .endif .for l t in ${_MANLINKS} rm -f ${DESTDIR}${t} ${DESTDIR}${t}${MCOMPRESS_EXT}; \ - ${INSTALL_LINK} ${TAG_ARGS} ${DESTDIR}${l}${ZEXT} ${DESTDIR}${t}${ZEXT} + ${INSTALL_MANLINK} ${TAG_ARGS} ${DESTDIR}${l}${ZEXT} ${DESTDIR}${t}${ZEXT} .endfor manlint: Index: head/share/mk/bsd.own.mk =================================================================== --- head/share/mk/bsd.own.mk +++ head/share/mk/bsd.own.mk @@ -124,6 +124,18 @@ # # PKG_CMD Program for creating and manipulating packages. # [pkg] +# +# LINKOWN Hard link owner [${BINOWN}] +# +# LINKGRP Hard link group [${BINGRP}] +# +# LINKMODE Hard link mode [${NOBINMODE}] +# +# SYMLINKOWN Symbolic link owner [${BINOWN} or ${LIBOWN}] +# +# SYMLINKGRP Symbolic link group [${BINGRP} or ${LIBGRP}] +# +# SYMLINKMODE Symbolic link mode [755] .if !target(____) ____: @@ -217,12 +229,22 @@ # # install(1) parameters. # -HRDLINK?= -l h -SYMLINK?= -l s -RSYMLINK?= -l rs +_LINKOWN?= ${LINKOWN:U${BINOWN}} +_LINKGRP?= ${LINKGRP:U${BINGRP}} +_LINKMODE?= ${LINKMODE:U${NOBINMODE}} +_SYMLINKOWN?= ${SYMLINKOWN:U${BINOWN}} +_SYMLINKGRP?= ${SYMLINKGRP:U${BINGRP}} +_SYMLINKMODE?= ${SYMLINKMODE:U755} +HRDLINK?= -l h -o ${_LINKOWN} -g ${_LINKGRP} -m ${_LINKMODE} +MANHRDLINK?= -l h -o ${MANOWN} -g ${MANGRP} -m ${MANMODE} +SYMLINK?= -l s -o ${_SYMLINKOWN} -g ${_SYMLINKGRP} -m ${_SYMLINKMODE} +LSYMLINK?= -l s -o ${LIBOWN} -g ${LIBGRP} -m ${LIBMODE} +RSYMLINK?= -l rs -o ${_SYMLINKOWN} -g ${_SYMLINKGRP} -m ${_SYMLINKMODE} INSTALL_LINK?= ${INSTALL} ${HRDLINK} +INSTALL_MANLINK?= ${INSTALL} ${MANHRDLINK} INSTALL_SYMLINK?= ${INSTALL} ${SYMLINK} +INSTALL_LIBSYMLINK?= ${INSTALL} ${LSYMLINK} INSTALL_RSYMLINK?= ${INSTALL} ${RSYMLINK} # Common variables Index: head/share/mk/bsd.prog.mk =================================================================== --- head/share/mk/bsd.prog.mk +++ head/share/mk/bsd.prog.mk @@ -285,6 +285,10 @@ .include .include .include + +LINKOWN?= ${BINOWN} +LINKGRP?= ${BINGRP} +LINKMODE?= ${BINMODE} .include .if ${MK_MAN} != "no"