Makefile revision 1.21
11.21Slukem# $NetBSD: Makefile,v 1.21 2002/08/19 10:16:55 lukem Exp $ 21.14Slukem# @(#)Makefile 8.6 (Berkeley) 5/8/95 31.1Scgd 41.21Slukem.include <bsd.own.mk> 51.21Slukem 61.1ScgdPROG= mount 71.8ScgdMAN= mount.8 81.14SlukemSRCS= mount.c vfslist.c 91.7Smycroft# We do NOT install the getmntopts.3 man page. 101.12Sjtk# getmntopts.c in this directory isn't used by mount anymore, but it 111.12Sjtk# is used by other mount programs which use .PATH directives to use 121.12Sjtk# the version here. 131.15Sjdolecek 141.15SjdolecekSRCS+= getmntopts.c fattr.c checkname.c 151.15SjdolecekCPPFLAGS+= -I${.CURDIR} -DMOUNT_NOMAIN 161.15Sjdolecek 171.15Sjdolecek# Note: mount_portal is excluded by purpose, mainly because it contains 181.15Sjdolecek# more stuff and hence cannot be made to export only mount_FOO() symbol 191.15SjdolecekMOUNT_PROGS= mount_ados mount_cd9660 mount_ext2fs mount_fdesc mount_ffs \ 201.15Sjdolecek mount_filecore mount_kernfs mount_lfs mount_msdos mount_nfs \ 211.15Sjdolecek mount_ntfs mount_null mount_overlay mount_procfs mount_umap \ 221.15Sjdolecek mount_union 231.15Sjdolecek 241.15Sjdolecek# include individual source files and manpages to build process 251.15Sjdolecek.for p in ${MOUNT_PROGS} 261.21Slukem.PATH: ${NETBSDSRCDIR}/sbin/${p} 271.15SjdolecekSRCS+= ${p}.c 281.15SjdolecekMAN+= ${p}.8 291.15SjdolecekLINKS+= ${BINDIR}/${PROG} ${BINDIR}/${p} 301.15Sjdolecek.endfor 311.15Sjdolecek 321.15Sjdolecek# make mount_ufs alias for mount_ffs (this needs also support in checkname.c) 331.15SjdolecekLINKS+= ${BINDIR}/mount_ffs ${BINDIR}/mount_ufs 341.17SjdolecekMLINKS+= mount_ffs.8 mount_ufs.8 351.16Sveego 361.16SveegoCLEANFILES+= checkname.c 371.15Sjdolecek 381.15Sjdolecek# generate checkname.c - code which runs appropriate mount_FOO() routine 391.15Sjdolecek# according to program name 401.15Sjdolecekcheckname.c: ${.CURDIR}/Makefile 411.15Sjdolecek @if true; then \ 421.15Sjdolecek echo "/* File generated by make - DO NOT EDIT */"; \ 431.15Sjdolecek echo "#include <sys/types.h>"; \ 441.18Scgd echo "#include <stdlib.h>"; \ 451.18Scgd echo "#include <string.h>"; \ 461.15Sjdolecek echo "#include <mntopts.h>"; \ 471.15Sjdolecek for p in ${MOUNT_PROGS}; do \ 481.15Sjdolecek echo "int $$p __P((int argc, char **argv));"; \ 491.15Sjdolecek done; \ 501.15Sjdolecek echo "void checkname(int, char **);"; \ 511.15Sjdolecek echo; \ 521.15Sjdolecek echo "void checkname(int argc, char **argv) {"; \ 531.20Scgd echo "if (strcmp(getprogname(), \"mount\") == 0) return;"; \ 541.15Sjdolecek for p in ${MOUNT_PROGS}; do \ 551.20Scgd echo "if (strcmp(getprogname(), \"$$p\") == 0)"; \ 561.15Sjdolecek echo " exit($$p(argc, argv));"; \ 571.15Sjdolecek done; \ 581.20Scgd echo "if (strcmp(getprogname(), \"mount_ufs\") == 0)"; \ 591.15Sjdolecek echo " exit(mount_ffs(argc, argv));"; \ 601.15Sjdolecek echo "}"; \ 611.15Sjdolecek fi > ${.TARGET} 621.1Scgd 631.1Scgd.include <bsd.prog.mk> 64