Makefile revision 1.25       1  1.25  jdolecek #	$NetBSD: Makefile,v 1.25 2002/10/01 08:56:40 jdolecek Exp $
      2  1.14     lukem #	@(#)Makefile	8.6 (Berkeley) 5/8/95
      3   1.1       cgd 
      4  1.21     lukem .include <bsd.own.mk>
      5  1.21     lukem 
      6   1.1       cgd PROG=	mount
      7   1.8       cgd MAN=	mount.8
      8  1.14     lukem SRCS=	mount.c vfslist.c
      9   1.7   mycroft # We do NOT install the getmntopts.3 man page.
     10  1.25  jdolecek # getmntopts.c in this directory is used by different mount programs which
     11  1.25  jdolecek # use .PATH directives to get it.
     12  1.15  jdolecek 
     13  1.15  jdolecek SRCS+= getmntopts.c fattr.c checkname.c
     14  1.15  jdolecek CPPFLAGS+= -I${.CURDIR} -DMOUNT_NOMAIN
     15  1.22     lukem 
     16  1.22     lukem .if defined(RESCUEDIR)
     17  1.22     lukem CPPFLAGS+= -D_PATH_RESCUE=\"${RESCUEDIR}\"
     18  1.22     lukem .endif
     19  1.15  jdolecek 
     20  1.15  jdolecek # Note: mount_portal is excluded by purpose, mainly because it contains
     21  1.15  jdolecek # more stuff and hence cannot be made to export only mount_FOO() symbol
     22  1.15  jdolecek MOUNT_PROGS=	mount_ados mount_cd9660 mount_ext2fs mount_fdesc mount_ffs \
     23  1.15  jdolecek 		mount_filecore mount_kernfs mount_lfs mount_msdos mount_nfs \
     24  1.15  jdolecek 		mount_ntfs mount_null mount_overlay mount_procfs mount_umap \
     25  1.15  jdolecek 		mount_union
     26  1.23      taca 
     27  1.15  jdolecek # include individual source files and manpages to build process
     28  1.15  jdolecek .for p in ${MOUNT_PROGS}
     29  1.21     lukem .PATH: ${NETBSDSRCDIR}/sbin/${p}
     30  1.15  jdolecek SRCS+=	${p}.c
     31  1.15  jdolecek MAN+=	${p}.8
     32  1.15  jdolecek LINKS+=	${BINDIR}/${PROG} ${BINDIR}/${p}
     33  1.15  jdolecek .endfor
     34  1.15  jdolecek 
     35  1.15  jdolecek # make mount_ufs alias for mount_ffs (this needs also support in checkname.c)
     36  1.15  jdolecek LINKS+= ${BINDIR}/mount_ffs ${BINDIR}/mount_ufs
     37  1.17  jdolecek MLINKS+= mount_ffs.8 mount_ufs.8
     38  1.16     veego 
     39  1.16     veego CLEANFILES+=	checkname.c
     40  1.24  christos 
     41  1.24  christos DPADD+=${LIBUTIL}
     42  1.24  christos LDADD+=-lutil
     43  1.15  jdolecek 
     44  1.15  jdolecek # generate checkname.c - code which runs appropriate mount_FOO() routine
     45  1.15  jdolecek # according to program name
     46  1.15  jdolecek checkname.c: ${.CURDIR}/Makefile
     47  1.15  jdolecek 	@if true; then \
     48  1.15  jdolecek 	  echo "/* File generated by make - DO NOT EDIT */";	\
     49  1.15  jdolecek 	  echo "#include <sys/types.h>";			\
     50  1.18       cgd 	  echo "#include <stdlib.h>";				\
     51  1.18       cgd 	  echo "#include <string.h>";				\
     52  1.15  jdolecek 	  echo "#include <mntopts.h>";				\
     53  1.15  jdolecek 	  for p in ${MOUNT_PROGS}; do 				\
     54  1.15  jdolecek 		echo "int $$p __P((int argc, char **argv));";	\
     55  1.15  jdolecek 	  done;							\
     56  1.15  jdolecek 	  echo "void checkname(int, char **);";			\
     57  1.15  jdolecek 	  echo;							\
     58  1.15  jdolecek 	  echo "void checkname(int argc, char **argv) {"; 	\
     59  1.20       cgd 	  echo "if (strcmp(getprogname(), \"mount\") == 0) return;";	\
     60  1.15  jdolecek 	  for p in ${MOUNT_PROGS}; do				\
     61  1.20       cgd 		echo "if (strcmp(getprogname(), \"$$p\") == 0)";	\
     62  1.15  jdolecek 		echo " exit($$p(argc, argv));";			\
     63  1.15  jdolecek 	  done;		\
     64  1.20       cgd 	  echo "if (strcmp(getprogname(), \"mount_ufs\") == 0)";	\
     65  1.15  jdolecek 	  echo " exit(mount_ffs(argc, argv));";			\
     66  1.15  jdolecek 	  echo "}";	\
     67  1.15  jdolecek 	fi > ${.TARGET}
     68   1.1       cgd 
     69   1.1       cgd .include <bsd.prog.mk>
     70