diff options
Diffstat (limited to 'share')
| -rw-r--r-- | share/mk/bsd.lib.mk | 35 | ||||
| -rw-r--r-- | share/mk/bsd.symver.mk | 42 |
2 files changed, 44 insertions, 33 deletions
diff --git a/share/mk/bsd.lib.mk b/share/mk/bsd.lib.mk index 530ac1515db9..2c01afcde44f 100644 --- a/share/mk/bsd.lib.mk +++ b/share/mk/bsd.lib.mk @@ -104,41 +104,10 @@ PO_FLAG=-pg all: objwarn -# Generate the version map given the version definitions -# and symbol maps. -.if !empty(VERSION_DEF) && !empty(SYMBOL_MAPS) -# Find the awk script that generates the version map. -VERSION_GEN?= version_gen.awk -VERSION_MAP?= Version.map - -# Compute the make's -m path. -_mpath= -_oarg= -.for _arg in ${.MAKEFLAGS} -.if ${_oarg} == "-m" -_mpath+= ${_arg} -.endif -_oarg= ${_arg} -.endfor -_mpath+= /usr/share/mk - -# Look up ${VERSION_GEN} in ${_mpath}. -_vgen= -.for path in ${_mpath} -.if empty(_vgen) -.if exists(${path}/${VERSION_GEN}) -_vgen= ${path}/${VERSION_GEN} -.endif -.endif -.endfor - -${VERSION_MAP}: ${VERSION_DEF} ${_vgen} ${SYMBOL_MAPS} - awk -v vfile=${VERSION_DEF} -f ${_vgen} ${SYMBOL_MAPS} \ - > ${.TARGET} -.endif # !empty(VERSION_DEF) && !empty(SYMBOL_MAPS) +.include <bsd.symver.mk> # Allow librararies to specify their own version map or have it -# automatically generated (see above). +# automatically generated (see bsd.symver.mk above). .if !empty(VERSION_MAP) ${SHLIB_NAME}: ${VERSION_MAP} LDFLAGS+= -Wl,--version-script=${VERSION_MAP} diff --git a/share/mk/bsd.symver.mk b/share/mk/bsd.symver.mk new file mode 100644 index 000000000000..40c51a42578a --- /dev/null +++ b/share/mk/bsd.symver.mk @@ -0,0 +1,42 @@ +# $FreeBSD$ + +.if !target(__<bsd.symver.mk>__) +__<bsd.symver.mk>__: + +.include <bsd.init.mk> + +# Generate the version map given the version definitions +# and symbol maps. +.if !empty(VERSION_DEF) && !empty(SYMBOL_MAPS) +# Find the awk script that generates the version map. +VERSION_GEN?= version_gen.awk +VERSION_MAP?= Version.map + +CLEANFILES+= ${VERSION_MAP} + +# Compute the make's -m path. +_mpath= +_oarg= +.for _arg in ${.MAKEFLAGS} +.if ${_oarg} == "-m" +_mpath+= ${_arg} +.endif +_oarg= ${_arg} +.endfor +_mpath+= /usr/share/mk + +# Look up ${VERSION_GEN} in ${_mpath}. +_vgen= +.for path in ${_mpath} +.if empty(_vgen) +.if exists(${path}/${VERSION_GEN}) +_vgen= ${path}/${VERSION_GEN} +.endif +.endif +.endfor + +${VERSION_MAP}: ${VERSION_DEF} ${_vgen} ${SYMBOL_MAPS} + awk -v vfile=${VERSION_DEF} -f ${_vgen} ${SYMBOL_MAPS} \ + > ${.TARGET} +.endif # !empty(VERSION_DEF) && !empty(SYMBOL_MAPS) +.endif # !target(__<bsd.symver.mk>__) |
