diff options
author | kan <kan@FreeBSD.org> | 2007-04-03 18:56:05 +0000 |
---|---|---|
committer | kan <kan@FreeBSD.org> | 2007-04-03 18:56:05 +0000 |
commit | eaa82c2132d827154f0cbb3f461f473af25f02cf (patch) | |
tree | b82ede8e28a1dc567a45295c9c071f68f73c461e | |
parent | 183d257e2376130a3ffff82b7f60a030024051fd (diff) | |
download | FreeBSD-src-eaa82c2132d827154f0cbb3f461f473af25f02cf.zip FreeBSD-src-eaa82c2132d827154f0cbb3f461f473af25f02cf.tar.gz |
Break out Version.map generation code from bsd.lib.mk into a
separate bsd.symver.mk file. Include bsd.symver.mk in bsd.lib.mk
to maintain the status quo.
-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 530ac15..2c01afc 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 0000000..40c51a4 --- /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>__) |