7 exec_prefix=@exec_prefix@
11 XSLTPROC = /usr/bin/xsltproc
13 LIBS=@LIBS@ -lpopt -lz -lsmbclient
16 CFLAGS=@CFLAGS@ -I. -DVERSION=\"$(VERSION)\" -DDATADIR=\"$(datadir)\"
19 LIBNFS_OBJ = libnfs.o mount_client.o nfs_client.o mount_xdr.o nfs_xdr.o
21 DB_OBJS = fileio.o util.o dbench.o child.o system.o snprintf.o sockio.o nfsio.o libnfs.a socklib.o linux_scsi.o iscsi.o smb.o
22 SRV_OBJS = util.o tbench_srv.o socklib.o
24 all: dbench tbench nfsbench tbench_srv doc
27 $(CC) -o $@ $(DB_OBJS) $(LIBS)
29 tbench_srv: $(SRV_OBJS)
30 $(CC) -o $@ $(SRV_OBJS) $(LIBS)
36 ln -sf dbench nfsbench
38 libnfs.a: $(LIBNFS_OBJ)
39 @echo Creating library $@
40 ar r libnfs.a $(LIBNFS_OBJ)
43 nfsio.o: nfsio.c mount.h nfs.h
45 gcc -g -c nfsio.c -o $@
47 libnfs.o: libnfs.c libnfs.h mount.h nfs.h
49 gcc -g -c libnfs.c -o $@
53 rpcgen -h mount.x > mount.h
57 rpcgen -h nfs.x > nfs.h
59 mount_xdr.o: mount_xdr.c mount.h
61 gcc -g -c mount_xdr.c -o $@
65 rpcgen -c mount.x > mount_xdr.c
67 mount_client.o: mount_client.c mount.h
69 gcc -g -c mount_client.c -o $@
71 mount_client.c: mount.x
73 rpcgen -l mount.x > mount_client.c
75 nfs_xdr.o: nfs_xdr.c nfs.h
77 gcc -g -c nfs_xdr.c -o $@
81 rpcgen -c nfs.x > nfs_xdr.c
83 nfs_client.o: nfs_client.c nfs.h
85 gcc -g -c nfs_client.c -o $@
89 rpcgen -l nfs.x > nfs_client.c
91 doc/dbench.1.html: doc/dbench.1.xml
92 -test -z "$(XSLTPROC)" || $(XSLTPROC) -o $@ http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl $<
94 doc/dbench.1: doc/dbench.1.xml
95 -test -z "$(XSLTPROC)" || $(XSLTPROC) -o $@ http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
97 doc: doc/dbench.1 doc/dbench.1.html
99 # Careful here: don't install client.txt over itself.
101 ${INSTALLCMD} -d $(bindir) $(datadir) $(mandir)
102 ${INSTALLCMD} dbench tbench_srv $(bindir)
103 ${INSTALLCMD} loadfiles/client.txt $(datadir)
104 ${INSTALLCMD} loadfiles/nfs.txt $(datadir)
105 ${INSTALLCMD} -m644 dbench.1 $(mandir)
106 ln -sf dbench.1 $(mandir)/tbench.1
107 ln -sf dbench.1 $(mandir)/tbench_srv.1
108 ln -sf $(bindir)/dbench $(bindir)/tbench
109 ln -sf $(bindir)/dbench $(bindir)/nfsbench
112 rm -f *.[ao] *~ dbench tbench_srv
113 rm -f mount.h mount_xdr.c mount_client.c
114 rm -f nfs.h nfs_xdr.c nfs_client.c
117 ./mkproto.pl *.c > proto.h