(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 # Makefile for i386 tags file and boot blocks
TI386= ../i386/tags SYSDIR?= /sys
SI386= ../i386/i386/*.[ch] ../i386/include/*.h \
../i386/eisa/*.[ch] ../i386/isa/*.[ch] ../i386/pci/*.[ch] TI386= ${SYSDIR}/arch/i386/tags
AI386= ../i386/i386/*.s 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 # Directories in which to place tags links
DI386= eisa isa include pci DI386= i386 eisa isa include pci
.include "../../kern/Make.tags.inc" .include "../../kern/Make.tags.inc"
@ -21,7 +24,7 @@ tags:
links: links:
-for i in ${DI386}; do \ -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 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 SYSDIR?= /sys
AM68K= ../m68k/m68k/*.S
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 # Makefile for mac68k tags file and boot blocks
# Find where m68k source files are for inclusion in tags # Find where m68k source files are for inclusion in tags
.include <../m68k/Makefile.inc> .include <../m68k/Makefile.inc>
TMAC68K=../mac68k/tags SYSDIR?= /sys
SMAC68K=../m68k/m68k/*.c ../m68k/include/*.h \ TMAC68K=${SYSDIR}/arch/mac68k/tags
../mac68k/mac68k/*.[ch] ../mac68k/include/*.h \ SMAC68K=${SYSDIR}/arch/mac68k/mac68k/*.[ch] ${SYSDIR}/arch/mac68k/include/*.h \
../mac68k/dev/*.[ch] ${SYSDIR}/arch/mac68k/nubus/*.[ch] ${SYSDIR}/arch/mac68k/obio/*.[ch] \
AMAC68K=../mac68k/mac68k/*.s ${SYSDIR}/arch/mac68k/dev/*.[ch]
AMAC68K=${SYSDIR}/arch/mac68k/mac68k/*.s ${SYSDIR}/arch/mac68k/dev/*.s
# Directories in which to place tags links # Directories in which to place tags links
DMAC68K=mac68k dev include DMAC68K=mac68k dev include nubus obio
.include "../../kern/Make.tags.inc" .include "../../kern/Make.tags.inc"
@ -25,7 +26,7 @@ tags:
links: links:
-for i in ${DMAC68K}; do \ -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 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 # 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 # there is a struct tag with the same name (eg., vmmeter). The real
# solution would probably be for ctags to generate "struct vmmeter" tags. # solution would probably be for ctags to generate "struct vmmeter" tags.
COMM= /sys/conf/*.[ch] \ # The invocation below returns every directory that contains sources, excluding
/sys/dev/*.[ch] /sys/dev/scsipi/*.[ch] \ # the arch directories. Traditionally, COMM would have been an explicit list.
/sys/kern/*.[ch] /sys/lib/libkern/*.[ch] \ # This promises to be easier to maintain, considering how often the directory
/sys/miscfs/*/*.[ch] \ # structure of the kernel sources has been changing recently.
/sys/net/*.[ch] /sys/netccitt/*.[ch] /sys/netinet/*.[ch] \ COMM!= find -H /sys ! -path "/sys/arch*" -name "*.[ch]" | \
/sys/netiso/*.[ch] /sys/netns/*.[ch] \ sed "s@[^/]*\..*@*.\[ch\]@" | sort -t / -u
/sys/nfs/*.[ch] /sys/sys/*.[ch] \
/sys/ufs/*/*.[ch] \
/sys/vm/*.[ch] \
/sys/uvm/*.[ch] /sys/ddb/*.[ch]

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 # 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 -mv -f ../sys/vnode_if.h ../sys/vnode_if.h.bak
sh vnode_if.sh vnode_if.src 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: # Kernel tags:
# Tags files are built in the top-level directory for each architecture, # 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 # 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 # from the generic directories that are relative to the machine type, even
# via remote mounts; therefore we use symlinks to $SYSTAGS, which points at # 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 SYSTAGS=/var/db/sys_tags
SYSDIR=/sys SYSDIR=/sys
# Directories in which to place tags links (other than machine-dependent) .ifmake links
DGEN= conf \ # Directories in which to place tags links (other than machine-dependent):
dev dev/scsi \ # The invocation below returns every directory that contains sources, the idea
hp hp/dev hp/hpux \ # being, in the face of a constantly varying source tree, that this will be
kern libkern \ # easier to maintain than a fixed list.
miscfs miscfs/deadfs miscfs/fdesc miscfs/fifofs miscfs/kernfs \ DGEN!= find -H /sys ! -path "/sys/arch*" -name "*.[chs]" | \
miscfs/lofs miscfs/nullfs miscfs/portal miscfs/procfs \ sed -e "s@/sys/@@" -e "s@/[^/]*\..*@@" | sort -t / -u
miscfs/specfs miscfs/umapfs miscfs/union \ .endif
net netccitt netinet netiso netns nfs scripts sys \
ufs ufs/ffs ufs/lfs ufs/mfs ufs/ufs \
vm
tags:: tags::
-for i in ${ARCH}; do \ -for i in ${ARCH}; do \
(cd ../$$i && make ${MFLAGS} tags); done (cd ../arch/$$i && make ${MFLAGS} tags); done
links:: links::
rm -f ${SYSTAGS} rm -f ${SYSTAGS}
ln -s ${SYSDIR}/${MACHINE}/tags ${SYSTAGS} ln -s ${SYSDIR}/arch/${MACHINE}/tags ${SYSTAGS}
-for i in ${DGEN}; do \ -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 \ -for i in ${ARCH}; do \
(cd ../$$i && make ${MFLAGS} SYSTAGS=${SYSTAGS} links); done (cd ../arch/$$i && make ${MFLAGS} SYSTAGS=${SYSTAGS} links); done