summaryrefslogtreecommitdiff
path: root/sys/arch
diff options
context:
space:
mode:
authorTheo de Raadt <deraadt@cvs.openbsd.org>2010-05-31 22:21:45 +0000
committerTheo de Raadt <deraadt@cvs.openbsd.org>2010-05-31 22:21:45 +0000
commit5a95f7ec91d73027a0cb3cfad969e67da84aa980 (patch)
tree3dc0482b21e6cce79dc71912a2fac336fe24694c /sys/arch
parenta28226240cd918c9b04e30eb6121cf4a6b7f5e5a (diff)
Completely rewrite the tags file creation process. use config(8) against
a fat kernel (GERERIC or GENERIC.MP) into a temporary dir, then extract some variables using make -V, and after some more singing and dancing use this full and (more) correct list of files with ctags. Don't read this code. ok guenther
Diffstat (limited to 'sys/arch')
-rw-r--r--sys/arch/alpha/Makefile67
-rw-r--r--sys/arch/amd64/Makefile60
-rw-r--r--sys/arch/armish/Makefile66
-rw-r--r--sys/arch/aviion/Makefile57
-rw-r--r--sys/arch/beagle/Makefile69
-rw-r--r--sys/arch/gumstix/Makefile67
-rw-r--r--sys/arch/hp300/Makefile71
-rw-r--r--sys/arch/hppa/Makefile65
-rw-r--r--sys/arch/hppa64/Makefile63
-rw-r--r--sys/arch/i386/Makefile64
-rw-r--r--sys/arch/landisk/Makefile62
-rw-r--r--sys/arch/loongson/Makefile64
-rw-r--r--sys/arch/luna88k/Makefile57
-rw-r--r--sys/arch/m68k/Makefile31
-rw-r--r--sys/arch/mac68k/Makefile70
-rw-r--r--sys/arch/macppc/Makefile65
-rw-r--r--sys/arch/mvme68k/Makefile72
-rw-r--r--sys/arch/mvme88k/Makefile72
-rw-r--r--sys/arch/mvmeppc/Makefile63
-rw-r--r--sys/arch/palm/Makefile68
-rw-r--r--sys/arch/sgi/Makefile60
-rw-r--r--sys/arch/socppc/Makefile66
-rw-r--r--sys/arch/solbourne/Makefile71
-rw-r--r--sys/arch/sparc/Makefile75
-rw-r--r--sys/arch/sparc64/Makefile62
-rw-r--r--sys/arch/vax/Makefile45
-rw-r--r--sys/arch/zaurus/Makefile66
27 files changed, 951 insertions, 767 deletions
diff --git a/sys/arch/alpha/Makefile b/sys/arch/alpha/Makefile
index d1e3cd4c10b..55bc5190ddf 100644
--- a/sys/arch/alpha/Makefile
+++ b/sys/arch/alpha/Makefile
@@ -1,38 +1,43 @@
-# $OpenBSD: Makefile,v 1.7 2005/05/24 20:12:02 uwe Exp $
-# $NetBSD: Makefile,v 1.3 1995/02/27 16:36:07 cgd Exp $
-
-# Makefile for alpha tags file and boot blocks
-
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
-
-NOPROG= noprog
-NOMAN= noman
-
+# $OpenBSD: Makefile,v 1.8 2010/05/31 22:21:43 deraadt Exp $
+
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
SUBDIR= stand
-TALPHA= $S/arch/alpha/tags
-SALPHA= $S/arch/alpha/alpha/*.[ch] $S/arch/alpha/include/*.h \
- $S/arch/alpha/tc/*.[ch] $S/arch/alpha/dev/*.[ch] \
- $S/arch/alpha/eisa/*.[ch] $S/arch/alpha/isa/*.[ch] \
- $S/arch/alpha/pci/*.[ch]
-AALPHA= $S/arch/alpha/alpha/*.[sS] $S/arch/alpha/pci/*.[Ss] \
- $S/lib/libkern/arch/alpha/*.[sS]
-
-# Directories in which to place alpha tags links
-DALPHA= alpha eisa isa dev pci tc include
-
-tags:
- -ctags -wdtf ${TALPHA} ${COMM} ${SALPHA}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${AALPHA} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${TALPHA}
- sort -o ${TALPHA} ${TALPHA}
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
links:
- -for i in ${DALPHA}; do \
- (cd $$i && { rm -f tags; ln -s ${TALPHA} tags; }) done
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
-obj: _SUBDIRUSE
+obj: _SUBDIRUSE
.include <bsd.prog.mk>
diff --git a/sys/arch/amd64/Makefile b/sys/arch/amd64/Makefile
index c6cd2a5ce33..7dc06a8beb7 100644
--- a/sys/arch/amd64/Makefile
+++ b/sys/arch/amd64/Makefile
@@ -1,32 +1,42 @@
-# $OpenBSD: Makefile,v 1.5 2006/09/27 09:13:31 grange Exp $
-
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
-
-NOPROG= noprog
-NOMAN= noman
-
+# $OpenBSD: Makefile,v 1.6 2010/05/31 22:21:43 deraadt Exp $
+
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
SUBDIR= stand
-TAMD64= $S/arch/amd64/tags
-SAMD64= $S/arch/amd64/amd64/*.[ch] \
- $S/arch/amd64/include/*.h \
- $S/arch/amd64/isa/*.[ch] $S/arch/amd64/pci/*.[ch]
-AAMD64= $S/arch/amd64/amd64/*.[sS] $S/lib/libkern/arch/amd64/*.[sS]
-
-# Directories in which to place amd64 tags links
-DAMD64= conf amd64 include isa pci
-
-tags:
- -ctags -wdtf ${TAMD64} ${COMM} ${SAMD64}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${AAMD64} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${TAMD64}
- sort -o ${TAMD64} ${TAMD64}
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
links:
- -for i in ${DAMD64}; do \
- (cd $$i && rm -f tags; ln -s ${TAMD64} tags); done
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
obj: _SUBDIRUSE
diff --git a/sys/arch/armish/Makefile b/sys/arch/armish/Makefile
index ae6960f8c42..aa3504e3aec 100644
--- a/sys/arch/armish/Makefile
+++ b/sys/arch/armish/Makefile
@@ -1,38 +1,42 @@
-# $OpenBSD: Makefile,v 1.1 2006/05/29 17:22:48 drahn Exp $
-# $NetBSD: Makefile,v 1.1 2001/06/12 08:32:46 chris Exp $
-
-# Makefile for armish tags file and boot blocks
-
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
-
+# $OpenBSD: Makefile,v 1.2 2010/05/31 22:21:43 deraadt Exp $
+
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
SUBDIR= stand
-NOPROG= noprog
-NOMAN= noman
-
-TARMISH= $S/arch/armish/tags
-
-SARMISH= $S/arch/armish/dev/*.[ch] $S/arch/armish/include/*.h \
- $S/arch/armish/armish/*.[ch] $S/arch/arm/arm/*.[ch] \
- $S/arch/arm/include/*.h $S/arch/arm/mainbus/*.[ch] \
- $S/arch/arm/sa11x0/*.[ch] $S/arch/arm/xscale/*.[ch]
-AARMISH= $S/arch/armish/armish/*.S $S/arch/arm/arm/*.S \
- $S/arch/arm/mainbus/*.S $S/arch/arm/xscale/*.S
-
-# Directories in which to place tags links
-DARMISH= dev include armish
-
-tags:
- -ctags -wdtf ${TARMISH} ${SARMISH} ${COMM}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${AARMISH} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${TARMISH}
- sort -o ${TARMISH} ${TARMISH}
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
links:
- -for i in ${DARMISH}; do \
- (cd $$i && { rm -f tags; ln -s ${TARMISH} tags; }) done
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
obj: _SUBDIRUSE
diff --git a/sys/arch/aviion/Makefile b/sys/arch/aviion/Makefile
index 5d56739e154..7d5caa180fe 100644
--- a/sys/arch/aviion/Makefile
+++ b/sys/arch/aviion/Makefile
@@ -1,33 +1,42 @@
-# $OpenBSD: Makefile,v 1.2 2006/05/09 21:15:18 deraadt Exp $
+# $OpenBSD: Makefile,v 1.3 2010/05/31 22:21:43 deraadt Exp $
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
NOPROG=
NOMAN=
-NOOBJ=
-
-SUBDIR= stand
-
-TAVIION= $S/arch/aviion/tags
-SAVIION= $S/arch/aviion/aviion/*.[ch] \
- $S/arch/aviion/dev/*.[ch] \
- $S/arch/aviion/include/*.h
-AAVIION= $S/arch/aviion/aviion/*.[sS]
-
-# Directories in which to place aviion tags links
-DAVIION= conf dev aviion include
-
-tags:
- -ctags -wdtf ${TAVIION} ${COMM} ${SAVIION}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${AAVIION} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${TAVIION}
- sort -o ${TAVIION} ${TAVIION}
+SUBDIR= stand
+
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
links:
- -for i in ${DAVIION}; do \
- (cd $$i && rm -f tags; ln -s ${TAVIION} tags); done
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
obj: _SUBDIRUSE
diff --git a/sys/arch/beagle/Makefile b/sys/arch/beagle/Makefile
index 31ca4118a6d..aa3504e3aec 100644
--- a/sys/arch/beagle/Makefile
+++ b/sys/arch/beagle/Makefile
@@ -1,37 +1,42 @@
-# $OpenBSD: Makefile,v 1.1 2010/02/13 18:23:42 drahn Exp $
-# $NetBSD: Makefile,v 1.1 2001/06/12 08:32:46 chris Exp $
-
-# Makefile for beagle tags file and boot blocks
-
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
-
-#SUBDIR= stand
-
-NOPROG= noprog
-NOMAN= noman
-
-TBEAGLE= $S/arch/beagle/tags
-
-SBEAGLE= $S/arch/beagle/dev/*.[ch] $S/arch/beagle/include/*.h \
- $S/arch/beagle/beagle/*.[ch] $S/arch/arm/arm/*.[ch] \
- $S/arch/arm/include/*.h $S/arch/arm/mainbus/*.[ch]
-ABEAGLE= $S/arch/beagle/beagle/*.S $S/arch/arm/arm/*.S \
- $S/arch/arm/mainbus/*.S
-
-# Directories in which to place tags links
-DBEAGLE= dev include beagle
-
-tags:
- -ctags -wdtf ${TBEAGLE} ${SBEAGLE} ${COMM}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${ABEAGLE} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${TBEAGLE}
- sort -o ${TBEAGLE} ${TBEAGLE}
+# $OpenBSD: Makefile,v 1.2 2010/05/31 22:21:43 deraadt Exp $
+
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
+SUBDIR= stand
+
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
links:
- -for i in ${DBEAGLE}; do \
- (cd $$i && { rm -f tags; ln -s ${TBEAGLE} tags; }) done
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
obj: _SUBDIRUSE
diff --git a/sys/arch/gumstix/Makefile b/sys/arch/gumstix/Makefile
index e4d70a5f041..7d5caa180fe 100644
--- a/sys/arch/gumstix/Makefile
+++ b/sys/arch/gumstix/Makefile
@@ -1,39 +1,42 @@
-# $OpenBSD: Makefile,v 1.2 2008/11/27 20:50:34 miod Exp $
-# $NetBSD: Makefile,v 1.1 2001/06/12 08:32:46 chris Exp $
-
-# Makefile for gumstix tags file and boot blocks
-
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
-
+# $OpenBSD: Makefile,v 1.3 2010/05/31 22:21:43 deraadt Exp $
+
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
SUBDIR= stand
-NOPROG= noprog
-NOMAN= noman
-
-TGUMSTIX= $S/arch/gumstix/tags
-
-SGUMSTIX= $S/arch/gumstix/include/*.h \
- $S/arch/gumstix/gumstix/*.[ch] $S/arch/arm/arm/*.[ch] \
- $S/arch/arm/include/*.h $S/arch/arm/mainbus/*.[ch] \
- $S/arch/arm/sa11x0/*.[ch] $S/arch/arm/xscale/*.[ch] \
- $S/arch/arm/s3c2xx0/*.[ch]
-AGUMSTIX= $S/arch/gumstix/gumstix/*.S $S/arch/arm/arm/*.S \
- $S/arch/arm/mainbus/*.S $S/arch/arm/xscale/*.S
-
-# Directories in which to place tags links
-DGUMSTIX= include gumstix
-
-tags:
- -ctags -wdtf ${TGUMSTIX} ${SGUMSTIX} ${COMM}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${AGUMSTIX} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${TGUMSTIX}
- sort -o ${TGUMSTIX} ${TGUMSTIX}
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
links:
- -for i in ${DGUMSTIX}; do \
- (cd $$i && { rm -f tags; ln -s ${TGUMSTIX} tags; }) done
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
obj: _SUBDIRUSE
diff --git a/sys/arch/hp300/Makefile b/sys/arch/hp300/Makefile
index e47c4ba6b9f..0170779dc28 100644
--- a/sys/arch/hp300/Makefile
+++ b/sys/arch/hp300/Makefile
@@ -1,38 +1,43 @@
-# $OpenBSD: Makefile,v 1.8 2005/05/06 11:16:47 pedro Exp $
-# $NetBSD: Makefile,v 1.5 1995/08/04 07:40:31 thorpej Exp $
-# @(#)Makefile 7.3 (Berkeley) 6/9/91
-
-# Makefile for hp300 tags file and boot blocks
-
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
-
-NOPROG= noprog
-NOMAN= noman
-
-SUBDIR= stand ../m68k
-
-THP300= $S/arch/hp300/tags
-SHP300= $S/arch/m68k/m68k/*.c $S/arch/m68k/include/*.h \
- $S/arch/hp300/hp300/*.[ch] $S/arch/hp300/include/*.h \
- $S/arch/hp300/dev/*.[ch]
-AHP300= $S/arch/m68k/m68k/*.[Ss] $S/arch/hp300/hp300/*.[Ss] \
- $S/lib/libkern/arch/m68k/*.[sS]
-
-# Directories in which to place hp300 tags links
-DHP300= conf dev hp300 include
-
-tags:
- -ctags -wdtf ${THP300} ${COMM} ${SHP300}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${AHP300} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${THP300}
- sort -o ${THP300} ${THP300}
+# $OpenBSD: Makefile,v 1.9 2010/05/31 22:21:43 deraadt Exp $
+
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
+SUBDIR= stand
+
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
links:
- -for i in ${DHP300}; do \
- (cd $$i && rm -f tags; ln -s ${THP300} tags); done
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
-obj: _SUBDIRUSE
+obj: _SUBDIRUSE
.include <bsd.prog.mk>
diff --git a/sys/arch/hppa/Makefile b/sys/arch/hppa/Makefile
index 0a219dbdd5c..3c14f2b708b 100644
--- a/sys/arch/hppa/Makefile
+++ b/sys/arch/hppa/Makefile
@@ -1,36 +1,43 @@
-# $OpenBSD: Makefile,v 1.6 2005/05/06 11:16:47 pedro Exp $
-
-# Makefile for hppa tags file and boot blocks
-
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
-
-NOPROG= noprog
-NOMAN= noman
-
+# $OpenBSD: Makefile,v 1.7 2010/05/31 22:21:43 deraadt Exp $
+
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
SUBDIR= stand
-THPPA= $S/arch/hppa/tags
-SHPPA= $S/arch/hppa/hppa/*.[ch] $S/arch/hppa/include/*.h \
- $S/arch/hppa/dev/*.[ch] $S/arch/hppa/gsc/*.[ch] \
- $S/arch/hppa/spmath/*.[ch]
-AHPPA= $S/arch/hppa/hppa/*.S $S/arch/hppa/spmath/*.S \
- $S/lib/libkern/arch/hppa/*.[sS]
-
-# Directories in which to place hppa tags links
-DHPPA= conf dev gsc hppa spmath include
-
-tags:
- -ctags -wdtf ${THPPA} ${COMM} ${SHPPA}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${AHPPA} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${THPPA}
- sort -o ${THPPA} ${THPPA}
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
links:
- -for i in ${DHPPA}; do \
- (cd $$i && rm -f tags; ln -s ${THPPA} tags); done
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
-obj: _SUBDIRUSE
+obj: _SUBDIRUSE
.include <bsd.prog.mk>
diff --git a/sys/arch/hppa64/Makefile b/sys/arch/hppa64/Makefile
index d9f644b4b0f..e002c6a73ba 100644
--- a/sys/arch/hppa64/Makefile
+++ b/sys/arch/hppa64/Makefile
@@ -1,34 +1,43 @@
-# $OpenBSD: Makefile,v 1.3 2005/05/06 11:16:47 pedro Exp $
-
-# Makefile for hppa64 tags file and boot blocks
-
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
-
-NOPROG= noprog
-NOMAN= noman
-
+# $OpenBSD: Makefile,v 1.4 2010/05/31 22:21:43 deraadt Exp $
+
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
SUBDIR= stand
-THPPA= $S/arch/hppa64/tags
-SHPPA= $S/arch/hppa64/hppa64/*.[ch] $S/arch/hppa64/include/*.h \
- $S/arch/hppa64/dev/*.[ch]
-AHPPA= $S/arch/hppa64/hppa64/*.S $S/lib/libkern/arch/hppa64/*.[sS]
-
-# Directories in which to place hppa64 tags links
-DHPPA= conf dev hppa64 include
-
-tags:
- -ctags -wdtf ${THPPA} ${COMM} ${SHPPA}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${AHPPA} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${THPPA}
- sort -o ${THPPA} ${THPPA}
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
links:
- -for i in ${DHPPA}; do \
- (cd $$i && rm -f tags; ln -s ${THPPA} tags); done
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
-obj: _SUBDIRUSE
+obj: _SUBDIRUSE
.include <bsd.prog.mk>
diff --git a/sys/arch/i386/Makefile b/sys/arch/i386/Makefile
index f36d3c13785..209d766fd9f 100644
--- a/sys/arch/i386/Makefile
+++ b/sys/arch/i386/Makefile
@@ -1,35 +1,43 @@
-# $OpenBSD: Makefile,v 1.17 2007/10/22 01:26:31 deraadt Exp $
-# $NetBSD: Makefile,v 1.6 1996/02/01 22:31:28 mycroft Exp $
-# @(#)Makefile 7.3 (Berkeley) 6/9/91
-
-# Makefile for i386 tags file and boot blocks
-
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
-
+# $OpenBSD: Makefile,v 1.18 2010/05/31 22:21:43 deraadt Exp $
+
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
SUBDIR= stand
-TI386= $S/arch/i386/tags
-SI386= $S/arch/i386/eisa/*.[ch] $S/arch/i386/i386/*.[ch] \
- $S/arch/i386/include/*.h $S/arch/i386/include/pc/*.h \
- $S/arch/i386/isa/*.[ch] $S/arch/i386/pci/*.[ch]
-AI386= $S/arch/i386/i386/*.[sS] $S/arch/i386/isa/*.[sS] \
- $S/lib/libkern/arch/i386/*.[sS]
-
-# Directories in which to place i386 tags links
-DI386= conf eisa i386 include isa pci
-
-tags:
- -ctags -wdtf ${TI386} ${COMM} ${SI386}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${AI386} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${TI386}
- sort -o ${TI386} ${TI386}
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
links:
- -for i in ${DI386}; do \
- (cd $$i && rm -f tags; ln -s ${TI386} tags); done
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
obj: _SUBDIRUSE
-.include <bsd.subdir.mk>
+.include <bsd.prog.mk>
diff --git a/sys/arch/landisk/Makefile b/sys/arch/landisk/Makefile
index f03e75b5bb6..7d5caa180fe 100644
--- a/sys/arch/landisk/Makefile
+++ b/sys/arch/landisk/Makefile
@@ -1,29 +1,43 @@
-# $OpenBSD: Makefile,v 1.2 2007/10/22 01:26:17 deraadt Exp $
-# $NetBSD: Makefile,v 1.1 2006/09/01 21:26:18 uwe Exp $
-
-# Makefile for landisk tags file and boot blocks
-
-S=${.CURDIR}/../..
-.include "../../kern/Make.tags.inc"
-
+# $OpenBSD: Makefile,v 1.3 2010/05/31 22:21:43 deraadt Exp $
+
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
SUBDIR= stand
-TLANDISK= ../landisk/tags
-SLANDISK= ../landisk/landisk/*.[ch] ../landisk/include/*.h
-ALANDISK= ../landisk/landisk/*.[sS]
-
-# Directories in which to place tags links
-DLANDISK= landisk include
-
-tags:
- -ctags -wdtf ${TLANDISK} ${SLANDISK} ${COMM}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${ALANDISK} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${TLANDISK}
- sort -o ${TLANDISK} ${TLANDISK}
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
links:
- -for i in ${DLANDISK}; do \
- (cd $$i && rm -f tags; ln -s ../tags tags); done
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
+
+obj: _SUBDIRUSE
-.include <bsd.subdir.mk>
+.include <bsd.prog.mk>
diff --git a/sys/arch/loongson/Makefile b/sys/arch/loongson/Makefile
index 698ee4de761..aa3504e3aec 100644
--- a/sys/arch/loongson/Makefile
+++ b/sys/arch/loongson/Makefile
@@ -1,36 +1,42 @@
-# $OpenBSD: Makefile,v 1.1 2010/02/14 22:39:31 miod Exp $
-
-# Makefile for loongson tags file and boot blocks
-
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
-
+# $OpenBSD: Makefile,v 1.2 2010/05/31 22:21:43 deraadt Exp $
+
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
SUBDIR= stand
-NOPROG= noprog
-NOMAN= noman
-
-TLOONGSON= $S/arch/loongson/tags
-
-SLOONGSON= $S/arch/loongson/dev/*.[ch] $S/arch/loongson/include/*.h \
- $S/arch/loongson/loongson/*.[ch] \
- $S/arch/mips64/dev/*.[ch] $S/arch/mips64/include/*.h \
- $S/arch/mips64/mips64/*.[ch]
-ALOONGSON= $S/arch/loongson/loongson/*.S $S/arch/mips64/mips64/*.S
-
-# Directories in which to place tags links
-DLOONGSON= dev include loongson
-
-tags:
- -ctags -wdtf ${TLOONGSON} ${SLOONGSON} ${COMM}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${ALOONGSON} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${TLOONGSON}
- sort -o ${TLOONGSON} ${TLOONGSON}
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
links:
- -for i in ${DLOONGSON}; do \
- (cd $$i && { rm -f tags; ln -s ${TLOONGSON} tags; }) done
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
obj: _SUBDIRUSE
diff --git a/sys/arch/luna88k/Makefile b/sys/arch/luna88k/Makefile
index f4ee4fdde19..de598b15748 100644
--- a/sys/arch/luna88k/Makefile
+++ b/sys/arch/luna88k/Makefile
@@ -1,33 +1,42 @@
-# $OpenBSD: Makefile,v 1.5 2006/09/27 09:13:31 grange Exp $
+# $OpenBSD: Makefile,v 1.6 2010/05/31 22:21:43 deraadt Exp $
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
NOPROG=
NOMAN=
-NOOBJ=
-
-SUBDIR=
-
-TLUNA88K= $S/arch/luna88k/tags
-SLUNA88K= $S/arch/luna88k/luna88k/*.[ch] \
- $S/arch/luna88k/dev/*.[ch] \
- $S/arch/luna88k/include/*.h
-ALUNA88K= $S/arch/luna88k/luna88k/*.[sS]
-
-# Directories in which to place luna88k tags links
-DLUNA88K= conf dev include luna88k
-
-tags:
- -ctags -wdtf ${TLUNA88K} ${COMM} ${SLUNA88K}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${ALUNA88K} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${TLUNA88K}
- sort -o ${TLUNA88K} ${TLUNA88K}
+SUBDIR=
+
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
links:
- -for i in ${DLUNA88K}; do \
- (cd $$i && rm -f tags; ln -s ${TLUNA88K} tags); done
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
obj: _SUBDIRUSE
diff --git a/sys/arch/m68k/Makefile b/sys/arch/m68k/Makefile
index f06ceb52593..06c9597af5a 100644
--- a/sys/arch/m68k/Makefile
+++ b/sys/arch/m68k/Makefile
@@ -1,32 +1,5 @@
-# $OpenBSD: Makefile,v 1.10 2007/10/18 18:08:02 deraadt Exp $
-
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
-
-SUBDIR+= 060sp fpsp
-
-TM68K= $S/arch/m68k/tags
-SM68K= $S/arch/m68k/m68k/*.[ch] \
- $S/arch/m68k/include/*.h
-AM68K= $S/arch/m68k/m68k/*.[sS] \
- $S/lib/libkern/arch/m68k/*.[sS] \
- $S/arch/m68k/fpsp/*.sa \
- $S/arch/m68k/060sp/*.[sS] \
- $S/arch/m68k/060sp/*.sa \
-
-# Directories in which to place m68k tags links
-DM68K= conf m68k include pci
-
-tags:
- -ctags -wdtf ${TM68K} ${COMM} ${SM68K}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${AM68K} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${TM68K}
- sort -o ${TM68K} ${TM68K}
-
-links:
- -for i in ${DM68K}; do \
- cd $$i && rm -f tags; ln -s ${TM68K} tags; done
+# $OpenBSD: Makefile,v 1.11 2010/05/31 22:21:43 deraadt Exp $
+SUBDIR= 060sp fpsp
.include <bsd.subdir.mk>
diff --git a/sys/arch/mac68k/Makefile b/sys/arch/mac68k/Makefile
index 3672a478386..8ac13d2bacd 100644
--- a/sys/arch/mac68k/Makefile
+++ b/sys/arch/mac68k/Makefile
@@ -1,38 +1,42 @@
-# $OpenBSD: Makefile,v 1.6 2005/05/06 11:16:47 pedro Exp $
-# $NetBSD: Makefile,v 1.3 1996/03/27 03:56:22 scottr Exp $
-
-# @(#)Makefile 7.3 (Berkeley) 6/9/91
-
-# Makefile for mac68k tags file
-
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
-
-NOPROG= noprog
-NOMAN= noman
-
-TMAC68K=$S/arch/mac68k/tags
-SMAC68K=$S/arch/m68k/m68k/*.c $S/arch/m68k/include/*.h \
- $S/arch/mac68k/mac68k/*.[ch] $S/arch/mac68k/include/*.h \
- $S/arch/mac68k/dev/*.[ch]
-AMAC68K=$S/arch/m68k/m68k/*.s $S/arch/mac68k/mac68k/*.s \
- $S/lib/libkern/arch/m68k/*.[sS]
-
-SUBDIR=../m68k
-
-# Directories in which to place mac68k tags links
-DMAC68K= mac68k dev include
-
-tags:
- -ctags -wdtf ${TMAC68K} ${COMM} ${SMAC68K}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${AMAC68K} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${TMAC68K}
- sort -o ${TMAC68K} ${TMAC68K}
+# $OpenBSD: Makefile,v 1.7 2010/05/31 22:21:43 deraadt Exp $
+
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
+SUBDIR=
+
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
links:
- -for i in ${DMAC68K}; do \
- cd $$i && rm -f tags; ln -s ${TMAC68K} tags; done
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
obj: _SUBDIRUSE
diff --git a/sys/arch/macppc/Makefile b/sys/arch/macppc/Makefile
index f52a9627808..7dc06a8beb7 100644
--- a/sys/arch/macppc/Makefile
+++ b/sys/arch/macppc/Makefile
@@ -1,37 +1,42 @@
-# $OpenBSD: Makefile,v 1.5 2007/06/11 16:27:49 thib Exp $
+# $OpenBSD: Makefile,v 1.6 2010/05/31 22:21:43 deraadt Exp $
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
-
-NOPROG= noprog
-NOMAN= noman
-
-.if ${MACHINE} == "macppc"
-SUBDIR= stand
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
.endif
-
-TMACPPC= $S/arch/macppc/tags
-SMACPPC= $S/arch/macppc/macppc/*.[ch] \
- $S/arch/macppc/include/*.h \
- $S/arch/macppc/dev/*.[ch] \
- $S/arch/macppc/pci/*.[ch] \
- $S/arch/powerpc/include/*.h
-AMACPPC= $S/arch/macppc/macppc/*.[sS]
-
-# Directories in which to place macppc tags links
-DMACPPC= conf macppc include pci
-
-tags:
- -ctags -wdtf ${TMACPPC} ${COMM} ${SMACPPC}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${AMACPPC} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${TMACPPC}
- sort -o ${TMACPPC} ${TMACPPC}
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
+SUBDIR= stand
+
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
links:
- -for i in ${DMACPPC}; do \
- cd $$i && rm -f tags; ln -s ${TMACPPC} tags; done
-
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
obj: _SUBDIRUSE
diff --git a/sys/arch/mvme68k/Makefile b/sys/arch/mvme68k/Makefile
index a96df53b542..5ca5a7da12e 100644
--- a/sys/arch/mvme68k/Makefile
+++ b/sys/arch/mvme68k/Makefile
@@ -1,36 +1,42 @@
-# $OpenBSD: Makefile,v 1.10 2005/05/06 11:16:48 pedro Exp $
-
-# from: @(#)Makefile 8.1 (Berkeley) 6/11/93
-#
-# Makefile for mvme68k links, tags file
-
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
-
-NOPROG= noprog
-NOMAN= noman
-NOOBJ= noobj
-
-TMVEM68K= $S/arch/mvme68k/tags
-SUBDIR= stand ../m68k
-DIRS= conf dev include mvme68k
-
-links::
- -for i in ${DIRS}; do \
- echo $$i ; \
- cd ${.CURDIR} ; \
- (cd $$i && { rm -f tags; ln -s ${SYSTAGS} tags; }) done
-
-SMVME68K=$S/arch/mvme68k/dev/*.[ch] $S/arch/mvme68k/include/*.[ch] \
- $S/arch/mvme68k/mvme68k/*.[ch]
-AMVME68K=$S/arch/mvme68k/mvme68k/*.s $S/lib/libkern/arch/m68k/*.[sS]
-
-tags:
- -ctags -wdtf ${TMVEM68K} ${COMM} ${SMVME68K}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${AMVME68K} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> tags
- sort -o ${TMVEM68K} ${TMVEM68K}
+# $OpenBSD: Makefile,v 1.11 2010/05/31 22:21:43 deraadt Exp $
+
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
+SUBDIR= stand
+
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
+
+links:
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
obj: _SUBDIRUSE
diff --git a/sys/arch/mvme88k/Makefile b/sys/arch/mvme88k/Makefile
index bd54b47ad11..faefde126a4 100644
--- a/sys/arch/mvme88k/Makefile
+++ b/sys/arch/mvme88k/Makefile
@@ -1,36 +1,42 @@
-# $OpenBSD: Makefile,v 1.6 2005/05/06 11:16:48 pedro Exp $
-
-# from: @(#)Makefile 8.1 (Berkeley) 6/11/93
-#
-# Makefile for mvme88k links, tags file
-
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
-
-NOPROG= noprog
-NOMAN= noman
-NOOBJ= noobj
-
-TMVME88K=${.CURDIR}/tags
-SUBDIR= stand
-DIRS= conf dev include mvme88k
-
-links::
- -for i in ${DIRS}; do \
- echo $$i ; \
- cd ${.CURDIR} ; \
- (cd $$i && { rm -f tags; ln -s ${TMVME88K} tags; }) done
-
-SMVME88K=$S/arch/mvme88k/dev/*.[ch] $S/arch/mvme88k/include/*.[ch] \
- $S/arch/mvme88k/mvme88k/*.[ch]
-AMVME88K=$S/arch/mvme88k/mvme88k/*.[sS]
-
-tags:
- -ctags -wdtf ${TMVME88K} ${COMM} ${SMVME88K}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${AMVME88K} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${TMVME88K}
- sort -o ${TMVME88K} ${TMVME88K}
+# $OpenBSD: Makefile,v 1.7 2010/05/31 22:21:44 deraadt Exp $
+
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
+SUBDIR= stand
+
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
+
+links:
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
obj: _SUBDIRUSE
diff --git a/sys/arch/mvmeppc/Makefile b/sys/arch/mvmeppc/Makefile
index 4e17fd037e4..798edf4d95f 100644
--- a/sys/arch/mvmeppc/Makefile
+++ b/sys/arch/mvmeppc/Makefile
@@ -1,35 +1,42 @@
-# $OpenBSD: Makefile,v 1.3 2005/05/06 11:16:48 pedro Exp $
+# $OpenBSD: Makefile,v 1.4 2010/05/31 22:21:44 deraadt Exp $
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
-
-NOPROG= noprog
-NOMAN= noman
-
-.if ${MACHINE} == "mvmeppc"
-SUBDIR= stand
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
.endif
-
-TMVMEPPC= $S/arch/mvmeppc/tags
-SMVMEPPC= $S/arch/mvmeppc/mvmeppc/*.[ch] \
- $S/arch/mvmeppc/include/*.h \
- $S/arch/mvmeppc/isa/*.[ch] \
- $S/arch/mvmeppc/pci/*.[ch]
-AMVMEPPC= $S/arch/mvmeppc/mvmeppc/*.[sS]
-
-# Directories in which to place mvmeppc tags links
-DMVMEPPC= conf mvmeppc include isa pci
-
-tags:
- -ctags -wdtf ${TMVMEPPC} ${COMM} ${SMVMEPPC}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${AMVMEPPC} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${TMVMEPPC}
- sort -o ${TMVMEPPC} ${TMVMEPPC}
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
+SUBDIR= stand
+
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
links:
- -for i in ${DMVMEPPC}; do \
- cd $$i && rm -f tags; ln -s ${TMVMEPPC} tags; done
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
obj: _SUBDIRUSE
diff --git a/sys/arch/palm/Makefile b/sys/arch/palm/Makefile
index 182ab41dd5d..baafa9cfb8d 100644
--- a/sys/arch/palm/Makefile
+++ b/sys/arch/palm/Makefile
@@ -1,36 +1,42 @@
-# $OpenBSD: Makefile,v 1.1 2009/09/05 01:22:11 marex Exp $
-# $NetBSD: Makefile,v 1.1 2001/06/12 08:32:46 chris Exp $
-
-# Makefile for palm tags file and boot blocks
-
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
-
-NOPROG= noprog
-NOMAN= noman
-
-TPALM= $S/arch/palm/tags
-
-SPALM= $S/arch/palm/include/*.h \
- $S/arch/palm/palm/*.[ch] $S/arch/arm/arm/*.[ch] \
- $S/arch/arm/include/*.h $S/arch/arm/mainbus/*.[ch] \
- $S/arch/arm/sa11x0/*.[ch] $S/arch/arm/xscale/*.[ch]
-APALM= $S/arch/palm/palm/*.S $S/arch/arm/arm/*.S \
- $S/arch/arm/mainbus/*.S $S/arch/arm/xscale/*.S
-
-# Directories in which to place tags links
-DPALM= include palm
-
-tags:
- -ctags -wdtf ${TPALM} ${SPALM} ${COMM}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${APALM} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${TPALM}
- sort -o ${TPALM} ${TPALM}
+# $OpenBSD: Makefile,v 1.2 2010/05/31 22:21:44 deraadt Exp $
+
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
+SUBDIR=
+
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
links:
- -for i in ${DPALM}; do \
- (cd $$i && { rm -f tags; ln -s ${TPALM} tags; }) done
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
obj: _SUBDIRUSE
diff --git a/sys/arch/sgi/Makefile b/sys/arch/sgi/Makefile
index 31ad6f39c44..601c8fdcfe3 100644
--- a/sys/arch/sgi/Makefile
+++ b/sys/arch/sgi/Makefile
@@ -1,32 +1,42 @@
-# $OpenBSD: Makefile,v 1.3 2005/05/06 11:16:48 pedro Exp $
-
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
-
+# $OpenBSD: Makefile,v 1.4 2010/05/31 22:21:44 deraadt Exp $
+
+S= ${.CURDIR}/../..
+KFILE= GENERIC-IP30
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC-IP30.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
SUBDIR= stand
-NOPROG= noprog
-NOOBJ= noman
-
-TSGI= $S/arch/sgi/tags
-SSGI= $S/arch/sgi/sgi/*.[ch] \
- $S/arch/sgi/include/*.h \
- $S/arch/sgi/pci/*.[ch]
-ASGI= $S/arch/sgi/sgi/*.[sS]
-
-# Directories in which to place sgi tags links
-DSGI= conf sgi include pci
-
-tags:
- -ctags -wdtf ${TSGI} ${COMM} ${SSGI}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${ASGI} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${TSGI}
- sort -o ${TSGI} ${TSGI}
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
links:
- -for i in ${DSGI}; do \
- cd $$i && rm -f tags; ln -s ${TSGI} tags; done
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
obj: _SUBDIRUSE
diff --git a/sys/arch/socppc/Makefile b/sys/arch/socppc/Makefile
index b1b106713f8..798edf4d95f 100644
--- a/sys/arch/socppc/Makefile
+++ b/sys/arch/socppc/Makefile
@@ -1,34 +1,42 @@
-# $OpenBSD: Makefile,v 1.3 2008/05/26 18:19:46 kettenis Exp $
-
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
-
-NOPROG= noprog
-NOMAN= noman
-
-SUBDIR= stand
-
-TSOCPPC= $S/arch/socppc/tags
-SSOCPPC= $S/arch/socppc/socppc/*.[ch] \
- $S/arch/socppc/include/*.h \
- $S/arch/socppc/dev/*.[ch] \
- $S/arch/powerpc/include/*.h
-ASOCPPC= $S/arch/socppc/socppc/*.[sS]
-
-# Directories in which to place socppc tags links
-DSOCPPC= conf socppc include
-
-tags:
- -ctags -wdtf ${TSOCPPC} ${COMM} ${SSOCPPC}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${ASOCPPC} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${TSOCPPC}
- sort -o ${TSOCPPC} ${TSOCPPC}
+# $OpenBSD: Makefile,v 1.4 2010/05/31 22:21:44 deraadt Exp $
+
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
+SUBDIR= stand
+
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
links:
- -for i in ${DSOCPPC}; do \
- cd $$i && rm -f tags; ln -s ${TSOCPPC} tags; done
-
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
obj: _SUBDIRUSE
diff --git a/sys/arch/solbourne/Makefile b/sys/arch/solbourne/Makefile
index 18aea26ce62..68b06186fb6 100644
--- a/sys/arch/solbourne/Makefile
+++ b/sys/arch/solbourne/Makefile
@@ -1,36 +1,43 @@
-# $OpenBSD: Makefile,v 1.3 2006/04/15 17:35:11 miod Exp $
-# $NetBSD: Makefile,v 1.4 1996/03/25 22:48:09 mrg Exp $
-
-#
-# Makefile for solbourne links, tags file
-
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
-
+# $OpenBSD: Makefile,v 1.4 2010/05/31 22:21:44 deraadt Exp $
+
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
SUBDIR=
-NOPROG= noprog
-NOMAN= noman
-
-TSOLBOURNE= $S/arch/solbourne/tags
-DIRS= conf include dev solourne
-
-links::
- -for i in ${DIRS}; do \
- (cd $$i && { rm -f tags; ln -s ${TSOLBOURNE} tags; }) done
-
-SOLBOURNE= $S/arch/solbourne/dev/*.[ch] \
- $S/arch/solbourne/include/*.[ch] $S/arch/solbourne/solbourne/*.[ch]
-ASOLBOURNE= $S/arch/solbourne/solbourne/*.[sS]
-
-tags:
- -ctags -wdtf ${TSOLBOURNE} ${COMM} ${SOLBOURNE}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${ASOLBOURNE} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${TSOLBOURNE}
- sort -o ${TSOLBOURNE} ${TSOLBOURNE}
-
-obj: _SUBDIRUSE
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
+
+links:
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
+
+obj: _SUBDIRUSE
.include <bsd.prog.mk>
-.include <bsd.subdir.mk>
diff --git a/sys/arch/sparc/Makefile b/sys/arch/sparc/Makefile
index bc623a5349f..c17217ccf9c 100644
--- a/sys/arch/sparc/Makefile
+++ b/sys/arch/sparc/Makefile
@@ -1,36 +1,43 @@
-# $OpenBSD: Makefile,v 1.9 2005/05/06 11:16:48 pedro Exp $
-# $NetBSD: Makefile,v 1.4 1996/03/25 22:48:09 mrg Exp $
-
-#
-# Makefile for sparc links, tags file
-
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
-
-SUBDIR= stand
-
-NOPROG= noprog
-NOMAN= noman
-
-TSPARC= $S/arch/sparc/tags
-DIRS= conf dev fpu include rcons sbus sparc
-
-links::
- -for i in ${DIRS}; do \
- (cd $$i && { rm -f tags; ln -s ${TSPARC} tags; }) done
-
-SPARC= $S/arch/sparc/dev/*.[ch] $S/arch/sparc/fpu/*.[ch] \
- $S/arch/sparc/include/*.[ch] $S/arch/sparc/sparc/*.[ch]
-ASPARC= $S/arch/sparc/sparc/*.[sS] $S/lib/libkern/arch/sparc/*.[sS]
-
-tags:
- -ctags -wdtf ${TSPARC} ${COMM} ${SPARC}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${ASPARC} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${TSPARC}
- sort -o ${TSPARC} ${TSPARC}
-
-obj: _SUBDIRUSE
+# $OpenBSD: Makefile,v 1.10 2010/05/31 22:21:44 deraadt Exp $
+
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
+SUBDIR= stand
+
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
+
+links:
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
+
+obj: _SUBDIRUSE
.include <bsd.prog.mk>
-.include <bsd.subdir.mk>
diff --git a/sys/arch/sparc64/Makefile b/sys/arch/sparc64/Makefile
index 70aac1fb258..798edf4d95f 100644
--- a/sys/arch/sparc64/Makefile
+++ b/sys/arch/sparc64/Makefile
@@ -1,33 +1,43 @@
-# $OpenBSD: Makefile,v 1.3 2005/05/06 11:16:48 pedro Exp $
-
-
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
-
-NOPROG= noprog
-NOMAN= noman
-
+# $OpenBSD: Makefile,v 1.4 2010/05/31 22:21:44 deraadt Exp $
+
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
SUBDIR= stand
-TSPARC64= $S/arch/sparc64/tags
-SSPARC64= $S/arch/sparc64/sparc64/*.[ch] $S/arch/sparc64/include/*.h \
- $S/arch/sparc64/dev/*.[ch] $S/arch/sparc64/fpu/*.[ch]
-ASPARC64= $S/arch/sparc64/sparc64/*.S $S/lib/libkern/arch/sparc64/*.[sS]
-
-# Directories in which to place sparc64 tags links
-DSPARC64= sparc64 dev fpu include
-
-tags:
- -ctags -wdtf ${TSPARC64} ${COMM} ${SSPARC64}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${ASPARC64} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${TSPARC64}
- sort -o ${TSPARC64} ${TSPARC64}
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
links:
- -for i in ${DSPARC64}; do \
- (cd $$i && rm -f tags; ln -s ${TSPARC64} tags); done
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
-obj: _SUBDIRUSE
+obj: _SUBDIRUSE
.include <bsd.prog.mk>
diff --git a/sys/arch/vax/Makefile b/sys/arch/vax/Makefile
index 75db49fb571..8ceb50ca639 100644
--- a/sys/arch/vax/Makefile
+++ b/sys/arch/vax/Makefile
@@ -1,6 +1,43 @@
-# $OpenBSD: Makefile,v 1.2 1997/05/29 00:04:14 niklas Exp $
-# $NetBSD: Makefile,v 1.1 1996/03/16 11:03:11 ragge Exp $
-#
+# $OpenBSD: Makefile,v 1.3 2010/05/31 22:21:44 deraadt Exp $
+
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
SUBDIR= boot
-.include <bsd.subdir.mk>
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
+
+links:
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
+
+obj: _SUBDIRUSE
+
+.include <bsd.prog.mk>
diff --git a/sys/arch/zaurus/Makefile b/sys/arch/zaurus/Makefile
index 466a1bfe5e6..798edf4d95f 100644
--- a/sys/arch/zaurus/Makefile
+++ b/sys/arch/zaurus/Makefile
@@ -1,38 +1,42 @@
-# $OpenBSD: Makefile,v 1.3 2005/05/06 02:20:24 uwe Exp $
-# $NetBSD: Makefile,v 1.1 2001/06/12 08:32:46 chris Exp $
-
-# Makefile for zaurus tags file and boot blocks
-
-S=${.CURDIR}/../..
-.include "$S/kern/Make.tags.inc"
-
+# $OpenBSD: Makefile,v 1.4 2010/05/31 22:21:44 deraadt Exp $
+
+S= ${.CURDIR}/../..
+KFILE= GENERIC
+.if exists(conf/GENERIC.MP)
+KFILE= GENERIC.MP
+.endif
+TDIRS= ${_arch} include pci isa eisa
+TAGS= ${.CURDIR}/tags
+
+NOPROG=
+NOMAN=
SUBDIR= stand
-NOPROG= noprog
-NOMAN= noman
-
-TZAURUS= $S/arch/zaurus/tags
-
-SZAURUS= $S/arch/zaurus/dev/*.[ch] $S/arch/zaurus/include/*.h \
- $S/arch/zaurus/zaurus/*.[ch] $S/arch/arm/arm/*.[ch] \
- $S/arch/arm/include/*.h $S/arch/arm/mainbus/*.[ch] \
- $S/arch/arm/sa11x0/*.[ch] $S/arch/arm/xscale/*.[ch]
-AZAURUS= $S/arch/zaurus/zaurus/*.S $S/arch/arm/arm/*.S \
- $S/arch/arm/mainbus/*.S $S/arch/arm/xscale/*.S
-
-# Directories in which to place tags links
-DZAURUS= dev include zaurus
-
-tags:
- -ctags -wdtf ${TZAURUS} ${SZAURUS} ${COMM}
- egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${AZAURUS} | \
- sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
- >> ${TZAURUS}
- sort -o ${TZAURUS} ${TZAURUS}
+# config the fattest kernel we can find into a temporary dir
+# to create a Makefile. Then use make to pull some variables
+# out and push them into the sub-shell to expand the paths,
+# and finally run ctags.
+tags::
+ TDIR=`mktemp -d /tmp/_tagXXXXXXXXXX` || exit 1; \
+ eval "S=${S}" && \
+ config -s ${S} -b $${TDIR} ${.CURDIR}/conf/${KFILE} && \
+ eval "_arch=\"`make -V _arch -f $${TDIR}/Makefile`\"" && \
+ eval "_mach=\"`make -V _mach -f $${TDIR}/Makefile`\"" && \
+ eval "_machdir=\$S/arch/$${_mach}" && \
+ eval "_archdir=\$S/arch/$${_arch}" && \
+ eval "SFILES=\"`make -V SFILES -f $${TDIR}/Makefile`\"" && \
+ eval "CFILES=\"`make -V CFILES -f $${TDIR}/Makefile`\"" && \
+ eval "AFILES=\"`make -V AFILES -f $${TDIR}/Makefile`\"" && \
+ ctags -wdt -f ${TAGS} $${CFILES} && \
+ egrep "^[_A-Z]*ENTRY[_A-Z]*\(.*\)" $${SFILES} $${AFILES} | \
+ sed "s;\\([^:]*\\):\\([^(]*\\)(\\([^, )]*\\)\\(.*\\);\\3 \\1 /^\\2(\\3\\4$$/;" \
+ >> ${TAGS} && \
+ sort -o ${TAGS} ${TAGS} && \
+ rm -rf $${TDIR}
links:
- -for i in ${DZAURUS}; do \
- (cd $$i && { rm -f tags; ln -s ${TZAURUS} tags; }) done
+ -for i in conf ${TDIRS}; do \
+ (cd $$i && rm -f tags; ln -s tags tags); done
obj: _SUBDIRUSE