(mostly) fix kernel tags support. from Frederick Bruckman in pr-6445.

This commit is contained in:
perry 1998-11-15 20:36:30 +00:00
parent 93f9db1b75
commit 0c20c72cf9
5 changed files with 49 additions and 57 deletions

View File

@ -1,14 +1,17 @@
# $NetBSD: Makefile,v 1.15 1998/06/12 23:22:36 cgd Exp $
# $NetBSD: Makefile,v 1.16 1998/11/15 20:36:30 perry Exp $
# Makefile for i386 tags file and boot blocks
TI386= ../i386/tags
SI386= ../i386/i386/*.[ch] ../i386/include/*.h \
../i386/eisa/*.[ch] ../i386/isa/*.[ch] ../i386/pci/*.[ch]
AI386= ../i386/i386/*.s
SYSDIR?= /sys
TI386= ${SYSDIR}/arch/i386/tags
SI386= ${SYSDIR}/arch/i386/i386/*.[ch] ${SYSDIR}/arch/i386/include/*.h \
${SYSDIR}/arch/i386/eisa/*.[ch] ${SYSDIR}/arch/i386/isa/*.[ch] \
${SYSDIR}/arch/i386/pci/*.[ch]
AI386= ${SYSDIR}/arch/i386/i386/*.s ${SYSDIR}/arch/i386/isa/*.s
# Directories in which to place tags links
DI386= eisa isa include pci
DI386= i386 eisa isa include pci
.include "../../kern/Make.tags.inc"
@ -21,7 +24,7 @@ tags:
links:
-for i in ${DI386}; do \
cd $$i && rm -f tags; ln -s ../tags tags; done
(cd $$i && rm -f tags; ln -s ../tags tags); done
SUBDIR= include stand isa/pcvt

View File

@ -1,4 +1,6 @@
# $NetBSD: Makefile.inc,v 1.1 1997/10/11 09:10:09 mycroft Exp $
# $NetBSD: Makefile.inc,v 1.2 1998/11/15 20:36:30 perry Exp $
SM68K= ../m68k/m68k/*.[ch] ../m68k/include/*.h
AM68K= ../m68k/m68k/*.S
SYSDIR?= /sys
SM68K= ${SYSDIR}/arch/m68k/m68k/*.[ch] ${SYSDIR}/arch/m68k/include/*.h
AM68K= ${SYSDIR}/arch/m68k/m68k/*.s

View File

@ -1,18 +1,19 @@
# $NetBSD: Makefile,v 1.5 1998/06/12 23:22:38 cgd Exp $
# $NetBSD: Makefile,v 1.6 1998/11/15 20:36:30 perry Exp $
# Makefile for mac68k tags file and boot blocks
# Find where m68k source files are for inclusion in tags
.include <../m68k/Makefile.inc>
TMAC68K=../mac68k/tags
SMAC68K=../m68k/m68k/*.c ../m68k/include/*.h \
../mac68k/mac68k/*.[ch] ../mac68k/include/*.h \
../mac68k/dev/*.[ch]
AMAC68K=../mac68k/mac68k/*.s
SYSDIR?= /sys
TMAC68K=${SYSDIR}/arch/mac68k/tags
SMAC68K=${SYSDIR}/arch/mac68k/mac68k/*.[ch] ${SYSDIR}/arch/mac68k/include/*.h \
${SYSDIR}/arch/mac68k/nubus/*.[ch] ${SYSDIR}/arch/mac68k/obio/*.[ch] \
${SYSDIR}/arch/mac68k/dev/*.[ch]
AMAC68K=${SYSDIR}/arch/mac68k/mac68k/*.s ${SYSDIR}/arch/mac68k/dev/*.s
# Directories in which to place tags links
DMAC68K=mac68k dev include
DMAC68K=mac68k dev include nubus obio
.include "../../kern/Make.tags.inc"
@ -25,7 +26,7 @@ tags:
links:
-for i in ${DMAC68K}; do \
cd $$i && rm -f tags; ln -s ../tags tags; done
(cd $$i && rm -f tags; ln -s ../tags tags); done
SUBDIR= include

View File

@ -1,4 +1,4 @@
# $NetBSD: Make.tags.inc,v 1.5 1998/09/09 03:02:23 dbj Exp $
# $NetBSD: Make.tags.inc,v 1.6 1998/11/15 20:36:31 perry Exp $
#
# from: @(#)Make.tags.inc 8.1 (Berkeley) 6/11/93
@ -9,13 +9,9 @@
# there is a struct tag with the same name (eg., vmmeter). The real
# solution would probably be for ctags to generate "struct vmmeter" tags.
COMM= /sys/conf/*.[ch] \
/sys/dev/*.[ch] /sys/dev/scsipi/*.[ch] \
/sys/kern/*.[ch] /sys/lib/libkern/*.[ch] \
/sys/miscfs/*/*.[ch] \
/sys/net/*.[ch] /sys/netccitt/*.[ch] /sys/netinet/*.[ch] \
/sys/netiso/*.[ch] /sys/netns/*.[ch] \
/sys/nfs/*.[ch] /sys/sys/*.[ch] \
/sys/ufs/*/*.[ch] \
/sys/vm/*.[ch] \
/sys/uvm/*.[ch] /sys/ddb/*.[ch]
# The invocation below returns every directory that contains sources, excluding
# the arch directories. Traditionally, COMM would have been an explicit list.
# This promises to be easier to maintain, considering how often the directory
# structure of the kernel sources has been changing recently.
COMM!= find -H /sys ! -path "/sys/arch*" -name "*.[ch]" | \
sed "s@[^/]*\..*@*.\[ch\]@" | sort -t / -u

View File

@ -1,4 +1,4 @@
# $NetBSD: Makefile,v 1.7 1998/09/13 23:50:39 perry Exp $
# $NetBSD: Makefile,v 1.8 1998/11/15 20:36:31 perry Exp $
#
# from: @(#)Makefile 8.2 (Berkeley) 3/21/94
@ -22,16 +22,6 @@ vnode_if.c ../sys/vnode_if.h: ${VNODEIFSRC}
-mv -f ../sys/vnode_if.h ../sys/vnode_if.h.bak
sh vnode_if.sh vnode_if.src
# XXX
# [Note by Perry Metzger, Sept. 1998]
# As it stands, the tags support below is hopelessly
# broken. Just look at the names of the architectures it is dealing
# with and where it expects to find the support for them to see why.
# I've left the stuff in this Makefile alone in the hope that someone
# will fix it someday -- I am assuming that it might help that
# person if they have the old Makefile goo left in place as a starting
# point.
# XXX
# Kernel tags:
# Tags files are built in the top-level directory for each architecture,
@ -40,33 +30,33 @@ vnode_if.c ../sys/vnode_if.h: ${VNODEIFSRC}
# are placed in each source directory. We need to have links to tags files
# from the generic directories that are relative to the machine type, even
# via remote mounts; therefore we use symlinks to $SYSTAGS, which points at
# ${SYSDIR}/${MACHINE}/tags.
# ${SYSDIR}/arch/${MACHINE}/tags.
ARCH= hp300 i386 luna68k news3400 pmax sparc tahoe vax
# Note: only a couple of architectures are currently working right. Add more
# to ARCH as you fix them. Use the i386 as a model.
ARCH= i386 mac68k
SYSTAGS=/var/db/sys_tags
SYSDIR=/sys
# Directories in which to place tags links (other than machine-dependent)
DGEN= conf \
dev dev/scsi \
hp hp/dev hp/hpux \
kern libkern \
miscfs miscfs/deadfs miscfs/fdesc miscfs/fifofs miscfs/kernfs \
miscfs/lofs miscfs/nullfs miscfs/portal miscfs/procfs \
miscfs/specfs miscfs/umapfs miscfs/union \
net netccitt netinet netiso netns nfs scripts sys \
ufs ufs/ffs ufs/lfs ufs/mfs ufs/ufs \
vm
.ifmake links
# Directories in which to place tags links (other than machine-dependent):
# The invocation below returns every directory that contains sources, the idea
# being, in the face of a constantly varying source tree, that this will be
# easier to maintain than a fixed list.
DGEN!= find -H /sys ! -path "/sys/arch*" -name "*.[chs]" | \
sed -e "s@/sys/@@" -e "s@/[^/]*\..*@@" | sort -t / -u
.endif
tags::
-for i in ${ARCH}; do \
(cd ../$$i && make ${MFLAGS} tags); done
(cd ../arch/$$i && make ${MFLAGS} tags); done
links::
rm -f ${SYSTAGS}
ln -s ${SYSDIR}/${MACHINE}/tags ${SYSTAGS}
ln -s ${SYSDIR}/arch/${MACHINE}/tags ${SYSTAGS}
-for i in ${DGEN}; do \
(cd ../$$i && { rm -f tags; ln -s ${SYSTAGS} tags; }) done
(cd ../$$i && { rm -f tags; ln -s ${SYSTAGS} tags; }); done
-for i in ${ARCH}; do \
(cd ../$$i && make ${MFLAGS} SYSTAGS=${SYSTAGS} links); done
(cd ../arch/$$i && make ${MFLAGS} SYSTAGS=${SYSTAGS} links); done