blob: 1be3756892def3dc89ffc1a0e0eb93dab93afd33 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
|
# ifeq (../MCONFIG,$(wildcard ../MCONFIG))
# include ../MCONFIG
# endif
# For now: a standalone version
CC = gcc
CFLAGS = -O2 -I../lib
#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
INSTALLSUID = $(INSTALL) -m 4755 -o root
INSTALLPROG = $(INSTALL) -m 755
INSTALLDATA = $(INSTALL) -m 644
INSTALLDIR = mkdir -p
INSTALLMAN = $(INSTALLDATA)
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)
$(INSTALLDIR) $(BINDIR) $(SBINDIR)
$(INSTALLSUID) -s $(SUID_PROGS) $(BINDIR)
$(INSTALLPROG) -s $(NOSUID_PROGS) $(SBINDIR)
(cd $(SBINDIR); ln -sf swapon swapoff)
$(INSTALLDIR) $(MANDIR)/man5 $(MANDIR)/man8
$(INSTALLMAN) $(MAN5) $(MANDIR)/man5
$(INSTALLMAN) $(MAN8) $(MANDIR)/man8
%.o: %.c
$(COMPILE) $<
mount: mount.o fstab.o sundries.o realpath.o mntent.o version.o \
mount_guess_fstype.o mount_by_label.o ../lib/setproctitle.o $(NFS_OBJS) $(LO_OBJS)
$(LINK) $^ -o $@
umount: umount.o fstab.o sundries.o realpath.o mntent.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 fstab.o mntent.o: mntent.h
mount.o mount_guess_fstype.o: mount_guess_fstype.h
mount.o umount.o losetup.o lomount.o: lomount.h loop.h
swapon.o: swap_constants.h swapargs.h
sundries.o nfsmount.o nfsmount_xdr.o nfsmount_clnt.o: nfsmount.h
umount.o: mount_constants.h
mount.o mount_by_label.o mount_guess_fstype.o: linux_fs.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
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
swapargs.h:
sh swap.configure
loop.h:
sh mk_loop_h
clean:
rm -f a.out core *~ *.o swapargs.h $(PROGS) swapoff
rm -f loop.h nfs_mountversion.h
clobber distclean realclean: clean
rm -f $(GEN_FILES)
|