| 1 | # @(#)Makefile 7.17 (Berkeley) %G% |
| 2 | |
| 3 | # Makefile for kernel tags files, init_sysent, etc. |
| 4 | |
| 5 | ARCH= vax tahoe hp300 i386 pmax sparc |
| 6 | |
| 7 | all: |
| 8 | @echo "make tags, make links or init_sysent.c only" |
| 9 | |
| 10 | init_sysent.c syscalls.c ../sys/syscall.h: makesyscalls.sh syscalls.master |
| 11 | -mv -f init_sysent.c init_sysent.c.bak |
| 12 | -mv -f syscalls.c syscalls.c.bak |
| 13 | -mv -f ../sys/syscall.h ../sys/syscall.h.bak |
| 14 | sh makesyscalls.sh syscalls.master |
| 15 | |
| 16 | # Kernel tags: |
| 17 | # Tags files are built in the top-level directory for each architecture, |
| 18 | # with a makefile listing the architecture-dependent files, etc. |
| 19 | # The list of common files is in ./Make.tags.inc. Links to the |
| 20 | # correct tags file are placed in each source directory. |
| 21 | # We need to have links to tags files from the generic directories |
| 22 | # that are relative to the machine type, even via remote mounts; |
| 23 | # therefore we use symlinks to $SYSTAGS, which points at |
| 24 | # ${SYSDIR}/${MACHINE}/tags. |
| 25 | |
| 26 | SYSTAGS=/var/db/sys_tags |
| 27 | SYSDIR=/sys |
| 28 | |
| 29 | # Directories in which to place tags links (other than machine-dependent) |
| 30 | DGEN= kern sys net netimp netinet netns netccitt nfs ufs/ffs ufs/lfs \ |
| 31 | ufs/mfs ufs/ufs vm |
| 32 | |
| 33 | tags: FRC |
| 34 | -for i in ${ARCH}; do \ |
| 35 | (cd ../$$i && make ${MFLAGS} tags); done |
| 36 | |
| 37 | links: ${SYSTAGS} |
| 38 | -for i in ${DGEN}; do \ |
| 39 | (cd ../$$i && { rm -f tags; ln -s ${SYSTAGS} tags; }) done |
| 40 | -for i in ${ARCH}; do \ |
| 41 | (cd ../$$i && make ${MFLAGS} links); done |
| 42 | |
| 43 | ${SYSTAGS}: |
| 44 | ln -s ${SYSDIR}/${MACHINE}/tags ${SYSTAGS} |
| 45 | |
| 46 | FRC: |