1#
2# Version $Revision: 1.156 $
3#
4# The makefile for building all versions of iozone for all supported
5# platforms
6#
7# Supports:	hpux, hpux_no_ansi, hpux-10.1, hpux_no_ansi-10.1,
8#		sppux, sppux-10.1, ghpux, sppux,
9#		convex, FreeBSD, OpenBSD, OSFV3, OSFV4, OSFV5, SCO
10#		SCO_Unixware_gcc,NetBSD,TRU64, Mac OS X
11
12CC	= cc
13C89	= c89
14GCC	= gcc
15CCS	= /usr/ccs/bin/cc
16NACC	= /opt/ansic/bin/cc
17CFLAGS	?=
18S10GCCFLAGS    = -m64
19S10CCFLAGS     = -m64
20FLAG64BIT      = -m64
21NDK_ENV_VAR    := $(shell echo $$NDK)
22NDKBUILD       := $(shell which ndk-build)
23
24
25# If your Linux kernel supports preadv and pwritev system calls
26# and you want iozone to use them, add -DHAVE_PREADV -DHAVE_PWRITEV
27# to CFLAGS
28
29all:
30	@echo ""
31	@echo "You must specify the target.        "
32	@echo "        ->   AIX                  (32bit)   <-"
33	@echo "        ->   AIX-LF               (32bit)   <-"
34	@echo "        ->   AIX64                (32bit)   <-"
35	@echo "        ->   AIX64-LF             (32bit)   <-"
36	@echo "        ->   android   (arm/x86 32/64bit)   <-"
37	@echo "        ->   bsdi                 (32bit)   <-"
38	@echo "        ->   convex               (32bit)   <-"
39	@echo "        ->   CrayX1               (32bit)   <-"
40	@echo "        ->   dragonfly            (32bit)   <-"
41	@echo "        ->   freebsd              (32bit)   <-"
42	@echo "        ->   freebsd64            (64bit)   <-"
43	@echo "        ->   generic              (32bit)   <-"
44	@echo "        ->   ghpux                (32bit)   <-"
45	@echo "        ->   hpuxs-11.0 (simple)  (32bit)   <-"
46	@echo "        ->   hpux-11.0w           (64bit)   <-"
47	@echo "        ->   hpuxs-11.0w          (64bit)   <-"
48	@echo "        ->   hpux-11.0            (32bit)   <-"
49	@echo "        ->   hpux-10.1            (32bit)   <-"
50	@echo "        ->   hpux-10.20           (32bit)   <-"
51	@echo "        ->   hpux                 (32bit)   <-"
52	@echo "        ->   hpux_no_ansi         (32bit)   <-"
53	@echo "        ->   hpux_no_ansi-10.1    (32bit)   <-"
54	@echo "        ->   IRIX                 (32bit)   <-"
55	@echo "        ->   IRIX64               (64bit)   <-"
56	@echo "        ->   linux                (32bit)   <-"
57	@echo "        ->   linux-arm            (32bit)   <-"
58	@echo "        ->   linux-AMD64          (64bit)   <-"
59	@echo "        ->   linux-ia64           (64bit)   <-"
60	@echo "        ->   linux-powerpc        (32bit)   <-"
61	@echo "        ->   linux-powerpc64      (64bit)   <-"
62	@echo "        ->   linux-sparc          (32bit)   <-"
63	@echo "        ->   macosx               (32/64bit)<-"
64	@echo "        ->   netbsd               (32bit)   <-"
65	@echo "        ->   netbsd-AMD64         (64bit)   <-"
66	@echo "        ->   openbsd              (32bit)   <-"
67	@echo "        ->   openbsd-threads      (32bit)   <-"
68	@echo "        ->   OSFV3                (64bit)   <-"
69	@echo "        ->   OSFV4                (64bit)   <-"
70	@echo "        ->   OSFV5                (64bit)   <-"
71	@echo "        ->   linux-S390           (32bit)   <-"
72	@echo "        ->   linux-S390X          (64bit)   <-"
73	@echo "        ->   SCO                  (32bit)   <-"
74	@echo "        ->   SCO_Unixware_gcc     (32bit)   <-"
75	@echo "        ->   Solaris              (32bit)   <-"
76	@echo "        ->   Solaris-2.6          (32bit)   <-"
77	@echo "        ->   Solaris7gcc          (32bit)   <-"
78	@echo "        ->   Solaris8-64          (64bit)   <-"
79	@echo "        ->   Solaris8-64-VXFS     (64bit)   <-"
80	@echo "        ->   Solaris10            (32bit)   <-"
81	@echo "        ->   Solaris10cc          (64bit)   <-"
82	@echo "        ->   Solaris10gcc         (32bit)   <-"
83	@echo "        ->   Solaris10gcc-64      (64bit)   <-"
84	@echo "        ->   sppux                (32bit)   <-"
85	@echo "        ->   sppux-10.1           (32bit)   <-"
86	@echo "        ->   sppux_no_ansi-10.1   (32bit)   <-"
87	@echo "        ->   SUA                  (32bit)   <-"
88	@echo "        ->   TRU64                (64bit)   <-"
89	@echo "        ->   UWIN                 (32bit)   <-"
90	@echo "        ->   Windows (95/98/NT)   (32bit)   <-"
91	@echo ""
92
93clean:
94	rm -f *.o iozone fileop pit_server
95
96rpm:
97	cp ../../iozone*.tar /home/capps/rpmbuild/SOURCES/
98	rpmbuild  -ba --buildroot /home/capps/rpmbuild/BUILDROOT spec.in
99
100
101#
102# Turn on the optimizer, largefiles, Posix async I/O and threads.
103#
104hpux-11.0:	iozone_hpux-11.0.o libasync.o libbif.o
105	 $(CC) +O3 +Oparallel $(LDFLAGS) iozone_hpux-11.0.o libasync.o \
106		libbif.o -lpthread -lrt -o iozone
107
108#
109# Turn on wide-mode, the optimizer, largefiles, Posix async I/O and threads.
110#
111hpux-11.0w:	iozone_hpux-11.0w.o libasyncw.o libbif.o
112	 $(CC) +DD64 +O3 $(LDFLAGS) iozone_hpux-11.0w.o libasyncw.o \
113		libbif.o -lpthread -lrt -o iozone
114
115
116#
117# Simple build with largefiles, Posix threads and Posix async I/O
118#
119hpuxs-11.0:	iozone_hpuxs-11.0.o libasync.o libbif.o fileop_hpuxs-11.0.o pit_server.o
120	 $(CC) -O $(LDFLAGS)  iozone_hpuxs-11.0.o \
121		libasync.o libbif.o -lpthread -lrt -o iozone
122	 $(CC) -O $(LDFLAGS) fileop_hpuxs-11.0.o -o fileop
123	 $(CC) -O $(LDFLAGS) pit_server.o -o pit_server
124
125#
126# Simple build with wide-mode, largefiles, Posix threads and Posix async I/O
127#
128hpuxs-11.0w:	iozone_hpuxs-11.0w.o libasyncw.o libbif.o
129	 $(CC) -O +DD64 $(LDFLAGS) iozone_hpuxs-11.0w.o \
130		libasyncw.o libbif.o -lpthread -lrt -o iozone
131
132#
133# Simple 10.1 build with no threads, no largefiles, no async I/O
134#
135hpux-10.1:	iozone_hpux-10.1.o  libbif.o
136	 $(C89) +e -O $(LDFLAGS) iozone_hpux-10.1.o libbif.o -o iozone
137
138hpux-10.20:	iozone_hpux-10.20.o  libbif.o
139	 $(C89) +e -O $(LDFLAGS) iozone_hpux-10.20.o libbif.o -o iozone
140
141#
142# Simple generic HP build with no threads, no largefiles, no async I/O
143#
144hpux:	iozone_hpux.o
145	$(C89) +e -O $(LDFLAGS) iozone_hpux.o libbif.o -o iozone
146
147#
148# GNU HP build with no threads, no largefiles, no async I/O
149#
150ghpux:	iozone_ghpux.o  libbif.o
151	$(GCC) -O $(LDFLAGS) iozone_ghpux.o libbif.o -static -o iozone
152
153#
154# GNU Generic build with no threads, no largefiles, no async I/O
155#
156generic:	iozone_generic.o  libbif.o
157	$(CC)  -O $(LDFLAGS) iozone_generic.o libbif.o -o iozone
158
159#
160# No ansii 'C' compiler HP build with no threads, no largefiles, no async I/O
161#
162hpux_no_ansi-10.1:	iozone_hpux_no-10.1.o  libbif.o
163	$(NACC)  -O $(LDFLAGS) iozone_hpux_no-10.1.o libbif.o -o iozone
164
165#
166# No ansii 'C' compiler HP build with no threads, no largefiles, no async I/O
167#
168hpux_no_ansi:	iozone_hpux_no.o  libbif.o
169	$(C89)  -O $(LDFLAGS) iozone_hpux_no.o libbif.o -o iozone
170
171#
172# GNU 'C' compiler Linux build with threads, largefiles, async I/O
173#
174linux:	iozone_linux.o libasync.o libbif.o fileop_linux.o pit_server.o
175	$(CC)  -O3 $(CFLAGS) iozone_linux.o libasync.o libbif.o -lpthread \
176		-lrt -o iozone
177	$(CC)  -O3 $(CFLAGS) -Dlinux fileop_linux.o -o fileop
178	$(CC)  -O3 $(CFLAGS) -Dlinux pit_server.o -o pit_server
179
180#
181# GNU 'C' compiler Linux build for powerpc chip with threads, largefiles, async I/O
182#
183linux-powerpc: iozone_linux-powerpc.o  libbif.o libasync.o fileop_linux-ppc.o pit_server.o
184	$(CC) -O3 $(LDFLAGS) iozone_linux-powerpc.o libasync.o \
185		libbif.o -lpthread  -lrt -o iozone
186	$(CC)  -O3 -Dlinux fileop_linux-ppc.o -o fileop
187	$(CC)  -O3 -Dlinux pit_server.o -o pit_server
188#
189# GNU 'C' compiler Linux build for sparc chip with threads, largefiles, async I/O
190#
191linux-sparc: iozone_linux-sparc.o  libbif.o libasync.o fileop_linux.o pit_server.o
192	$(CC) -O3 $(LDFLAGS) iozone_linux-sparc.o libasync.o libbif.o \
193		-lpthread -lrt -o iozone
194	$(CC) -O3 -Dlinux fileop_linux.o -o fileop
195	$(CC) -O3 -Dlinux pit_server.o -o pit_server
196
197#
198# GNU 'C' compiler Linux build with threads, largefiles, async I/O
199#
200linux-ia64:	iozone_linux-ia64.o  libbif.o libasync.o fileop_linux-ia64.o pit_server.o
201	$(CC) -O3 $(LDFLAGS) iozone_linux-ia64.o libbif.o libasync.o \
202		-lrt -lpthread -o iozone
203	$(CC)  -O3 -Dlinux fileop_linux-ia64.o -o fileop
204	$(CC)  -O3 -Dlinux pit_server.o -o pit_server
205
206#
207# GNU 'C' compiler Linux build for powerpc chip with threads, largefiles, async I/O
208#
209linux-powerpc64: iozone_linux-powerpc64.o  libbif.o libasync.o fileop_linux-ppc64.o pit_server-linux-powerpc64.o
210	$(CC) -O3 -Dunix -DHAVE_ANSIC_C -DSHARED_MEM -DASYNC_IO \
211		-D_LARGEFILE64_SOURCE -Dlinux \
212		iozone_linux-powerpc64.o libasync.o libbif.o -lpthread \
213		-lrt $(FLAG64BIT) -o iozone
214	$(CC)  -O3 -Dlinux fileop_linux-ppc64.o $(FLAG64BIT) -o fileop
215	$(CC)  -O3 -Dlinux pit_server-linux-powerpc64.o $(FLAG64BIT) -o pit_server
216
217#
218# GNU 'C' compiler Linux build with threads, largefiles, async I/O
219#
220linux-arm:	iozone_linux-arm.o  libbif.o libasync.o fileop_linux-arm.o pit_server.o
221	$(CC) -O3 $(LDFLAGS) iozone_linux-arm.o libbif.o libasync.o \
222		-lrt -lpthread -o iozone
223	$(CC) -O3 -Dlinux fileop_linux-arm.o -o fileop
224	$(CC) -O3 -Dlinux pit_server.o -o pit_server
225#
226# GNU 'C' or Clang compiler Linux build with threads, largefiles, async I/O
227#
228
229android: iozone.c  makefile Android.mk Application.mk libbif.c
230ifeq ($(NDK_ENV_VAR)$(NDKBUILD),)
231	$(warning Your NDK environment is not set)
232	$(warning Either add to your path ndk-bundle or define NDK environement variable)
233	$(warning ndk-bundle is likely located within you android sdk e.g. <...>/Android/sdk/ndk-bundle )
234	$(error e.g. export NDK='/home/me/Android/Sdk/ndk-bundle')
235endif
236	mkdir -p jni
237	ln -sf ../Android.mk ./jni/Android.mk
238	ln -sf ../Application.mk ./jni/Application.mk
239	ln -sf ../iozone.c ./jni/iozone.c
240	ln -sf ../libbif.c ./jni/libbif.c
241ifeq ($(NDKBUILD),)
242ifneq ($(NDK_ENV_VAR),)
243	${NDK}/ndk-build
244endif
245else
246	${NDKBUILD}
247endif
248
249#
250# GNU 'C' compiler Linux build with threads, largefiles, async I/O
251#
252linux-AMD64:	iozone_linux-AMD64.o  libbif.o libasync.o fileop_linux-AMD64.o pit_server.o
253	$(CC)  -O3 $(LDFLAGS) iozone_linux-AMD64.o libbif.o libasync.o \
254		-lrt -lpthread -o iozone
255	$(CC)  -O3 -Dlinux fileop_linux-AMD64.o -o fileop
256	$(CC)  -O3 -Dlinux pit_server.o -o pit_server
257
258#
259# GNU 'C' compiler Linux build with S/390, threads, largfiles, async I/O
260#
261linux-S390:	iozone_linux-s390.o libbif.o libasync.o fileop_linux-s390.o pit_server.o
262	$(CC)  -O2 $(LDFLAGS) -lpthread -lrt iozone_linux-s390.o \
263		libbif.o libasync.o -o iozone
264	$(CC)  -O3 -Dlinux fileop_linux-s390.o -o fileop
265	$(CC)  -O3 -Dlinux pit_server.o -o pit_server
266
267#
268# GNU 'C' compiler Linux build with S/390, threads, largfiles, async I/O
269#
270linux-S390X:	iozone_linux-s390x.o libbif.o libasync.o fileop_linux-s390x.o pit_server.o
271	$(CC)  -O2 $(LDFLAGS) -lpthread -lrt iozone_linux-s390x.o \
272		libbif.o libasync.o -o iozone
273	$(CC)  -O3 -Dlinux fileop_linux-s390x.o -o fileop
274	$(CC)  -O3 -Dlinux pit_server.o -o pit_server
275
276
277#
278# AIX
279# I would have built with ASYNC_IO but the AIX machine does not have
280# POSIX 1003.1b compliant async I/O header files.  Has threads, no
281# largefile support.
282#
283AIX:	iozone_AIX.o  libbif.o  fileop_AIX.o
284	$(CC)  -O $(LDFLAGS) iozone_AIX.o libbif.o \
285		-lpthreads -o iozone
286	$(CC)  -O -Dlinux fileop_AIX.o -o fileop
287
288#
289# AIX-LF
290# I would have built with ASYNC_IO but the AIX machine does not have
291# POSIX 1003.1b compliant async I/O header files.  Has threads, and
292# largefile support.
293#
294AIX-LF:	iozone_AIX-LF.o  libbif.o   fileop_AIX-LF.o pit_server.o
295	$(CC)  -O $(LDFLAGS) iozone_AIX-LF.o libbif.o \
296		-lpthreads -o iozone
297	$(CC)  -O fileop_AIX-LF.o -o fileop
298	$(CC)  -O pit_server.o -o pit_server
299
300# AIX64
301# This version uses the 64 bit interfaces and is compiled as 64 bit code.
302# Has threads, async I/O but no largefile support.
303#
304AIX64:        iozone_AIX64.o libbif.o fileop_AIX64.o libasync.o pit_server.o
305	$(GCC) -maix64 -O3 $(LDFLAGS) iozone_AIX64.o libasync.o \
306              libbif.o -lpthreads -o iozone
307	$(GCC) -maix64 -O3 $(LDFLAGS) -Dlinux fileop_AIX64.o -o fileop
308	$(GCC) -maix32 -O3 $(LDFLAGS) pit_server.o -o pit_server
309
310#
311# AIX64-LF
312# This version uses the 64 bit interfaces and is compiled as 64 bit code.
313# Has threads, async I/O and largefile support.
314#
315AIX64-LF:     iozone_AIX64-LF.o libbif.o fileop_AIX64-LF.o libasync.o pit_server.o
316	$(GCC) -maix64 -O3 $(LDFLAGS) iozone_AIX64-LF.o libasync.o \
317              libbif.o -lpthreads -o iozone
318	$(GCC) -maix64 -O3 $(LDFLAGS) -Dlinux fileop_AIX64-LF.o -o fileop
319	$(GCC) -maix32 -O3 $(LDFLAGS) pit_server.o -o pit_server
320
321#
322# IRIX 32 bit build with threads, largefiles, async I/O
323# This would like to be in 64 bit mode but it hangs whenever in 64 bit mode.
324# This version uses the 64 bit interfaces but is compiled as 32 bit code
325#
326IRIX64:	iozone_IRIX64.o libasyncw.o libbif.o
327	$(CC)   -32 -O $(LDFLAGS) iozone_IRIX64.o libbif.o \
328		-lpthread libasyncw.o -o iozone
329
330#
331# IRIX 32 bit build with threads, No largefiles, and async I/O
332# This version uses the 32 bit interfaces and is compiled as 32 bit code
333#
334IRIX:	iozone_IRIX.o libasync.o libbif.o
335	$(CC)  -O  -32 $(LDFLAGS) iozone_IRIX.o libbif.o -lpthread \
336		libasync.o -o iozone
337
338#
339# CrayX1: 32 bit build with threads, No largefiles, and async I/O
340# This version uses the 32 bit interfaces and is compiled as 32 bit code
341#
342CrayX1:	iozone_CrayX1.o libasync.o libbif.o
343	$(CC)  -O  $(LDFLAGS) iozone_CrayX1.o libbif.o \
344		-lpthread libasyncw.o -o iozone
345
346#
347# SPP-UX 32 bit build with threads, No largefiles, and No async I/O,
348# pread extensions
349# For older SPP-UX machines with 9.05 compatibility
350#
351sppux:	iozone_sppux.o  libbif.o
352	$(NACC)  -O $(LDFLAGS) iozone_sppux.o  libbif.o \
353	-Wl,+parallel -lcnx_syscall -lpthread -lail -o iozone
354
355#
356# SPP-UX 32 bit build with threads, No largefiles, and No async I/O, pread
357# extensions
358# For Newer SPP-UX machines with 10.01 compatibility
359#
360sppux-10.1:	iozone_sppux-10.1.o libbif.o
361	$(NACC) -O $(LDFLAGS) iozone_sppux-10.1.o libbif.o \
362	 -lcnx_syscall  -Wl,+parallel -lpthread -lail -o iozone
363
364#
365# SPP-UX 32 bit build with threads, No largefiles, and No async I/O, pread
366# extensions
367# For Newer SPP-UX machines with 10.01 compatibility, and no ansi 'C' compiler.
368#
369sppux_no_ansi-10.1:	iozone_sppux_no-10.1.o libbif.o
370	$(CCS)  -O $(LDFLAGS) iozone_sppux_no-10.1.o libbif.o \
371		-Wl,+parallel -lcnx_syscall  \
372		-lpthread -lail -o iozone
373
374#
375# Convex 'C' series 32 bit build with No threads, No largefiles, and No async I/O
376#
377convex:	iozone_convex.o libbif.o
378	$(CC) -O $(LDFLAGS)iozone_convex.o libbif.o -o iozone
379
380#
381# Solaris 32 bit build with threads, largefiles, and async I/O
382#
383Solaris:	iozone_solaris.o libasync.o libbif.o fileop_Solaris.o pit_server.o
384	$(CC)  -O $(LDFLAGS) iozone_solaris.o libasync.o libbif.o \
385		-lthread -lpthread -lposix4 -lnsl -laio -lsocket \
386		-o iozone
387	$(CC)  -O fileop_Solaris.o -o fileop
388	$(CC)  -O pit_server.o -lthread -lpthread -lposix4 -lnsl -laio \
389		-lsocket -o pit_server
390
391#
392# Solaris 32 bit build with threads, largefiles, and async I/O
393#
394Solaris7gcc:	iozone_solaris7gcc.o libasync7.o libbif7.o
395	$(GCC)  -O $(LDFLAGS) iozone_solaris7gcc.o libasync7.o libbif7.o \
396		-lthread -lpthread -lposix4 -lnsl -laio \
397		-lsocket -o iozone
398#
399# Solaris 32 bit build with threads, largefiles, and async I/O
400#
401Solaris10:	iozone_solaris10.o libasync10.o libbif10.o fileop_Solaris10.o pit_server.o
402	$(CC)  -O $(LDFLAGS) iozone_solaris10.o libasync10.o libbif10.o \
403		-lthread -lpthread -lposix4 -lnsl -laio \
404		-lsocket -o iozone
405	$(CC)  -O fileop_Solaris10.o -o fileop
406	$(CC)  -O pit_server.o -lthread -lpthread -lposix4 -lnsl -laio \
407                -lsocket -o pit_server
408
409#
410# Solaris 32 bit build with threads, largefiles, and async I/O
411#
412Solaris10cc:	iozone_solaris10cc.o libasync10cc.o libbif10cc.o fileop_Solaris10cc.o pit_server.o
413	$(CC)  -O $(LDFLAGS) iozone_solaris10cc.o libasync10cc.o libbif10cc.o \
414		-lthread -lpthread -lposix4 -lnsl -laio \
415		-lsocket -o iozone
416	$(CC)  -O fileop_Solaris10cc.o -o fileop
417	$(CC)  -O pit_server.o -lthread -lpthread -lposix4 -lnsl -laio \
418                -lsocket -o pit_server
419
420#
421# Solaris 32 bit build with threads, largefiles, and async I/O
422#
423Solaris10gcc:	iozone_solaris10gcc.o libasync10.o libbif10.o fileop_Solaris10gcc.o pit_server_solaris10gcc.o
424	$(GCC)  -O $(LDFLAGS) iozone_solaris10gcc.o libasync10.o libbif10.o \
425		-lthread -lpthread -lposix4 -lnsl -laio \
426		-lsocket -o iozone
427	$(GCC)  -O fileop_Solaris10gcc.o -o fileop
428	$(GCC)  -O pit_server_solaris10gcc.o -lthread -lpthread -lposix4 -lnsl -laio \
429                -lsocket -o pit_server
430
431#
432# Solaris 64 bit build with threads, largefiles, and async I/O
433#
434Solaris10gcc-64:	iozone_solaris10gcc-64.o libasync10-64.o libbif10-64.o fileop_Solaris10gcc-64.o pit_server_solaris10gcc-64.o
435	$(GCC)  -O $(LDFLAGS) $(S10GCCFLAGS) iozone_solaris10gcc-64.o libasync10-64.o libbif10-64.o \
436		-lthread -lpthread -lposix4 -lnsl -laio \
437		-lsocket -o iozone
438	$(GCC)  -O $(S10GCCFLAGS) fileop_Solaris10gcc-64.o -o fileop
439	$(GCC)  -O $(S10GCCFLAGS) pit_server_solaris10gcc-64.o -lthread -lpthread -lposix4 \
440		-lnsl -laio -lsocket -o pit_server
441
442
443#
444# Solaris 64 bit build with threads, largefiles, and async I/O
445#
446Solaris10cc-64:	iozone_solaris10cc-64.o libasync10-64.o libbif10-64.o fileop_Solaris10cc-64.o pit_server.o
447	$(CC)  -O $(LDFLAGS) $(S10CCFLAGS) iozone_solaris10cc-64.o libasync10-64.o libbif10-64.o \
448              -lthread -lpthread -lposix4 -lnsl -laio \
449              -lsocket -o iozone
450	$(CC)  -O $(S10CCFLAGS) fileop_Solaris10cc-64.o -o fileop
451	$(CC)  -O $(S10CCFLAGS) pit_server.o -lthread -lpthread -lposix4 \
452		-lnsl -laio -lsocket -o pit_server
453
454
455
456#
457# Solaris 2.6 (32 bit) build with no threads, no largefiles, and no async I/O
458#
459Solaris-2.6:	iozone_solaris-2.6.o libbif.o
460	$(CC)  -O $(LDFLAGS) iozone_solaris-2.6.o libbif.o \
461		-lnsl -laio -lsocket -o iozone
462
463#
464# Solaris 64 bit build with threads, largefiles, and async I/O
465#
466Solaris8-64: iozone_solaris8-64.o libasync.o libbif.o
467	$(CC) $(LDFLAGS) -fast -xtarget=generic64 -v iozone_solaris8-64.o \
468		libasync.o libbif.o -lthread -lpthread -lposix4 -lnsl -laio \
469		-lsocket -o iozone
470
471#
472# Solaris 64 bit build with threads, largefiles, async I/O, and Vxfs
473#
474Solaris8-64-VXFS: iozone_solaris8-64-VXFS.o libasync.o libbif.o
475	$(CC) $(LDFLAGS) -fast -xtarget=generic64 -v -I/opt/VRTSvxfs/include/
476		iozone_solaris8-64-VXFS.o libasync.o libbif.o \
477		-lthread -lpthread -lposix4 -lnsl -laio \
478		-lsocket -o iozone
479
480#
481# Windows build requires Cygwin development environment. You
482# can get this from www.cygwin.com
483# No largefiles, No async I/O
484#
485Windows:	iozone_windows.o libbif.o fileop_windows.o pit_server_win.o
486	$(GCC) -O $(LDFLAGS) iozone_windows.o libbif.o -o iozone
487	$(GCC) -O $(LDFLAGS) fileop_windows.o -o fileop
488	$(GCC) -O $(LDFLAGS) pit_server_win.o -o pit_server
489
490#
491# Windows build requires SUA development environment. You
492# can get this from Microsoft
493# No largefiles, No async I/O
494#
495SUA:	iozone_sua.o libbif.o fileop_sua.o pit_server_sua.o
496	$(GCC) -O $(LDFLAGS) iozone_sua.o libbif.o -o iozone
497	$(GCC) -O $(LDFLAGS) fileop_sua.o -o fileop
498	$(GCC) -O $(LDFLAGS) pit_server_sua.o -o pit_server
499
500#
501# Uwin build requires UWIN development environment.
502# No threads, No largefiles, No async I/O
503#
504UWIN:	iozone_uwin.o libbif.o
505	$(GCC) -O $(LDFLAGS) iozone_uwin.o libbif.o -o iozone
506
507#
508# GNU C compiler BSD/OS build with threads, largefiles, no async I/O
509#
510
511bsdi:	iozone_bsdi.o libbif.o fileop_bsdi.o pit_server.o
512	$(CC) -O $(LDFLAGS) iozone_bsdi.o libbif.o -o iozone
513	$(CC) -O fileop_bsdi.o -o fileop
514	$(CC) -O pit_server.o -o pit_server
515
516#
517# GNU C compiler FreeBSD build with no threads, no largefiles, no async I/O
518#
519
520freebsd:	iozone_freebsd.o libbif.o fileop_freebsd.o libasync.o pit_server.o
521	$(CC) $(LDFLAGS) iozone_freebsd.o libbif.o -lpthread libasync.o \
522		-o iozone
523	$(CC)  -O fileop_freebsd.o -o fileop
524	$(CC)  -O pit_server.o -o pit_server
525
526freebsd64:	iozone_freebsd64.o libbif.o fileop_freebsd64.o libasync.o pit_server.o
527	$(CC) $(LDFLAGS) iozone_freebsd64.o libbif.o -lpthread libasync.o \
528		-o iozone
529	$(CC)  -O fileop_freebsd64.o -o fileop
530	$(CC)  -O pit_server.o -o pit_server
531
532#
533# GNU C compiler DragonFly build with no threads, no largefiles
534#
535dragonfly:	iozone_dragonfly.o libbif.o fileop_dragonfly.o pit_server.o
536	$(CC) $(LDFLAGS) iozone_dragonfly.o libbif.o -o iozone
537	$(CC)  -O fileop_dragonfly.o -o fileop
538	$(CC)  -O pit_server.o -o pit_server
539
540#
541# GNU C or Clang compiler MacosX build with no threads, no largefiles, no async I/O
542#
543
544macosx:	iozone_macosx.o fileop_macosx.o pit_server.o
545	$(CC) -O3 $(LDFLAGS) iozone_macosx.o libbif.o -o iozone
546	$(CC) -O3 $(LDFLAGS) fileop_macosx.o -o fileop
547	$(CC) -O3 $(LDFLAGS) pit_server.o -o pit_server
548#
549#
550# GNU C compiler OpenBSD build with no threads, no largefiles, no async I/O
551#
552
553openbsd:	iozone_openbsd.o libbif.o fileop_openbsd.o pit_server.o
554	$(CC) -O $(LDFLAGS) iozone_openbsd.o libbif.o -o iozone
555	$(CC)  -O fileop_openbsd.o -o fileop
556	$(CC)  -O pit_server.o -o pit_server
557
558#
559# GNU C compiler OpenBSD build with threads, no largefiles, no async I/O
560#
561
562openbsd-threads:	iozone_openbsd-threads.o libbif.o
563	$(CC) -O $(LDFLAGS) -pthread iozone_openbsd-threads.o \
564		libbif.o -o iozone
565
566#
567# GNU C compiler OSFV3 build
568# Has threads and async I/O but no largefiles.
569#
570
571OSFV3:	iozone_OSFV3.o libbif.o libasync.o
572	$(CC) -O $(LDFLAGS) iozone_OSFV3.o libbif.o \
573		-lpthreads libasync.o -laio -o iozone
574
575#
576# GNU C compiler OSFV4 build
577# Has threads and async I/O but no largefiles.
578#
579
580OSFV4:	iozone_OSFV4.o libbif.o libasync.o
581	$(CC) -O $(LDFLAGS) iozone_OSFV4.o libbif.o -lpthread \
582		libasync.o -laio -o iozone
583
584#
585# GNU C compiler OSFV5 build
586# Has threads and async I/O but no largefiles.
587#
588
589OSFV5:	iozone_OSFV5.o libbif.o libasync.o
590	$(CC) -O $(LDFLAGS) iozone_OSFV5.o libbif.o -lpthread \
591		libasync.o -laio -o iozone
592
593#
594# GNU C compiler TRU64 build
595# Has threads and async I/O but no largefiles.
596#
597
598TRU64:	iozone_TRU64.o libbif.o libasync.o
599	$(CC) -O $(LDFLAGS) iozone_TRU64.o libbif.o -lpthread \
600		libasync.o -laio -o iozone
601
602#
603# GNU Generic build with no threads, no largefiles, no async I/O
604# for SCO
605# Note:	Be sure you have the latest patches for SCO's Openserver
606# or you will get warnings about timer problems.
607#
608
609SCO:	iozone_SCO.o  libbif.o
610	$(GCC) -O $(LDFLAGS) iozone_SCO.o -lsocket -s libbif.o -o iozone
611
612
613#
614# GNU build with threads, largefiles, async I/O
615# for SCO Unixware 5 7.1.1 i386 x86at SCO UNIX SVR5
616# Note: Be sure you have the latest patches for SCO's Openserver
617# or you will get warnings about timer problems.
618#
619
620SCO_Unixware_gcc:	iozone_SCO_Unixware_gcc.o  libbif.o libasync.o
621	$(GCC) -O $(LDFLAGS) iozone_SCO_Unixware_gcc.o libbif.o libasync.o \
622		-lsocket -lthread -o iozone
623
624#
625# GNU C compiler NetBSD build with threads, no largefiles, no async I/O
626#
627
628netbsd:		iozone_netbsd.o libbif.o libasync.o fileop_netbsd.o pit_server.o
629	$(CC) -O $(LDFLAGS) iozone_netbsd.o libbif.o libasync.o \
630               -lrt -lpthread -o iozone
631	$(CC) -O fileop_netbsd.o -o fileop
632	$(CC) -O pit_server.o -o pit_server
633
634#
635# GNU C compiler NetBSD/amd64 build with threads, no largefiles, async I/O
636#
637netbsd-AMD64:  iozone_netbsd-AMD64.o libbif.o libasync.o fileop_netbsd-AMD64.o pit_server.o
638	$(CC)  -O $(LDFLAGS) iozone_netbsd-AMD64.o libbif.o libasync.o \
639		-lrt -lpthread -o iozone
640	$(CC)  -O fileop_netbsd-AMD64.o -o fileop
641	$(CC)  -O pit_server.o -o pit_server
642
643#
644
645#
646#
647# Now for the machine specific stuff
648#
649
650iozone_hpux.o:	iozone.c libbif.c
651	@echo ""
652	@echo "Building iozone for HP-UX (9.05)"
653	@echo ""
654	$(C89) +e -c -O -Dunix -D_HPUX_SOURCE -DHAVE_ANSIC_C -DNO_THREADS \
655		-DNAME='"hpux"' $(CFLAGS) iozone.c  -o iozone_hpux.o
656	$(C89) +e -c -O -Dunix -D_HPUX_SOURCE -DHAVE_ANSIC_C -DNO_THREADS \
657		$(CFLAGS) libbif.c -o libbif.o
658
659iozone_hpux-11.0.o:	iozone.c libasync.c libbif.c
660	@echo ""
661	@echo "Building iozone for HP-UX (11.0)"
662	@echo ""
663	$(CC) -c +O3 +Oparallel -Dunix -D_LARGEFILE64_SOURCE  -D_HPUX_SOURCE \
664		-DNAME='"hpux-11.0"' -DHAVE_ANSIC_C -DASYNC_IO -DVXFS $(CFLAGS) \
665		iozone.c  -o iozone_hpux-11.0.o
666	$(CC) -c  +O3 +Oparallel -Dunix -D_LARGEFILE64_SOURCE  -D_HPUX_SOURCE \
667		-DHAVE_ANSIC_C -DASYNC_IO -DVXFS $(CFLAGS) libasync.c  -o libasync.o
668	$(CC) -c  +O3 +Oparallel -Dunix -D_LARGEFILE64_SOURCE  -D_HPUX_SOURCE \
669		-DHAVE_ANSIC_C -DASYNC_IO -DVXFS $(CFLAGS) libbif.c  -o libbif.o
670
671iozone_hpux-11.0w.o:	iozone.c libasync.c libbif.c
672	@echo ""
673	@echo "Building iozone for HP-UX (11.0w)"
674	@echo ""
675	$(CC) -c +DD64 +O3 -Dunix -D_LARGEFILE64_SOURCE  -D_HPUX_SOURCE \
676	    -DNAME='"hpux-11.0w"' -DHAVE_ANSIC_C -DASYNC_IO -DVXFS $(CFLAGS) iozone.c \
677	     -o iozone_hpux-11.0w.o
678	$(CC) -c +DD64 +O3 -Dunix -D_LARGEFILE64_SOURCE  -D_HPUX_SOURCE \
679		-DHAVE_ANSIC_C -DASYNC_IO -DVXFS $(CFLAGS) libasync.c  -o libasyncw.o
680	$(CC) -c +DD64 +O3 -Dunix -D_LARGEFILE64_SOURCE  -D_HPUX_SOURCE \
681		-DHAVE_ANSIC_C -DASYNC_IO -DVXFS $(CFLAGS) libbif.c  -o libbif.o
682
683iozone_hpuxs-11.0.o:	iozone.c libasync.c libbif.c
684	@echo ""
685	@echo "Building simple iozone for HP-UX (11.0)"
686	@echo ""
687	$(CC) -c  -Dunix -D_LARGEFILE64_SOURCE  -D_HPUX_SOURCE -DHAVE_ANSIC_C \
688		-DNAME='"hpuxs-11.0"' -DASYNC_IO -DVXFS -DHAVE_PREAD $(CFLAGS) iozone.c  \
689		-o iozone_hpuxs-11.0.o
690	$(CC) -c  -Dunix -D_LARGEFILE64_SOURCE  -D_HPUX_SOURCE -DHAVE_ANSIC_C \
691		-DASYNC_IO  -DVXFS $(CFLAGS) libasync.c  -o libasync.o
692	$(CC) -c  -Dunix -D_LARGEFILE64_SOURCE  -D_HPUX_SOURCE -DHAVE_ANSIC_C \
693		-DASYNC_IO -DVXFS $(CFLAGS) libbif.c  -o libbif.o
694
695fileop_hpuxs-11.0.o:	fileop.c
696	@echo ""
697	@echo "Building simple fileop for HP-UX (11.0)"
698	@echo ""
699	$(CC) -c  $(CFLAGS) fileop.c  -o fileop_hpuxs-11.0.o
700
701pit_server_solaris10gcc-64.o:	pit_server.c
702	@echo ""
703	@echo "Building the pit_server"
704	@echo ""
705	$(GCC) -c  $(CFLAGS) $(S10GCCFLAGS) pit_server.c  -o pit_server_solaris10gcc-64.o
706
707pit_server.o:	pit_server.c
708	@echo ""
709	@echo "Building the pit_server"
710	@echo ""
711	$(CC) -c  $(CFLAGS) pit_server.c  -o pit_server.o
712
713pit_server-linux-powerpc64.o:	pit_server.c
714	@echo ""
715	@echo "Building the pit_server"
716	@echo ""
717	$(CC) -c  $(CFLAGS) $(FLAG64BIT) pit_server.c -o pit_server-linux-powerpc64.o
718
719pit_server_solaris10gcc.o:	pit_server.c
720	@echo ""
721	@echo "Building the pit_server"
722	@echo ""
723	$(GCC) -c  $(CFLAGS) pit_server.c -o pit_server_solaris10gcc.o
724
725
726pit_server_win.o:	pit_server.c
727	@echo ""
728	@echo "Building the pit_server for Windows"
729	@echo ""
730	$(GCC) -c  $(CFLAGS) -DWindows pit_server.c  -o pit_server_win.o
731
732pit_server_sua.o:	pit_server.c
733	@echo ""
734	@echo "Building the pit_server for Windows SUA"
735	@echo ""
736	$(GCC) -c  $(CFLAGS) -D_SUA_ pit_server.c  -o pit_server_sua.o
737
738iozone_hpuxs-11.0w.o:	iozone.c libasync.c libbif.c
739	@echo ""
740	@echo "Building simple iozone for HP-UX (11.0w)"
741	@echo ""
742	$(CC) -c +DD64 -Dunix -D_LARGEFILE64_SOURCE  -D_HPUX_SOURCE \
743		-DNAME='"hpuxs-11.0w"' -DHAVE_ANSIC_C -DASYNC_IO -DVXFS \
744		-DHAVE_PREAD $(CFLAGS) iozone.c  -o iozone_hpuxs-11.0w.o
745	$(CC) -c +DD64 -Dunix -D_LARGEFILE64_SOURCE  -D_HPUX_SOURCE \
746		-DHAVE_ANSIC_C -DASYNC_IO -DVXFS $(CFLAGS) libasync.c  -o libasyncw.o
747	$(CC) -c +DD64 -Dunix -D_LARGEFILE64_SOURCE  -D_HPUX_SOURCE \
748		-DHAVE_ANSIC_C -DASYNC_IO -DVXFS $(CFLAGS) libbif.c  -o libbif.o
749
750iozone_hpux-10.1.o:	iozone.c libbif.c
751	@echo ""
752	@echo "Building iozone for HP-UX (10.1)"
753	@echo ""
754	$(C89) +e -c -O -Dunix -D_HPUX_SOURCE -DHAVE_ANSIC_C -DNO_THREADS \
755		-DNAME='"hpux-10.1"' $(CFLAGS) iozone.c  -o iozone_hpux-10.1.o
756	$(C89) +e -c -O -Dunix -D_HPUX_SOURCE -DHAVE_ANSIC_C -DNO_THREADS \
757		$(CFLAGS) libbif.c  -o libbif.o
758
759iozone_hpux-10.20.o:	iozone.c libbif.c
760	@echo ""
761	@echo "Building iozone for HP-UX (10.20)"
762	@echo ""
763	$(C89) +e -c -O -Dunix -D_HPUX_SOURCE -DHAVE_ANSIC_C -DNO_THREADS \
764		-DNAME='"hpux-10.20"' $(CFLAGS) iozone.c  -o iozone_hpux-10.20.o
765	$(C89) +e -c -O -Dunix -D_HPUX_SOURCE -DHAVE_ANSIC_C -DNO_THREADS \
766		$(CFLAGS) libbif.c  -o libbif.o
767
768iozone_ghpux.o:	iozone.c libbif.c
769	@echo ""
770	@echo "Building iozone for GCC HP-UX (9.05) "
771	@echo ""
772	$(GCC) -c -O -Dunix -D_HPUX_SOURCE -DHAVE_ANSIC_C -DNO_THREADS $(CFLAGS) iozone.c \
773		-DNAME='"h=ghpux"' -o iozone_ghpux.o
774	$(GCC) -c -O -Dunix -D_HPUX_SOURCE -DHAVE_ANSIC_C -DNO_THREADS \
775		$(CFLAGS) libbif.c -o libbif.o
776
777iozone_generic.o:	iozone.c libbif.c
778	@echo ""
779	@echo "Building iozone Generic "
780	@echo ""
781	$(CC) -c -O -Dgeneric -Dunix -DHAVE_ANSIC_C -DNO_THREADS \
782		-DNAME='"Generic"' $(CFLAGS) iozone.c -o iozone_generic.o
783	$(CC) -c -O -Dgeneric -Dunix -DHAVE_ANSIC_C -DNO_THREADS \
784		$(CFLAGS) libbif.c -o libbif.o
785
786iozone_hpux_no.o:	iozone.c libbif.c
787	@echo ""
788	@echo "Building iozone for HP-UX (9.05) without ansi compiler"
789	@echo ""
790	$(NACC) -c -O -Dunix -D_HPUX_SOURCE -DNO_THREADS iozone.c \
791		-DNAME='"hpux_no_ansi"' -o iozone_hpux_no.o
792	$(NACC) -c -O -Dunix -D_HPUX_SOURCE -DNO_THREADS \
793		libbif.c -o libbif.o
794
795iozone_hpux_no-10.1.o:	iozone.c
796	@echo ""
797	@echo "Building iozone for HP-UX (10.1) without ansi compiler"
798	@echo ""
799	$(NACC) -c -O -Dunix -D_HPUX_SOURCE -DNO_THREADS iozone.c \
800		-DNAME='"hpux_no_ansi_10.1"' -o iozone_hpux_no-10.1.o
801	$(NACC) -c -O -Dunix -D_HPUX_SOURCE -DNO_THREADS \
802		libbif.c -o libbif.o
803
804iozone_linux-powerpc.o:	iozone.c libbif.c libasync.c
805	@echo ""
806	@echo "Building iozone for Linux PowerPC"
807	@echo ""
808	$(CC) -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DDONT_HAVE_O_DIRECT \
809		-DSHARED_MEM -Dlinux -D_LARGEFILE64_SOURCE $(CFLAGS) iozone.c \
810		-DNAME='"linux-powerpc"' -o iozone_linux-powerpc.o
811	$(CC) -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D_LARGEFILE64_SOURCE \
812		-DSHARED_MEM -Dlinux $(CFLAGS) libbif.c -o libbif.o
813	$(CC) -c -O3 -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \
814		-D_LARGEFILE64_SOURCE $(CFLAGS) libasync.c  -o libasync.o
815
816iozone_linux-powerpc64.o:	iozone.c libbif.c libasync.c
817	@echo ""
818	@echo "Building iozone for Linux PowerPC64"
819	@echo ""
820	$(CC) -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DNAME='"linux-powerpc64"' \
821		-DSHARED_MEM -Dlinux -D_LARGEFILE64_SOURCE $(CFLAGS) iozone.c \
822		$(FLAG64BIT) -o iozone_linux-powerpc64.o
823	$(CC) -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D_LARGEFILE64_SOURCE \
824		-DSHARED_MEM -Dlinux $(CFLAGS) libbif.c $(FLAG64BIT) -o libbif.o
825	$(CC) -c -O3 -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \
826		-D_LARGEFILE64_SOURCE $(CFLAGS) libasync.c $(FLAG64BIT) -o libasync.o
827
828iozone_linux-sparc.o:	iozone.c libbif.c libasync.c
829	@echo ""
830	@echo "Building iozone for Linux Sparc"
831	@echo ""
832	$(CC) -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DDONT_HAVE_O_DIRECT \
833		-DSHARED_MEM -Dlinux -D_LARGEFILE64_SOURCE $(CFLAGS) iozone.c \
834		-DNAME='"linux-sparc"' -o iozone_linux-sparc.o
835	$(CC) -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D_LARGEFILE64_SOURCE \
836		-DSHARED_MEM -Dlinux $(CFLAGS) libbif.c -o libbif.o
837	$(CC) -c -O3 -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \
838		-D_LARGEFILE64_SOURCE $(CFLAGS) libasync.c  -o libasync.o
839
840iozone_linux.o:	iozone.c libbif.c libasync.c
841	@echo ""
842	@echo "Building iozone for Linux"
843	@echo ""
844	$(CC) -Wmissing-prototypes -Wall -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DHAVE_PREAD \
845		-DSHARED_MEM -Dlinux -D_LARGEFILE64_SOURCE $(CFLAGS) iozone.c \
846		-DNAME='"linux"' -o iozone_linux.o
847	$(CC) -Wmissing-prototypes -Wall -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D_LARGEFILE64_SOURCE \
848		-DSHARED_MEM -Dlinux $(CFLAGS) libbif.c -o libbif.o
849	$(CC) -Wmissing-prototypes -Wall -c -O3 -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \
850		-D_LARGEFILE64_SOURCE $(CFLAGS) libasync.c  -o libasync.o
851
852fileop_AIX.o:	fileop.c
853	@echo ""
854	@echo "Building fileop for AIX"
855	@echo ""
856	$(CC) -c -O $(CFLAGS) fileop.c -o fileop_AIX.o
857
858fileop_AIX-LF.o:	fileop.c
859	@echo ""
860	@echo "Building fileop for AIX-LF"
861	@echo ""
862	$(CC) -c -O $(CFLAGS) fileop.c -o fileop_AIX-LF.o
863
864fileop_AIX64.o:       fileop.c
865	@echo ""
866	@echo "Building fileop for AIX64"
867	@echo ""
868	$(GCC) -maix64 -c -O3 $(CFLAGS) fileop.c -o fileop_AIX64.o
869
870fileop_AIX64-LF.o:    fileop.c
871	@echo ""
872	@echo "Building fileop for AIX64-LF"
873	@echo ""
874	$(GCC) -maix64 -c -O3 $(CFLAGS) fileop.c -o fileop_AIX64-LF.o
875
876fileop_bsdi.o:	fileop.c
877	@echo ""
878	@echo "Building fileop for BSDi"
879	@echo ""
880	$(CC) -c -O $(CFLAGS) fileop.c -o fileop_bsdi.o
881
882fileop_freebsd.o:	fileop.c
883	@echo ""
884	@echo "Building fileop for FreeBSD"
885	@echo ""
886	$(CC) -c -O $(CFLAGS) fileop.c -o fileop_freebsd.o
887
888fileop_freebsd64.o:	fileop.c
889	@echo ""
890	@echo "Building fileop for FreeBSD64"
891	@echo ""
892	$(CC) -c -O $(CFLAGS) fileop.c -o fileop_freebsd64.o
893
894fileop_dragonfly.o:	fileop.c
895	@echo ""
896	@echo "Building fileop for DragonFly"
897	@echo ""
898	$(CC) -c -O $(CFLAGS) fileop.c -o fileop_dragonfly.o
899
900fileop_netbsd.o:	fileop.c
901	@echo ""
902	@echo "Building fileop for NetBSD"
903	@echo ""
904	$(CC) -c -O $(CFLAGS) fileop.c -o fileop_netbsd.o
905
906fileop_netbsd-AMD64.o: fileop.c
907	@echo ""
908	@echo "Building fileop for NetBSD/AMD64"
909	@echo ""
910	$(CC) -Wall -c -O $(CFLAGS) fileop.c -o fileop_netbsd-AMD64.o
911
912fileop_Solaris.o:	fileop.c
913	@echo ""
914	@echo "Building fileop for Solaris"
915	@echo ""
916	$(CC) -c -O $(CFLAGS) fileop.c -o fileop_Solaris.o
917
918fileop_Solaris10.o:	fileop.c
919	@echo ""
920	@echo "Building fileop for Solaris10"
921	@echo ""
922	$(CC) -c -O $(CFLAGS) fileop.c -o fileop_Solaris10.o
923
924fileop_Solaris10cc.o: fileop.c
925	@echo ""
926	@echo "Building fileop for Solaris10cc"
927	@echo ""
928	$(CC) -c -O $(CFLAGS) fileop.c -o fileop_Solaris10cc.o
929
930
931fileop_Solaris10gcc.o:	fileop.c
932	@echo ""
933	@echo "Building fileop for Solaris10gcc"
934	@echo ""
935	$(GCC) -c -O $(CFLAGS) fileop.c -o fileop_Solaris10gcc.o
936
937fileop_Solaris10gcc-64.o:	fileop.c
938	@echo ""
939	@echo "Building fileop for Solaris10gcc-64"
940	@echo ""
941	$(GCC) -c -O $(CFLAGS) $(S10GCCFLAGS) fileop.c -o fileop_Solaris10gcc-64.o
942
943fileop_Solaris10cc-64.o:      fileop.c
944	@echo ""
945	@echo "Building fileop for Solaris10cc-64"
946	@echo ""
947	$(CC) -c -O $(CFLAGS) $(S10CCFLAGS) fileop.c -o fileop_Solaris10cc-64.o
948
949
950fileop_linux.o:	fileop.c
951	@echo ""
952	@echo "Building fileop for Linux"
953	@echo ""
954	$(CC) -Wall -c -O3 $(CFLAGS) fileop.c -o fileop_linux.o
955
956fileop_openbsd.o:	fileop.c
957	@echo ""
958	@echo "Building fileop for OpenBSD"
959	@echo ""
960	$(CC) -Wall -c -O $(CFLAGS) fileop.c -o fileop_openbsd.o
961
962fileop_macosx.o:	fileop.c
963	@echo ""
964	@echo "Building fileop for MAC OS X"
965	@echo ""
966	$(CC) -Wall -c -O3 -DIOZ_macosx $(CFLAGS) fileop.c -o fileop_macosx.o
967
968fileop_linux-ia64.o:	fileop.c
969	@echo ""
970	@echo "Building fileop for Linux-ia64"
971	@echo ""
972	$(CC) -Wall -c -O3 $(CFLAGS) fileop.c -o fileop_linux-ia64.o
973
974fileop_linux-ppc.o:	fileop.c
975	@echo ""
976	@echo "Building fileop for Linux-powerpc"
977	@echo ""
978	$(CC) -Wall -c -O3 $(CFLAGS) fileop.c -o fileop_linux-ppc.o
979
980fileop_linux-ppc64.o:	fileop.c
981	@echo ""
982	@echo "Building fileop for Linux-powerpc64"
983	@echo ""
984	$(CC) -Wall -c -O3 $(CFLAGS) $(FLAG64BIT) fileop.c -o fileop_linux-ppc64.o
985
986fileop_linux-AMD64.o:	fileop.c
987	@echo ""
988	@echo "Building fileop for Linux-AMD64"
989	@echo ""
990	$(CC) -Wall -c -O3 $(CFLAGS) fileop.c -o fileop_linux-AMD64.o
991
992fileop_linux-arm.o:  fileop.c
993	@echo ""
994	@echo "Building fileop for Linux-arm"
995	@echo ""
996	$(GCC) -Wall -c -O3 $(CFLAGS) fileop.c -o fileop_linux-arm.o
997
998fileop_android.o:  fileop.c
999	@echo ""
1000	@echo "Building fileop for Android"
1001	@echo ""
1002	$(GCC) -Wall -c -O3 $(CFLAGS) $(ANDROID_CFLAGS) fileop.c -o fileop_android.o
1003
1004fileop_linux-s390.o:  fileop.c
1005	@echo ""
1006	@echo "Building fileop for Linux-S390"
1007	@echo ""
1008	$(GCC) -Wall -c -O3 $(CFLAGS) fileop.c -o fileop_linux-s390.o
1009
1010fileop_linux-s390x.o:  fileop.c
1011	@echo ""
1012	@echo "Building fileop for Linux-s390x"
1013	@echo ""
1014	$(GCC) -Wall -c -O3 $(CFLAGS) fileop.c -o fileop_linux-s390x.o
1015
1016fileop_windows.o: fileop.c
1017	@echo ""
1018	@echo "Building fileop for Windows"
1019	@echo ""
1020	$(GCC) -Wall -c -O3 $(CFLAGS) -DWindows fileop.c -o fileop_windows.o
1021
1022fileop_sua.o: fileop.c
1023	@echo ""
1024	@echo "Building fileop for Windows SUA"
1025	@echo ""
1026	$(GCC) -Wall -c -O3 $(CFLAGS) -D_SUA_ fileop.c -o fileop_sua.o
1027
1028iozone_linux-ia64.o:	iozone.c libbif.c libasync.c
1029	@echo ""
1030	@echo "Building iozone for Linux-ia64"
1031	@echo ""
1032	$(CC) -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DNAME='"linux-ia64"' \
1033		-DSHARED_MEM -Dlinux -D_LARGEFILE64_SOURCE $(CFLAGS) iozone.c \
1034		-o iozone_linux-ia64.o
1035	$(CC) -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D_LARGEFILE64_SOURCE \
1036		-DSHARED_MEM -Dlinux $(CFLAGS) libbif.c -o libbif.o
1037	$(CC) -c -O3 -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \
1038		-D_LARGEFILE64_SOURCE $(CFLAGS) libasync.c  -o libasync.o
1039
1040iozone_linux-arm.o:	iozone.c libbif.c libasync.c
1041	@echo ""
1042	@echo "Building iozone for Linux-arm"
1043	@echo ""
1044	$(CC) -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DHAVE_PREAD \
1045		-DNAME='"linux-arm"' -DLINUX_ARM -DSHARED_MEM \
1046		-Dlinux -D_LARGEFILE64_SOURCE $(CFLAGS) iozone.c \
1047		-o iozone_linux-arm.o
1048	$(CC) -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D_LARGEFILE64_SOURCE \
1049		-DSHARED_MEM -Dlinux $(CFLAGS) libbif.c -o libbif.o
1050	$(CC) -c -O3 -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \
1051		-D_LARGEFILE64_SOURCE $(CFLAGS) libasync.c  -o libasync.o
1052
1053iozone_android.o:	iozone.c libbif.c libasync.c
1054	@echo ""
1055	@echo "Building iozone for Android"
1056	@echo ""
1057	$(CC) -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DHAVE_PREAD \
1058		-DNAME='"android"' -DLINUX_ARM -DANDROID -DSHARED_MEM \
1059		-Dlinux -D_LARGEFILE64_SOURCE $(CFLAGS) $(ANDROID_CFLAGS) iozone.c \
1060		-o iozone_android.o
1061	$(CC) -c -O3 -Dunix -DANDROID -DHAVE_ANSIC_C -DASYNC_IO -D_LARGEFILE64_SOURCE \
1062		-DSHARED_MEM -Dlinux $(CFLAGS) $(ANDROID_CFLAGS) libbif.c -o libbif.o
1063	$(CC) -c -O3 -Dunix -Dlinux -DANDROID -DHAVE_ANSIC_C -DASYNC_IO \
1064		-D_LARGEFILE64_SOURCE $(CFLAGS) $(ANDROID_CFLAGS) libasync.c  -o libasync.o
1065
1066iozone_linux-AMD64.o:	iozone.c libbif.c libasync.c
1067	@echo ""
1068	@echo "Building iozone for Linux-AMD64"
1069	@echo ""
1070	$(CC) -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DNAME='"linux-AMD64"' \
1071		-D__AMD64__ -DSHARED_MEM -Dlinux -D_LARGEFILE64_SOURCE \
1072		-DHAVE_PREAD $(CFLAGS) iozone.c -o iozone_linux-AMD64.o
1073	$(CC) -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D_LARGEFILE64_SOURCE \
1074		-DSHARED_MEM -Dlinux $(CFLAGS) libbif.c -o libbif.o
1075	$(CC) -c -O3 -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \
1076		-D_LARGEFILE64_SOURCE $(CFLAGS) libasync.c  -o libasync.o
1077
1078iozone_linux-s390.o:	iozone.c libbif.c libasync.c
1079	@echo ""
1080	@echo "Building iozone for Linux-s390"
1081	@echo ""
1082	$(CC) -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DHAVE_PREAD \
1083		-DSHARED_MEM -Dlinux -D_LARGEFILE64_SOURCE $(CFLAGS) iozone.c \
1084		-DNAME='"linux-s390"' -o iozone_linux-s390.o
1085	$(CC) -c -O3 -Dunix -DHAVE_ANSIC_C -DSHARED_MEM -Dlinux \
1086		-D_LARGEFILE64_SOURCE $(CFLAGS) libbif.c -o libbif.o
1087	$(CC) -c -O3 -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \
1088		-D_LARGEFILE64_SOURCE $(CFLAGS) libasync.c -o libasync.o
1089
1090iozone_linux-s390x.o:	iozone.c libbif.c libasync.c
1091	@echo ""
1092	@echo "Building iozone for Linux-s390x"
1093	@echo ""
1094	$(CC) -c -O3 -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DHAVE_PREAD \
1095		-DSHARED_MEM -Dlinux -D_LARGEFILE64_SOURCE $(CFLAGS) iozone.c \
1096		-DNAME='"linux-s390x"' -o iozone_linux-s390x.o
1097	$(CC) -c -O3 -Dunix -DHAVE_ANSIC_C -DSHARED_MEM -Dlinux \
1098		-D_LARGEFILE64_SOURCE $(CFLAGS) libbif.c -o libbif.o
1099	$(CC) -c -O3 -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \
1100		-D_LARGEFILE64_SOURCE $(CFLAGS) libasync.c -o libasync.o
1101
1102
1103iozone_AIX.o:	iozone.c libbif.c
1104	@echo ""
1105	@echo "Building iozone for AIX"
1106	@echo ""
1107	$(CC) -c -O -D__AIX__ -D_NO_PROTO -Dunix -DHAVE_ANSIC_C  \
1108		-DNAME='"AIX"' -DSHARED_MEM  $(CFLAGS) iozone.c -o iozone_AIX.o
1109	$(CC) -c -O -D__AIX__ -D_NO_PROTO -Dunix -DHAVE_ANSIC_C  \
1110		-DSHARED_MEM $(CFLAGS) libbif.c -o libbif.o
1111
1112iozone_AIX-LF.o:	iozone.c libbif.c
1113	@echo ""
1114	@echo "Building iozone for AIX with Large files"
1115	@echo ""
1116	$(CC) -c -O -D__AIX__ -D_NO_PROTO -Dunix -DHAVE_ANSIC_C  \
1117		-DSHARED_MEM  -D_LARGEFILE64_SOURCE -D_LARGE_FILES \
1118		-DNAME='"AIX-LF"' $(CFLAGS) iozone.c -o iozone_AIX-LF.o
1119	$(CC) -c -O -D__AIX__ -D_NO_PROTO -Dunix -DHAVE_ANSIC_C  \
1120		-DSHARED_MEM -D_LARGEFILE64_SOURCE -D_LARGE_FILES \
1121		$(CFLAGS) libbif.c -o libbif.o
1122
1123iozone_AIX64.o:       iozone.c libbif.c libasync.c
1124	@echo ""
1125	@echo "Building iozone for AIX64"
1126	@echo ""
1127	$(GCC) -maix64 -c -O3 -D__AIX__ -D_NO_PROTO -Dunix -DHAVE_ANSIC_C \
1128              -DASYNC_IO -DNAME='"AIX64"' -DSHARED_MEM \
1129              $(CFLAGS) iozone.c -o iozone_AIX64.o
1130	$(GCC) -maix64 -c -O3 -D__AIX__ -D_NO_PROTO -Dunix -DHAVE_ANSIC_C \
1131              -DASYNC_IO -DSHARED_MEM $(CFLAGS) libbif.c -o libbif.o
1132	$(GCC) -maix64 -c -O3 -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \
1133              $(CFLAGS) libasync.c -o libasync.o
1134
1135iozone_AIX64-LF.o:    iozone.c libbif.c libasync.c
1136	@echo ""
1137	@echo "Building iozone for AIX64 with Large files"
1138	@echo ""
1139	$(GCC) -maix64 -c -O3 -D__AIX__ -D_NO_PROTO -Dunix -DHAVE_ANSIC_C \
1140              -DASYNC_IO -DNAME='"AIX64-LF"' -DSHARED_MEM \
1141              -D_LARGEFILE64_SOURCE -D_LARGE_FILES \
1142              $(CFLAGS) iozone.c -o iozone_AIX64-LF.o
1143	$(GCC) -maix64 -c -O3 -D__AIX__ -D_NO_PROTO -Dunix -DHAVE_ANSIC_C \
1144              -DASYNC_IO -DSHARED_MEM -D_LARGEFILE64_SOURCE -D_LARGE_FILES \
1145              $(CFLAGS) libbif.c -o libbif.o
1146	$(GCC) -maix64 -c -O3 -Dunix -Dlinux -DHAVE_ANSIC_C -DASYNC_IO \
1147              -D_LARGEFILE64_SOURCE -D_LARGE_FILES \
1148              $(CFLAGS) libasync.c -o libasync.o
1149
1150iozone_solaris.o:	iozone.c libasync.c libbif.c
1151	@echo ""
1152	@echo "Building iozone for Solaris"
1153	@echo ""
1154	$(CC) -c -O -Dunix -DHAVE_ANSIC_C -DASYNC_IO \
1155		-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dsolaris \
1156		-DNAME='"Solaris"' $(CFLAGS) iozone.c -o iozone_solaris.o
1157	$(CC) -O -c  -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D__LP64__ \
1158		-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dsolaris \
1159		$(CFLAGS) libasync.c -o libasync.o
1160	$(CC) -O -c  -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D__LP64__ \
1161		-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dsolaris \
1162		$(CFLAGS) libbif.c -o libbif.o
1163
1164iozone_solaris7gcc.o:	iozone.c libasync.c libbif.c
1165	@echo ""
1166	@echo "Building iozone for Solaris7gcc"
1167	@echo ""
1168	$(GCC) -O -c  -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D__LP64__ \
1169		-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dsolaris \
1170		-DNAME='"Solaris7gcc"' $(CFLAGS) libasync.c -o libasync7.o
1171	$(GCC) -O -c  -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D__LP64__ \
1172		-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dsolaris \
1173		$(CFLAGS) libbif.c -o libbif7.o
1174	$(GCC) -c -O -Dunix -DHAVE_ANSIC_C -DASYNC_IO \
1175		-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dsolaris \
1176		-DNAME='"Solaris7gcc"' $(CFLAGS) iozone.c -o iozone_solaris7gcc.o
1177
1178iozone_solaris10.o:  iozone.c libbif.c
1179	@echo ""
1180	@echo "Building iozone for Solaris10"
1181	@echo ""
1182	$(CC) -O -c  -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D__LP64__ \
1183	        -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dsolaris \
1184	        $(CFLAGS) libbif.c -o libbif10.o
1185	$(CC) -O -c  -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D__LP64__ \
1186	        -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dsolaris \
1187	        -DNAME='"Solaris10"' $(CFLAGS) libasync.c -o libasync10.o
1188	$(CC) -c -O -Dunix -DHAVE_ANSIC_C -DASYNC_IO -Dstudio11 \
1189	        -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dsolaris \
1190	        -DNAME='"Solaris10"' $(CFLAGS) iozone.c -o iozone_solaris10.o
1191
1192iozone_solaris10cc.o:  iozone.c libbif.c
1193	@echo ""
1194	@echo "Building iozone for Solaris10cc"
1195	@echo ""
1196	$(CC) -O -c  -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D__LP64__ \
1197	        -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dsolaris \
1198	        $(CFLAGS) libbif.c -o libbif10cc.o
1199	$(CC) -O -c  -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D__LP64__ \
1200	        -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dsolaris \
1201	        -DNAME='"Solaris10"' $(CFLAGS) libasync.c -o libasync10cc.o
1202	$(CC) -c -O -Dunix -DHAVE_ANSIC_C -DASYNC_IO -Dstudio11 \
1203	        -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dsolaris \
1204	        -DNAME='"Solaris10"' $(CFLAGS) iozone.c -o iozone_solaris10cc.o
1205
1206iozone_solaris10gcc.o:  iozone.c libbif.c
1207	@echo ""
1208	@echo "Building iozone for Solaris10gcc"
1209	@echo ""
1210	$(GCC) -O -c  -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D__LP64__ \
1211                -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dsolaris \
1212                $(CFLAGS) libbif.c -o libbif10.o
1213	$(GCC) -O -c  -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D__LP64__ \
1214                -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dsolaris \
1215                -DNAME='"Solaris10gcc"' $(CFLAGS) libasync.c -o libasync10.o
1216	$(GCC) -c -O -Dunix -DHAVE_ANSIC_C -DASYNC_IO \
1217                -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dsolaris \
1218                -DNAME='"Solaris10gcc"' $(CFLAGS) iozone.c -o iozone_solaris10gcc.o
1219
1220iozone_solaris10gcc-64.o:  iozone.c libbif.c
1221	@echo ""
1222	@echo "Building iozone for Solaris10gcc-64"
1223	@echo ""
1224	$(GCC) -O -c  -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D__LP64__ \
1225                -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dsolaris \
1226                $(CFLAGS) $(S10GCCFLAGS) libbif.c -o libbif10-64.o
1227	$(GCC) -O -c  -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D__LP64__ \
1228                -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dsolaris \
1229                -DNAME='"Solaris10gcc-64"' $(CFLAGS) $(S10GCCFLAGS) libasync.c -o libasync10-64.o
1230	$(GCC) -c -O -Dunix -DHAVE_ANSIC_C -DASYNC_IO \
1231                -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dsolaris \
1232                -DNAME='"Solaris10gcc-64"' $(CFLAGS) $(S10GCCFLAGS) iozone.c -o iozone_solaris10gcc-64.o
1233
1234iozone_solaris10cc-64.o:  iozone.c libbif.c
1235	@echo ""
1236	@echo "Building iozone for Solaris10cc-64"
1237	@echo ""
1238	$(CC) -O -c  -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D__LP64__ \
1239		-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dsolaris \
1240		$(CFLAGS) $(S10CCFLAGS) libbif.c -o libbif10-64.o
1241	$(CC) -O -c  -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D__LP64__ \
1242		-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dsolaris \
1243		-DNAME='"Solaris10cc-64"' $(CFLAGS) $(S10CCFLAGS) libasync.c -o libasync10-64.o
1244	$(CC) -c -O -Dunix -DHAVE_ANSIC_C -DASYNC_IO -Dstudio11 \
1245		-D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -Dsolaris \
1246		-DNAME='"Solaris10cc-64"' $(CFLAGS) $(S10CCFLAGS) iozone.c -o iozone_solaris10cc-64.o
1247
1248
1249#
1250#		-DSHARED_MEM -Dsolaris libasync.c -o libasync.o
1251#		-DSHARED_MEM -Dsolaris iozone.c -o iozone_solaris.o
1252#
1253
1254iozone_solaris-2.6.o:	iozone.c libbif.c
1255	@echo ""
1256	@echo "Building iozone for Solaris-2.6"
1257	@echo ""
1258	$(CC) -c -O -Dunix -DHAVE_ANSIC_C -DNO_THREADS \
1259		-DNAME='"Solaris-2.6"' -Dsolaris  $(CFLAGS) iozone.c -o iozone_solaris-2.6.o
1260	$(CC) -O -c  -Dunix -DHAVE_ANSIC_C \
1261		-Dsolaris $(CFLAGS) libbif.c -o libbif.o
1262
1263iozone_solaris8-64.o: iozone.c libasync.c libbif.c
1264	@echo ""
1265	@echo "Building iozone for Solaris8-64"
1266	@echo ""
1267	$(CC) -fast -xtarget=generic64 -v -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO \
1268		-D__LP64__ -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 \
1269		-DNAME='"Solaris8-64"' -Dsolaris -DHAVE_PREAD \
1270		$(CFLAGS) iozone.c -o iozone_solaris8-64.o
1271	$(CC) -fast -xtarget=generic64 -v -c  -Dunix -DHAVE_ANSIC_C -DASYNC_IO \
1272		-D__LP64__ -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 \
1273		-Dsolaris -DHAVE_PREAD $(CFLAGS) libasync.c -o libasync.o
1274	$(CC) -fast -xtarget=generic64 -v -c  -Dunix -DHAVE_ANSIC_C -DASYNC_IO \
1275		-D__LP64__ -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 \
1276		-Dsolaris -DHAVE_PREAD $(CFLAGS) libbif.c -o libbif.o
1277
1278iozone_solaris8-64-VXFS.o: iozone.c libasync.c libbif.c
1279	@echo ""
1280	@echo "Building iozone for Solaris8-64-VXFS"
1281	@echo ""
1282	$(CC) -fast -xtarget=generic64 -v -c -I/opt/VRTSvxfs/include/ -Dunix \
1283		-DVXFS -DHAVE_ANSIC_C -DASYNC_IO \
1284		-D__LP64__ -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 \
1285		-DNAME='"Solaris8-64"' -Dsolaris -DHAVE_PREAD \
1286		$(CFLAGS) iozone.c -o iozone_solaris8-64-VXFS.o
1287	$(CC) -fast -xtarget=generic64 -v -c  -I/opt/VRTSvxfs/include/ -Dunix \
1288		-DVXFS -DHAVE_ANSIC_C -DASYNC_IO \
1289		-D__LP64__ -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 \
1290		-Dsolaris -DHAVE_PREAD $(CFLAGS) libasync.c -o libasync.o
1291	$(CC) -fast -xtarget=generic64 -v -c -I/opt/VRTSvxfs/include/ -Dunix \
1292		-DVXFS -DHAVE_ANSIC_C -DASYNC_IO \
1293		-D__LP64__ -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 \
1294		-Dsolaris -DHAVE_PREAD $(CFLAGS) libbif.c -o libbif.o
1295
1296iozone_windows.o:	iozone.c libasync.c libbif.c fileop.c
1297	@echo ""
1298	@echo "Building iozone for Windows (No async I/O)"
1299	@echo ""
1300	$(GCC) -c -O -Dunix -DHAVE_ANSIC_C -DNO_MADVISE  \
1301		-DWindows $(CFLAGS) iozone.c \
1302		-o iozone_windows.o
1303	$(GCC) -c -O -Dunix -DHAVE_ANSIC_C -DNO_MADVISE \
1304		-DWindows $(CFLAGS) libbif.c -o libbif.o
1305
1306
1307#		-D_SUA_ $(CFLAGS) -DDONT_HAVE_O_DIRECT iozone.c \
1308
1309iozone_sua.o:	iozone.c libasync.c libbif.c fileop.c
1310	@echo ""
1311	@echo "Building iozone for Windows SUA (No async I/O)"
1312	@echo ""
1313	$(GCC) -c -O -Dunix -DHAVE_ANSIC_C -D_XOPEN_SOURCE -DNO_MADVISE  \
1314		-D_SUA_ $(CFLAGS) iozone.c \
1315		-DNAME='"Windows SUA"' -o iozone_sua.o
1316	$(GCC) -c -O -Dunix -D_SUA_ -D_XOPEN_SOURCE -DHAVE_ANSIC_C \
1317		-DNO_MADVISE $(CFLAGS) libbif.c -o libbif.o
1318
1319iozone_uwin.o:	iozone.c libbif.c
1320	@echo ""
1321	@echo "Building iozone for UWIN (No threads, No async I/O)"
1322	@echo ""
1323	$(GCC) -c -O -DUWIN -Dunix -DHAVE_ANSIC_C -DNO_THREADS  -DNO_MADVISE \
1324		-DNAME='"UWIN"' -DSHARED_MEM -DWindows $(CFLAGS) iozone.c -o iozone_uwin.o
1325	$(GCC) -c -O -DUWIN -Dunix -DHAVE_ANSIC_C -DNO_THREADS  -DNO_MADVISE \
1326		-DSHARED_MEM -DWindows $(CFLAGS) libbif.c -o libbif.o
1327
1328iozone_IRIX64.o:	iozone.c libasync.c libbif.c
1329	@echo ""
1330	@echo "Building iozone for IRIX64"
1331	@echo ""
1332	$(CC) -32 -O -c  -Dunix -DHAVE_ANSIC_C -D_LARGEFILE64_SOURCE -DASYNC_IO \
1333		-DNAME='"IRIX64"' -DIRIX64 -DSHARED_MEM $(CFLAGS) iozone.c -o iozone_IRIX64.o
1334	$(CC) -32 -O -c  -Dunix -DHAVE_ANSIC_C -D_LARGEFILE64_SOURCE -DASYNC_IO \
1335		-DIRIX64 -DSHARED_MEM $(CFLAGS) libasync.c -o libasyncw.o
1336	$(CC) -32 -O -c  -Dunix -DHAVE_ANSIC_C -D_LARGEFILE64_SOURCE -DASYNC_IO \
1337		-DIRIX64 -DSHARED_MEM $(CFLAGS) libbif.c -o libbif.o
1338
1339iozone_IRIX.o:	iozone.c libasync.c libbif.c
1340	@echo ""
1341	@echo "Building iozone for IRIX"
1342	@echo ""
1343	$(CC)  -O -32 -c  -Dunix -DHAVE_ANSIC_C -DASYNC_IO \
1344		-DNAME='"IRIX"' -DIRIX -DSHARED_MEM $(CFLAGS) iozone.c -o iozone_IRIX.o
1345	$(CC)  -O -32 -c  -Dunix -DHAVE_ANSIC_C -DASYNC_IO \
1346		-DIRIX -DSHARED_MEM $(CFLAGS) libasync.c -o libasync.o
1347	$(CC)  -O -32 -c  -Dunix -DHAVE_ANSIC_C -DASYNC_IO \
1348		-DIRIX -DSHARED_MEM $(CFLAGS) libbif.c -o libbif.o
1349
1350iozone_CrayX1.o: iozone.c libasync.c libbif.c
1351	@echo ""
1352	@echo "Building iozone for CrayX1"
1353	@echo ""
1354	$(CC)  -O -c  -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D_LARGEFILE64_SOURCE \
1355		-DNAME='"CrayX1"' -DIRIX64 -DSHARED_MEM -D__CrayX1__ \
1356		$(CFLAGS) iozone.c -o iozone_CrayX1.o
1357	$(CC)  -O -c  -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D_LARGEFILE64_SOURCE \
1358		-DIRIX64 -DSHARED_MEM -D__CrayX1__ \
1359		$(CFLAGS) libasync.c -o libasyncw.o
1360	$(CC)  -O -c  -Dunix -DHAVE_ANSIC_C -DASYNC_IO -D_LARGEFILE64_SOURCE \
1361		-DIRIX64 -DSHARED_MEM -D__CrayX1__ $(CFLAGS) libbif.c \
1362		-o libbif.o
1363
1364iozone_sppux.o:	iozone.c libbif.c
1365	@echo ""
1366	@echo "Building iozone for SPP-UX using Convex compiler"
1367	@echo ""
1368	$(NACC) -c  -O -Dunix -D_HPUX_SOURCE -D__convex_spp \
1369		-DNAME='"sppux"' -Wl,+parallel -DHAVE_ANSIC_C -DHAVE_PREAD \
1370		-DHAVE_PREADV $(CFLAGS) iozone.c -o iozone_sppux.o
1371	$(NACC) -O -Dunix -D_HPUX_SOURCE -D__convex_spp \
1372		-Wl,+parallel -DHAVE_ANSIC_C -DHAVE_PREAD -DHAVE_PREADV \
1373		$(CFLAGS) libbif.c -o libbif.o
1374
1375iozone_sppux-10.1.o:	iozone.c libbif.c
1376	@echo ""
1377	@echo "Building iozone for SPP-UX using HP ansic compiler"
1378	@echo ""
1379	$(NACC) -c -O -Dunix -D_HPUX_SOURCE -D__convex_spp \
1380		-DHAVE_ANSIC_C -DHAVE_PREAD -DHAVE_PREADV $(CFLAGS) iozone.c \
1381		 -DNAME='"sppux-10.1"' -Wl,+parallel -o iozone_sppux-10.1.o
1382	$(NACC) -c -O -Dunix -D_HPUX_SOURCE -D__convex_spp \
1383		-DHAVE_ANSIC_C -DHAVE_PREAD -DHAVE_PREADV \
1384		$(CFLAGS) libbif.c -Wl,+parallel -o libbif.o
1385
1386iozone_sppux_no-10.1.o:	iozone.c libbif.c
1387	@echo ""
1388	@echo "Building iozone for SPP-UX no ANSI c compiler"
1389	@echo ""
1390	$(CCS) -c -O -Dunix -D_HPUX_SOURCE -D__convex_spp \
1391		-DNAME='"sppux_no_ansi_10.1"' -Wl,+parallel -DHAVE_PREAD \
1392		-DHAVE_PREADV $(CFLAGS) iozone.c -o iozone_sppux_no-10.1.o
1393	$(CCS) -c -O -Dunix -D_HPUX_SOURCE -D__convex_spp \
1394		-Wl,+parallel -DHAVE_PREAD -DHAVE_PREADV $(CFLAGS) \
1395		libbif.c -o libbif.o
1396
1397iozone_convex.o:	iozone.c libbif.c
1398	@echo ""
1399	@echo "Building iozone for Convex 'C' series"
1400	@echo ""
1401		$(CC) -c -O -Dunix -DNO_THREADS -Dbsd4_2 $(CFLAGS) iozone.c \
1402			-DNAME='"Convex"' -o iozone_convex.o
1403		$(CC) -c -O -Dunix -DNO_THREADS -Dbsd4_2 \
1404			$(CFLAGS) libbif.c -o libbif.o
1405
1406iozone_bsdi.o:	iozone.c libbif.c
1407	@echo ""
1408	@echo "Build iozone for BSD/OS"
1409	@echo ""
1410	$(CC) -c -O -Dunix -Dbsd4_4 -DHAVE_ANSIC_C \
1411		-DNAME='"bsdi"' $(CFLAGS) iozone.c -o iozone_bsdi.o
1412	$(CC) -c -O -Dunix -Dbsd4_4 -DHAVE_ANSIC_C \
1413		$(CFLAGS) libbif.c -o libbif.o
1414
1415iozone_freebsd.o:	iozone.c libbif.c libasync.c
1416	@echo ""
1417	@echo "Build iozone for FreeBSD"
1418	@echo ""
1419	$(CC) -c ${CFLAGS}  -DFreeBSD -Dunix -Dbsd4_4 -DHAVE_ANSIC_C -DASYNC_IO \
1420		-DHAVE_PREAD -DNAME='"freebsd"' -DSHARED_MEM \
1421		$(CFLAGS) iozone.c -o iozone_freebsd.o
1422	$(CC) -c ${CFLAGS} -DFreeBSD -Dunix -Dbsd4_4 -DHAVE_ANSIC_C -DASYNC_IO \
1423		-DSHARED_MEM -DHAVE_PREAD $(CFLAGS) libbif.c \
1424		-o libbif.o
1425	$(CC) -c ${CFLAGS} -DFreeBSD -Dunix -Dbsd4_4 -DHAVE_ANSIC_C -DASYNC_IO \
1426		-DSHARED_MEM -DHAVE_PREAD $(CFLAGS) libasync.c \
1427		-o libasync.o
1428
1429iozone_freebsd64.o:	iozone.c libbif.c libasync.c
1430	@echo ""
1431	@echo "Build iozone for FreeBSD64"
1432	@echo ""
1433	$(CC) -c ${CFLAGS}  -DFreeBSD -Dunix -Dbsd4_4 -DHAVE_ANSIC_C -DASYNC_IO \
1434		-DHAVE_PREAD -DNAME='"freebsd"' -DSHARED_MEM \
1435		$(CFLAGS) iozone.c -o iozone_freebsd64.o
1436	$(CC) -c ${CFLAGS} -DFreeBSD -Dunix -Dbsd4_4 -DHAVE_ANSIC_C -DASYNC_IO \
1437		-DSHARED_MEM -DHAVE_PREAD $(CFLAGS) libbif.c \
1438		-o libbif.o
1439	$(CC) -c ${CFLAGS} -DFreeBSD -Dunix -Dbsd4_4 -DHAVE_ANSIC_C -DASYNC_IO \
1440		-DSHARED_MEM -DHAVE_PREAD $(CFLAGS) libasync.c \
1441		-o libasync.o
1442
1443iozone_dragonfly.o:	iozone.c libbif.c
1444	@echo ""
1445	@echo "Build iozone for DragonFly"
1446	@echo ""
1447	$(CC) -c ${CFLAGS}  -D__DragonFly__ -Dunix -DHAVE_ANSIC_C -DNO_THREADS \
1448		-DNAME='"dragonfly"' -DSHARED_MEM -DHAVE_PREAD -DHAVE_PREADV \
1449		$(CFLAGS) iozone.c -o iozone_dragonfly.o
1450	$(CC) -c ${CFLAGS} -D__DragonFly__ -Dunix -DHAVE_ANSIC_C -DNO_THREADS \
1451		-DSHARED_MEM -DHAVE_PREAD -DHAVE_PREADV $(CFLAGS) libbif.c \
1452		-o libbif.o
1453
1454iozone_macosx.o:	iozone.c libbif.c
1455	@echo ""
1456	@echo "Build iozone for MacOSX"
1457	@echo ""
1458	$(CC) -c -O3 -Dunix -Dbsd4_2 -DIOZ_macosx -DHAVE_ANSIC_C -DNO_THREADS \
1459		-DNAME='"macosx"' -DSHARED_MEM $(CFLAGS) iozone.c -o iozone_macosx.o
1460	$(CC) -c -O3 -Dunix -Dbsd4_2 -DIOZ_macosx -DHAVE_ANSIC_C -DNO_THREADS \
1461		-DSHARED_MEM $(CFLAGS) libbif.c -o libbif.o
1462
1463iozone_openbsd.o:	iozone.c libbif.c
1464	@echo ""
1465	@echo "Build iozone for OpenBSD"
1466	@echo ""
1467	$(CC) -c -O -Dunix -Dbsd4_4 -DHAVE_ANSIC_C -DNO_THREADS \
1468		-DNAME='"openbsd"' -DSHARED_MEM $(CFLAGS) iozone.c -o iozone_openbsd.o
1469	$(CC) -c -O -Dunix -Dbsd4_4 -DHAVE_ANSIC_C -DNO_THREADS \
1470		-DSHARED_MEM $(CFLAGS) libbif.c -o libbif.o
1471
1472iozone_openbsd-threads.o:	iozone.c libbif.c
1473	@echo ""
1474	@echo "Build iozone for OpenBSD with threads"
1475	@echo ""
1476	$(CC) -c -O -pthread -Dunix -Dbsd4_4 -DHAVE_ANSIC_C \
1477		-DNAME='"openbsd-threads"' $(CFLAGS) iozone.c \
1478		-o iozone_openbsd-threads.o
1479	$(CC) -c -O -pthread -Dunix -Dbsd4_4 -DHAVE_ANSIC_C \
1480		$(CFLAGS) libbif.c -o libbif.o
1481
1482iozone_OSFV3.o:	iozone.c libbif.c
1483	@echo ""
1484	@echo "Build iozone for OSFV3"
1485	@echo ""
1486	$(CC) -O -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DOSFV3 \
1487		-DNAME='"OSFV3"' -DNO_PRINT_LLD -DOSF_64 $(CFLAGS) iozone.c \
1488		-o iozone_OSFV3.o
1489	$(CC) -O -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DOSFV3 \
1490		-DNO_PRINT_LLD  -DOSF_64 $(CFLAGS) libbif.c -o libbif.o
1491	$(CC) -O -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DOSFV3 \
1492		-DNO_PRINT_LLD -DOSF_64 $(CFLAGS) libasync.c -o libasync.o
1493
1494iozone_OSFV4.o:	iozone.c libbif.c
1495	@echo ""
1496	@echo "Build iozone for OSFV4"
1497	@echo ""
1498	$(CC) -O -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DOSFV4 \
1499		-DNAME='"OSFV4"' -DNO_PRINT_LLD -DOSF_64 $(CFLAGS) iozone.c \
1500		-o iozone_OSFV4.o
1501	$(CC) -O -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DOSFV4 \
1502		-DNO_PRINT_LLD  -DOSF_64 $(CFLAGS) libbif.c -o libbif.o
1503	$(CC) -O -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DOSFV4 \
1504		-DNO_PRINT_LLD -DOSF_64 $(CFLAGS) libasync.c -o libasync.o
1505
1506iozone_OSFV5.o:	iozone.c libbif.c
1507	@echo ""
1508	@echo "Build iozone for OSFV5"
1509	@echo ""
1510	$(CC) -O -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DOSFV5 \
1511		-DNAME='"OSFV5"' -DNO_PRINT_LLD -DOSF_64 $(CFLAGS) iozone.c \
1512		-o iozone_OSFV5.o
1513	$(CC) -O -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DOSFV5 \
1514		-DNO_PRINT_LLD  -DOSF_64 $(CFLAGS) libbif.c -o libbif.o
1515	$(CC) -O -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DOSFV5 \
1516		-DNO_PRINT_LLD -DOSF_64 $(CFLAGS) libasync.c -o libasync.o
1517
1518iozone_TRU64.o:	iozone.c libbif.c
1519	@echo ""
1520	@echo "Build iozone for TRU64"
1521	@echo ""
1522	$(CC) -O -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DOSFV5 -DTRU64 -DHAVE_PREAD \
1523		-DNAME='"TRU64"' -DNO_PRINT_LLD -DOSF_64 -pthread $(CFLAGS) iozone.c \
1524		-o iozone_TRU64.o
1525	$(CC) -O -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DOSFV5 -DHAVE_PREAD \
1526		-DNO_PRINT_LLD  -DOSF_64 $(CFLAGS) libbif.c -o libbif.o
1527	$(CC) -O -c -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DOSFV5 -DHAVE_PREAD \
1528		-DNO_PRINT_LLD -DOSF_64 $(CFLAGS) libasync.c -o libasync.o
1529
1530iozone_SCO.o:	iozone.c libbif.c
1531	@echo ""
1532	@echo "Building iozone SCO "
1533	@echo ""
1534	$(GCC) -c -O -DSCO -Dunix -DHAVE_ANSIC_C -DNO_THREADS -DNO_MADVISE \
1535		-DNAME='"SCO"' $(CFLAGS) iozone.c -o iozone_SCO.o
1536	$(GCC) -c -O -DSCO -Dunix -DHAVE_ANSIC_C -DNO_THREADS -DNO_MADVISE \
1537		$(CFLAGS) libbif.c -o libbif.o
1538
1539iozone_SCO_Unixware_gcc.o:	iozone.c libbif.c libasync.c
1540	@echo ""
1541	@echo "Building iozone SCO_Unixware_gcc "
1542	@echo ""
1543	$(GCC) -c -O -DSCO_Unixware_gcc -Dunix -DHAVE_ANSIC_C  \
1544		-DASYNC_IO -D_LARGEFILE64_SOURCE $(CFLAGS) iozone.c  \
1545		-DNAME='"SCO_Unixware_gcc"' -o iozone_SCO_Unixware_gcc.o
1546	$(GCC) -c -O -DSCO_Unixware_gcc -Dunix -DHAVE_ANSIC_C  \
1547		-DASYNC_IO -D_LARGEFILE64_SOURCE $(CFLAGS) libbif.c -o libbif.o
1548	$(GCC) -c -O -DSCO_Unixware_gcc -Dunix -DHAVE_ANSIC_C  \
1549		-DASYNC_IO -D_LARGEFILE64_SOURCE $(CFLAGS) libasync.c -o libasync.o
1550
1551iozone_netbsd.o:	iozone.c libbif.c
1552	@echo ""
1553	@echo "Building iozone NetBSD "
1554	@echo ""
1555
1556	$(CC) -c -O -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DNAME='"netbsd"' \
1557               -DSHARED_MEM \
1558               -DHAVE_PREAD $(CFLAGS) iozone.c -o iozone_netbsd.o
1559	$(CC) -c -O -Dunix -DHAVE_ANSIC_C -DASYNC_IO \
1560               -DSHARED_MEM $(CFLAGS) libbif.c -o libbif.o
1561	$(CC) -c -O -Dunix -DHAVE_ANSIC_C -DASYNC_IO \
1562               $(CFLAGS) libasync.c  -o libasync.o
1563
1564iozone_netbsd-AMD64.o: iozone.c libbif.c libasync.c
1565	@echo ""
1566	@echo "Building iozone for NetBSD/amd64"
1567	@echo ""
1568	$(CC) -c -O -Dunix -DHAVE_ANSIC_C -DASYNC_IO -DNAME='"netbsd-AMD64"' \
1569               -D__AMD64__ -DSHARED_MEM \
1570               -DHAVE_PREAD $(CFLAGS) iozone.c -o iozone_netbsd-AMD64.o
1571	$(CC) -c -O -Dunix -DHAVE_ANSIC_C -DASYNC_IO \
1572               -DSHARED_MEM $(CFLAGS) libbif.c -o libbif.o
1573	$(CC) -c -O -Dunix -DHAVE_ANSIC_C -DASYNC_IO \
1574               $(CFLAGS) libasync.c  -o libasync.o
1575	$(CC) -c -O -Dunix -Dbsd4_4 -DHAVE_ANSIC_C -DNO_THREADS \
1576		-DSHARED_MEM $(CFLAGS) libbif.c -o libbif.o
1577