Makefile revision 1.18
11.18Scgd# $NetBSD: Makefile,v 1.18 2001/01/16 02:37:35 cgd Exp $ 21.14Slukem# @(#)Makefile 8.6 (Berkeley) 5/8/95 31.1Scgd 41.1ScgdPROG= mount 51.8ScgdMAN= mount.8 61.14SlukemSRCS= mount.c vfslist.c 71.7Smycroft# We do NOT install the getmntopts.3 man page. 81.12Sjtk# getmntopts.c in this directory isn't used by mount anymore, but it 91.12Sjtk# is used by other mount programs which use .PATH directives to use 101.12Sjtk# the version here. 111.15Sjdolecek 121.15SjdolecekSRCS+= getmntopts.c fattr.c checkname.c 131.15SjdolecekCPPFLAGS+= -I${.CURDIR} -DMOUNT_NOMAIN 141.15Sjdolecek 151.15Sjdolecek# Note: mount_portal is excluded by purpose, mainly because it contains 161.15Sjdolecek# more stuff and hence cannot be made to export only mount_FOO() symbol 171.15SjdolecekMOUNT_PROGS= mount_ados mount_cd9660 mount_ext2fs mount_fdesc mount_ffs \ 181.15Sjdolecek mount_filecore mount_kernfs mount_lfs mount_msdos mount_nfs \ 191.15Sjdolecek mount_ntfs mount_null mount_overlay mount_procfs mount_umap \ 201.15Sjdolecek mount_union 211.15Sjdolecek 221.15Sjdolecek# include individual source files and manpages to build process 231.15Sjdolecek.for p in ${MOUNT_PROGS} 241.15Sjdolecek.PATH: ${.CURDIR}/../${p} 251.15SjdolecekSRCS+= ${p}.c 261.15SjdolecekMAN+= ${p}.8 271.15SjdolecekLINKS+= ${BINDIR}/${PROG} ${BINDIR}/${p} 281.15Sjdolecek.endfor 291.15Sjdolecek 301.15Sjdolecek# make mount_ufs alias for mount_ffs (this needs also support in checkname.c) 311.15SjdolecekLINKS+= ${BINDIR}/mount_ffs ${BINDIR}/mount_ufs 321.17SjdolecekMLINKS+= mount_ffs.8 mount_ufs.8 331.16Sveego 341.16SveegoCLEANFILES+= checkname.c 351.15Sjdolecek 361.15Sjdolecek# generate checkname.c - code which runs appropriate mount_FOO() routine 371.15Sjdolecek# according to program name 381.15Sjdolecekcheckname.c: ${.CURDIR}/Makefile 391.15Sjdolecek @if true; then \ 401.15Sjdolecek echo "/* File generated by make - DO NOT EDIT */"; \ 411.15Sjdolecek echo "#include <sys/types.h>"; \ 421.18Scgd echo "#include <stdlib.h>"; \ 431.18Scgd echo "#include <string.h>"; \ 441.15Sjdolecek echo "#include <mntopts.h>"; \ 451.15Sjdolecek for p in ${MOUNT_PROGS}; do \ 461.15Sjdolecek echo "int $$p __P((int argc, char **argv));"; \ 471.15Sjdolecek done; \ 481.15Sjdolecek echo "void checkname(int, char **);"; \ 491.15Sjdolecek echo; \ 501.15Sjdolecek echo "void checkname(int argc, char **argv) {"; \ 511.15Sjdolecek echo " extern const char *__progname;"; \ 521.15Sjdolecek echo "if (strcmp(__progname, \"mount\") == 0) return;"; \ 531.15Sjdolecek for p in ${MOUNT_PROGS}; do \ 541.15Sjdolecek echo "if (strcmp(__progname, \"$$p\") == 0)"; \ 551.15Sjdolecek echo " exit($$p(argc, argv));"; \ 561.15Sjdolecek done; \ 571.15Sjdolecek echo "if (strcmp(__progname, \"mount_ufs\") == 0)"; \ 581.15Sjdolecek echo " exit(mount_ffs(argc, argv));"; \ 591.15Sjdolecek echo "}"; \ 601.15Sjdolecek fi > ${.TARGET} 611.1Scgd 621.1Scgd.include <bsd.prog.mk> 63