7 exec_prefix=@exec_prefix@
11 docdir=@datadir@/doc/dbench
12 XSLTPROC = /usr/bin/xsltproc
14 LIBS=@LIBS@ -lpopt -lz @LIBSMBCLIENT@ @LIBISCSI@
17 CFLAGS=@CFLAGS@ -I. -DVERSION=\"$(VERSION)\" -DDATADIR=\"$(datadir)\"
20 LIBNFS_OBJ = libnfs.o mount_client.o nfs_client.o mount_xdr.o nfs_xdr.o
22 DB_OBJS = fileio.o util.o dbench.o child.o system.o snprintf.o sockio.o nfsio.o libnfs.a socklib.o @LINUXSCSI@ iscsi.o libiscsi.o @SMBO@
23 SRV_OBJS = util.o tbench_srv.o socklib.o
28 $(CC) -o $@ $(DB_OBJS) $(LIBS)
30 tbench_srv: $(SRV_OBJS)
31 $(CC) -o $@ $(SRV_OBJS) $(LIBS)
36 libnfs.a: $(LIBNFS_OBJ)
37 @echo Creating library $@
38 ar r libnfs.a $(LIBNFS_OBJ)
41 nfsio.o: nfsio.c mount.h nfs.h
43 gcc -g -c nfsio.c -o $@
45 libnfs.o: libnfs.c libnfs.h mount.h nfs.h
47 gcc -g -c libnfs.c -o $@
51 rpcgen -h mount.x > mount.h
55 rpcgen -h nfs.x > nfs.h
57 mount_xdr.o: mount_xdr.c mount.h
59 gcc -g -c mount_xdr.c -o $@
63 rpcgen -c mount.x > mount_xdr.c
65 mount_client.o: mount_client.c mount.h
67 gcc -g -c mount_client.c -o $@
69 mount_client.c: mount.x
71 rpcgen -l mount.x > mount_client.c
73 nfs_xdr.o: nfs_xdr.c nfs.h
75 gcc -g -c nfs_xdr.c -o $@
79 rpcgen -c nfs.x > nfs_xdr.c
81 nfs_client.o: nfs_client.c nfs.h
83 gcc -g -c nfs_client.c -o $@
87 rpcgen -l nfs.x > nfs_client.c
89 doc/dbench.1.html: doc/dbench.1.xml
90 -test -z "$(XSLTPROC)" || $(XSLTPROC) -o $@ http://docbook.sourceforge.net/release/xsl/current/html/docbook.xsl $<
92 doc/dbench.1: doc/dbench.1.xml
93 -test -z "$(XSLTPROC)" || $(XSLTPROC) -o $@ http://docbook.sourceforge.net/release/xsl/current/manpages/docbook.xsl $<
95 doc: doc/dbench.1 doc/dbench.1.html
97 # Careful here: don't install client.txt over itself.
99 mkdir -p $(DESTDIR)$(bindir)
100 mkdir -p $(DESTDIR)$(docdir)/loadfiles
101 mkdir -p $(DESTDIR)$(mandir)/man1
102 ${INSTALLCMD} dbench $(DESTDIR)$(bindir)
103 ${INSTALLCMD} loadfiles/client.txt $(DESTDIR)$(docdir)/loadfiles
104 ${INSTALLCMD} loadfiles/nfs.txt $(DESTDIR)$(docdir)/loadfiles
105 ${INSTALLCMD} loadfiles/nfs_2.txt $(DESTDIR)$(docdir)/loadfiles
106 ${INSTALLCMD} loadfiles/smb.txt $(DESTDIR)$(docdir)/loadfiles
107 ${INSTALLCMD} loadfiles/smb_1.txt $(DESTDIR)$(docdir)/loadfiles
108 ${INSTALLCMD} loadfiles/smb_2.txt $(DESTDIR)$(docdir)/loadfiles
109 ${INSTALLCMD} loadfiles/smb_3.txt $(DESTDIR)$(docdir)/loadfiles
110 ${INSTALLCMD} loadfiles/iscsi.txt $(DESTDIR)$(docdir)/loadfiles
111 ${INSTALLCMD} loadfiles/scsi.txt $(DESTDIR)$(docdir)/loadfiles
112 ${INSTALLCMD} -m644 dbench.1 $(DESTDIR)$(mandir)/man1
115 rm -f *.[ao] *~ dbench tbench_srv
116 rm -f mount.h mount_xdr.c mount_client.c
117 rm -f nfs.h nfs_xdr.c nfs_client.c
120 ./mkproto.pl *.c > proto.h