summaryrefslogtreecommitdiffstats
path: root/share/mk
diff options
context:
space:
mode:
authorkan <kan@FreeBSD.org>2007-04-03 18:56:05 +0000
committerkan <kan@FreeBSD.org>2007-04-03 18:56:05 +0000
commiteaa82c2132d827154f0cbb3f461f473af25f02cf (patch)
treeb82ede8e28a1dc567a45295c9c071f68f73c461e /share/mk
parent183d257e2376130a3ffff82b7f60a030024051fd (diff)
downloadFreeBSD-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.
Diffstat (limited to 'share/mk')
-rw-r--r--share/mk/bsd.lib.mk35
-rw-r--r--share/mk/bsd.symver.mk42
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>__)
OpenPOWER on IntegriCloud