142 lines
3.5 KiB
Makefile
142 lines
3.5 KiB
Makefile
# ifeq (../MCONFIG,$(wildcard ../MCONFIG))
|
|
# include ../MCONFIG
|
|
# endif
|
|
|
|
# For now: a standalone version
|
|
|
|
CC = gcc
|
|
CFLAGS = -O2
|
|
|
|
#WARNFLAGS = -Wall -Wstrict-prototypes
|
|
# We really want
|
|
WARNFLAGS = -Wall -Wstrict-prototypes -Wmissing-prototypes
|
|
# but at the moment that yields
|
|
#<linux/socket.h>:72: warning: no previous prototype for `cmsg_nxthdr'
|
|
|
|
# you need rpcgen and libc-4.2 or rpclib to compile in the NFS support
|
|
# pregenerated files are included.
|
|
# Make sure nfsmount_clnt.c is newer than nfsmount.x to avoid gcc complaints.
|
|
DEFINES = -DHAVE_NFS
|
|
|
|
RPCSVCDIR = rpcsvc
|
|
RPC_CFLAGS = -Wno-unused
|
|
RPCGEN = rpcgen
|
|
|
|
INSTALL = install
|
|
INSTALL_SUID = $(INSTALL) -m 4755 -o root
|
|
INSTALL_PROG = $(INSTALL) -m 755
|
|
INSTALL_DATA = $(INSTALL) -m 644
|
|
INSTALL_DIR = mkdir -p
|
|
INSTALL_MAN = $(INSTALL_DATA)
|
|
|
|
MANDIR = /usr/man
|
|
## for suid progs (mount, umount)
|
|
BINDIR = /bin
|
|
## for nosuid progs (swapon)
|
|
SBINDIR = /sbin
|
|
|
|
# End of configuration section.
|
|
|
|
COMPILE = $(CC) -c $(WARNFLAGS) $(CFLAGS) $(DEFINES)
|
|
LINK = $(CC) $(LDFLAGS)
|
|
|
|
SUID_PROGS = mount umount
|
|
NOSUID_PROGS = swapon losetup
|
|
PROGS = $(SUID_PROGS) $(NOSUID_PROGS)
|
|
MAN5 = fstab.5 nfs.5
|
|
MAN8 = mount.8 swapoff.8 swapon.8 umount.8 losetup.8
|
|
|
|
# comment these out if you are not compiling in NFS support
|
|
NFS_OBJS = nfsmount.o nfsmount_xdr.o nfsmount_clnt.o
|
|
# uncomment this if you don't have libc-4.2 but do have the rpclib
|
|
GEN_FILES = nfsmount.x nfsmount.h nfsmount_xdr.c nfsmount_clnt.c
|
|
|
|
# comment these out if you are not compiling in loop support
|
|
LO_OBJS=lomount.o
|
|
|
|
all: $(PROGS)
|
|
|
|
install: $(PROGS)
|
|
$(INSTALL_DIR) $(BINDIR) $(SBINDIR)
|
|
$(INSTALL_SUID) -s $(SUID_PROGS) $(BINDIR)
|
|
$(INSTALL_PROG) -s $(NOSUID_PROGS) $(SBINDIR)
|
|
(cd $(SBINDIR); ln -sf swapon swapoff)
|
|
$(INSTALL_DIR) $(MANDIR)/man5 $(MANDIR)/man8
|
|
$(INSTALL_MAN) $(MAN5) $(MANDIR)/man5
|
|
$(INSTALL_MAN) $(MAN8) $(MANDIR)/man8
|
|
|
|
%.o: %.c
|
|
$(COMPILE) $<
|
|
|
|
mount: mount.o fstab.o sundries.o realpath.o version.o $(NFS_OBJS) $(LO_OBJS)
|
|
$(LINK) $^ -o $@
|
|
|
|
umount: umount.o fstab.o sundries.o realpath.o version.o $(LO_OBJS)
|
|
$(LINK) $^ -o $@
|
|
|
|
swapon: swapon.o version.o
|
|
$(LINK) $^ -o $@
|
|
|
|
losetup: losetup.o
|
|
$(LINK) $^ -o $@
|
|
|
|
mount.o umount.o nfsmount.o losetup.o fstab.o sundries.o: sundries.h
|
|
|
|
mount.o umount.o fstab.o sundries.o: fstab.h
|
|
|
|
mount.o umount.o losetup.o: lomount.h loop.h
|
|
|
|
swapon.o: swap.h swapargs.h
|
|
|
|
sundries.o nfsmount.o nfsmount_xdr.o nfsmount_clnt.o: nfsmount.h
|
|
|
|
umount.o: mount_constants.h
|
|
|
|
nfsmount_clnt.o: nfsmount_clnt.c
|
|
$(COMPILE) $(RPC_CFLAGS) nfsmount_clnt.c
|
|
|
|
nfsmount_xdr.o: nfsmount_xdr.c
|
|
$(COMPILE) $(RPC_CFLAGS) nfsmount_xdr.c
|
|
|
|
nfsmount.h nfsmount_xdr.c nfsmount_clnt.c: nfsmount.x
|
|
rm -f nfsmount.h nfsmount_xdr.c nfsmount_clnt.c
|
|
$(RPCGEN) -h -o nfsmount.h nfsmount.x
|
|
$(RPCGEN) -c -o nfsmount_xdr.c nfsmount.x
|
|
$(RPCGEN) -l -o nfsmount_clnt.c nfsmount.x
|
|
|
|
nfsmount.x:
|
|
cp $(RPCSVCDIR)/nfsmount.x .
|
|
|
|
nfsmount.o: nfs_mountversion.h nfs_mount3.h
|
|
|
|
NFSMOUNTH=/usr/include/linux/nfs_mount.h
|
|
SWAPH=/usr/include/linux/swap.h
|
|
LOOPH=/usr/include/linux/loop.h
|
|
|
|
nfs_mountversion.h:
|
|
rm -f nfs_mountversion.h
|
|
if [ -f $(NFSMOUNTH) ]; then \
|
|
grep NFS_MOUNT_VERSION $(NFSMOUNTH) \
|
|
| sed -e 's/NFS/KERNEL_NFS/'; \
|
|
else \
|
|
echo '#define KERNEL_NFS_MOUNT_VERSION 0'; \
|
|
fi > nfs_mountversion.h
|
|
|
|
swap.h:
|
|
rm -f swap.h
|
|
if [ -f $(SWAPH) ]; then cp $(SWAPH) .; else touch swap.h; fi
|
|
|
|
swapargs.h:
|
|
sh swap.configure
|
|
|
|
loop.h:
|
|
rm -f loop.h
|
|
if [ -f $(LOOPH) ]; then cp $(LOOPH) .; else touch loop.h; fi
|
|
|
|
clean:
|
|
rm -f a.out core *~ *.o swapargs.h $(PROGS) swapoff
|
|
rm -f swap.h loop.h nfs_mountversion.h
|
|
|
|
clobber distclean realclean: clean
|
|
rm -f $(GEN_FILES)
|