xref: /original-bsd/sys/kern/Makefile (revision acda45c0)
1#
2# Copyright (c) 1986 The Regents of the University of California.
3# All rights reserved.
4#
5# Redistribution and use in source and binary forms are permitted
6# provided that the above copyright notice and this paragraph are
7# duplicated in all such forms and that any documentation,
8# advertising materials, and other materials related to such
9# distribution and use acknowledge that the software was developed
10# by the University of California, Berkeley.  The name of the
11# University may not be used to endorse or promote products derived
12# from this software without specific prior written permission.
13# THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14# IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16#
17#	@(#)Makefile	7.10 (Berkeley) 12/25/90
18#
19# Put the ../sys stuff near the end so that subroutine definitions win when
20# there is a struct tag with the same name (eg., vmmeter).  The real
21# solution would probably be for ctags to generate "struct vmmeter" tags.
22
23COMM=	../net/*.[ch] ../netimp/*.[ch] ../netinet/*.[ch] ../netns/*.[ch] \
24	../netiso/*.[ch] ../netccitt/*.[ch] \
25	../sys/*.h ../kern/*.c ../ufs/*.[ch] ../nfs/*.[ch] ../vm/*.[ch]
26TVAX=	../vax/tags
27SVAX=	../vax/if/*.[ch]  ../vax/mba/*.[ch] ../vax/uba/*.[ch] \
28	../vax/bi/*.[ch] ../vax/vax/*.[ch] ../vax/include/*.h
29AVAX=	../vax/vax/*.s
30
31TTAHOE=	../tahoe/tags
32STAHOE=	../tahoe/if/*.[ch]  ../tahoe/vba/*.[ch] ../tahoe/align/*.[ch] ../tahoe/math/*.h ../tahoe/tahoe/*.[ch] ../tahoe/include/*.h
33ATAHOE=	../tahoe/tahoe/*.s ../tahoe/math/*.s
34
35THP300=	../hp300/tags
36SHP300=	../hp300/hpux/*.[ch] ../hp300/dev/*.[ch] ../hp300/hp300/*.[ch] \
37	../hp300/include/*.h
38AHP300=	../hp300/hp300/*.s
39
40# Directories in which to place tags links (other than primary T$MACH)
41DGEN=	kern sys net netimp netinet netns ufs
42DVAX=	vax/if vax/mba vax/uba vax/bi vax/vax vax/include
43DTAHOE=	tahoe/if tahoe/vba tahoe/align tahoe/math tahoe/include tahoe/tahoe
44DHP300=	hp300/dev hp300/hpux hp300/hp300 hp300/include
45
46all:
47	@echo "make tags or links only"
48
49tags: tahoetags vaxtags hp300tags
50
51tahoetags:
52	-ctags -dtf ${TTAHOE} ${COMM} ${STAHOE}
53	egrep "^SCBVEC(.*)" ${ATAHOE} | \
54sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);X\3 \1 /^\2(\3\4$$/;" \
55		>> ${TTAHOE}
56	egrep "^ENTRY(.*)|^JSBENTRY(.*)" ${ATAHOE} | \
57sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
58		>> ${TTAHOE}
59	sort -o ${TTAHOE} ${TTAHOE}
60
61vaxtags:
62	-ctags -dtf ${TVAX} ${COMM} ${SVAX}
63	egrep "^SCBVEC(.*)" ${AVAX} | \
64sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);X\3 \1 /^\2(\3\4$$/;" \
65		>> ${TVAX}
66	egrep "^ENTRY(.*)|^JSBENTRY(.*)" ${AVAX} | \
67sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
68		>> ${TVAX}
69	sort -o ${TVAX} ${TVAX}
70
71hp300tags:
72	-ctags -dtf ${THP300} ${COMM} ${SHP300}
73	egrep "^ENTRY(.*)|^ALTENTRY(.*)" ${AHP300} | \
74sed "s;\([^:]*\):\([^(]*\)(\([^, )]*\)\(.*\);\3 \1 /^\2(\3\4$$/;" \
75		>> ${THP300}
76	sort -o ${THP300} ${THP300}
77
78links:
79	-for i in ${DVAX}; do \
80	    rm -f ../$$i/tags; ln -s ../tags ../$$i/tags; done
81	-for i in ${DTAHOE}; do \
82	    rm -f ../$$i/tags; ln -s ../tags ../$$i/tags; done
83	-for i in ${DHP300}; do \
84	    rm -f ../$$i/tags; ln -s ../tags ../$$i/tags; done
85	-for i in ${DGEN}; do \
86	    rm -f ../$$i/tags; \
87	    ln -s ../machine/tags ../$$i/tags; done
88
89init_sysent.c syscalls.c ../sys/syscall.h: makesyscalls.sh syscalls.master
90	-mv -f init_sysent.c init_sysent.c.bak
91	-mv -f syscalls.c syscalls.c.bak
92	-mv -f ../sys/syscall.h ../sys/syscall.h.bak
93	sh makesyscalls.sh syscalls.master
94