Makefile revision 67bf982340d95ca98098ea050b54b4c7adb116c0
179e48f72dea1639bcbee310c354938287b6d5790Jens AxboeDEBUGFLAGS = -D_FORTIFY_SOURCE=2 -DFIO_INC_DEBUG
29b8365618309572d8fd2579c8ea3132db89f843fBruce CranCPPFLAGS= -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \
39b8365618309572d8fd2579c8ea3132db89f843fBruce Cran	$(DEBUGFLAGS)
4b14c9ed70440eb16b984ea89f8f5342c9b1bac4fJens AxboeOPTFLAGS= -O3 -g -ffast-math $(EXTFLAGS)
5d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce CranCFLAGS	= -std=gnu99 -Wwrite-strings -Wall $(OPTFLAGS)
6b6cf38f0aed8b12db1c8fd520c09e5a74066ebc9Yufei RenLIBS	= -lm $(EXTLIBS)
7ebac4655dd3624f3296ff83be48e0cdc02852f1Jens AxboePROGS	= fio
8ebac4655dd3624f3296ff83be48e0cdc02852f1Jens AxboeSCRIPTS = fio_generate_plots
9d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce CranUNAME  := $(shell uname)
10d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran
1167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifneq ($(wildcard config-host.mak),)
1267bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeall:
1367bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeinclude config-host.mak
1467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeconfig-host-mak: configure
1567bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe	@echo $@ is out-of-date, running configure
1667bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe	@sed -n "/.*Configured with/s/[^:]*: //p" $@ | sh
1767bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeelse
1867bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeconfig-host.mak:
1967bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe	@echo "Running configure for you..."
2067bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe	@./configure
2167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeall:
2267bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeinclude config-host.mak
2367bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
2467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe
2593bcfd20e37cef8cec350fe06d3a086724c9f257Bruce CranSOURCE := gettime.c fio.c ioengines.c init.c stat.c log.c time.c filesetup.c \
26d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran		eta.c verify.c memory.c io_u.c parse.c mutex.c options.c \
27d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran		rbtree.c smalloc.c filehash.c profile.c debug.c lib/rand.c \
28c7c6cb4cb3114ec4ce3107e15c184e161b50122eJens Axboe		lib/num2str.c lib/ieee754.c $(wildcard crc/*.c) engines/cpu.c \
29d48a9799a3d3cbe3c41658d6e41d6791b33e926cJens Axboe		engines/mmap.c engines/sync.c engines/null.c engines/net.c \
3062cb17de316e5aa755228fef8ce19b5f5353a3cfJens Axboe		memalign.c server.c client.c iolog.c backend.c libfio.c flow.c \
3167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe		json.c lib/zipf.c lib/axmap.c lib/lfsr.c gettime-thread.c \
3267bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe		helpers.c
3367bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe
3467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_64BIT
3567bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DBITS_PER_LONG=64
3667bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
3767bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_32BIT
3867bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DBITS_PER_LONG=32
3967bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
4067bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe
4167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_LIBAIO
4267bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_LIBAIO
4367bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += engines/libaio.c
4467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
4567bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_RDMA
4667bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_RDMA
4767bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += engines/rdma.c
4867bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
4967bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_POSIXAIO
5067bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_POSIXAIO
5167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += engines/posixaio.c
5267bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
5367bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_LINUX_FALLOCATE
5467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += engines/falloc.c
5567bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
5667bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_LINUX_EXT4_MOVE_EXTENT
5767bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += engines/e4defrag.c
5867bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
5967bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_LINUX_SPLICE
6067bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_LINUX_SPLICE
6167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += engines/splice.c
6267bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
6367bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_GUASI
6467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_GUASI
6567bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += engines/guasi.c
6667bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
6767bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_FUSION_AW
6867bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_FUSION_AW
6967bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += engines/fusion-aw.c
7067bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
7167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_SOLARISAIO
7267bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_SOLARISAIO
7367bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += engines/solarisaio.c
7467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
7567bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe
7667bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifndef CONFIG_STRSEP
7767bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_STRSEP
7867bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += lib/strsep.c
7967bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
8067bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifndef CONFIG_GETOPT_LONG_ONLY
8167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_GETOPT_LONG_ONLY
8267bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += lib/getopt_long.c
8367bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
8467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe
8567bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifndef CONFIG_INET_ATON
8667bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_INET_ATON
8767bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += lib/inet_aton.c
8867bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
8967bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_CLOCK_GETTIME
9067bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_CLOCK_GETTIME
9167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
9267bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_POSIXAIO_FSYNC
9367bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_POSIXAIO_FSYNC
9467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
9567bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_FADVISE
9667bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_FADVISE
9767bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
9867bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_CLOCK_MONOTONIC
9967bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_CLOCK_MONOTONIC
10067bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
10167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_CLOCK_MONOTONIC_PRECISE
10267bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_CLOCK_MONOTONIC_PRECISE
10367bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
10467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_GETTIMEOFDAY
10567bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_GETTIMEOFDAY
10667bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
10767bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_SOCKLEN_T
10867bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_SOCKLEN_T
10967bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
11067bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_SFAA
11167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_SFAA
11267bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
11367bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_FDATASYNC
11467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_FDATASYNC
11567bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
11667bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_3ARG_AFFINITY
11767bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_3ARG_AFFINITY
11867bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
11967bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_2ARG_AFFINITY
12067bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_2ARG_AFFINITY
12167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
12267bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_SYNC_FILE_RANGE
12367bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_SYNC_FILE_RANGE
12467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
12567bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_LIBNUMA
12667bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_LIBNUMA
12767bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
12867bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_TLS_THREAD
12967bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DCONFIG_TLS_THREAD
13067bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
131d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran
132d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cranifeq ($(UNAME), Linux)
13367bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += diskutil.c fifo.c blktrace.c cgroup.c trim.c engines/sg.c \
13467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe		engines/binject.c profiles/tiobench.c
13567bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  LIBS += -lpthread -ldl
136213a01b0699d88b20dfb9ed78db1f293a85d2bdcJens Axboe  LDFLAGS += -rdynamic
137d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cranendif
138ec5c6b125c1eab992882602158bab54957aa733dAaron Carrollifeq ($(UNAME), Android)
13967bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += diskutil.c fifo.c blktrace.c trim.c profiles/tiobench.c
140ec5c6b125c1eab992882602158bab54957aa733dAaron Carroll  LIBS += -ldl
141ec5c6b125c1eab992882602158bab54957aa733dAaron Carroll  LDFLAGS += -rdynamic
142ec5c6b125c1eab992882602158bab54957aa733dAaron Carroll  CPPFLAGS += -DFIO_NO_HAVE_SHM_H
143ec5c6b125c1eab992882602158bab54957aa733dAaron Carrollendif
144d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cranifeq ($(UNAME), SunOS)
145d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran  LIBS	 += -lpthread -ldl -laio -lrt -lnsl -lsocket
146d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran  CPPFLAGS += -D__EXTENSIONS__
147d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cranendif
148d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cranifeq ($(UNAME), FreeBSD)
149d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran  LIBS	 += -lpthread -lrt
150213a01b0699d88b20dfb9ed78db1f293a85d2bdcJens Axboe  LDFLAGS += -rdynamic
151d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cranendif
152d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cranifeq ($(UNAME), NetBSD)
153d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran  LIBS	 += -lpthread -lrt
154213a01b0699d88b20dfb9ed78db1f293a85d2bdcJens Axboe  LDFLAGS += -rdynamic
155d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cranendif
156d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cranifeq ($(UNAME), AIX)
157d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran  LIBS	 += -lpthread -ldl -lrt
158d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran  CPPFLAGS += -D_LARGE_FILES -D__ppc__
15948b35be009138ddca8d341f7767a1364400b6c06Michael Perzl  LDFLAGS += -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000
160d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cranendif
161c00a22894b82ff53b42c1e741a7b4828199a1388Jens Axboeifeq ($(UNAME), HP-UX)
162b5ffb752790d4c88a18e27aaf970b065b3e4a56cJens Axboe  LIBS   += -lpthread -ldl -lrt
16367bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -D_LARGEFILE64_SOURCE -D_XOPEN_SOURCE_EXTENDED
164c00a22894b82ff53b42c1e741a7b4828199a1388Jens Axboeendif
165d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cranifeq ($(UNAME), Darwin)
166d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran  LIBS	 += -lpthread -ldl
167d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cranendif
168d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cranifneq (,$(findstring CYGWIN,$(UNAME)))
16993bcfd20e37cef8cec350fe06d3a086724c9f257Bruce Cran  SOURCE := $(filter-out engines/mmap.c,$(SOURCE))
17093bcfd20e37cef8cec350fe06d3a086724c9f257Bruce Cran  SOURCE += engines/windowsaio.c os/windows/posix.c
17193bcfd20e37cef8cec350fe06d3a086724c9f257Bruce Cran  LIBS	 += -lpthread -lpsapi -lws2_32
17293bcfd20e37cef8cec350fe06d3a086724c9f257Bruce Cran  CFLAGS += -DPSAPI_VERSION=1 -Ios/windows/posix/include -Wno-format
173d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cranendif
174d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran
1759b8365618309572d8fd2579c8ea3132db89f843fBruce CranOBJS = $(SOURCE:.c=.o)
17679d16311c8d0c7188d73df77838fb1b4b6ff58dbJens Axboe
17761f78f3ada575804c6d4ba0936cf64c17728eabaJens AxboeT_SMALLOC_OBJS = t/stest.o
17839ab7da23768081db50b0026e0c2a8e38752e7a4Jens AxboeT_SMALLOC_OBJS += gettime.o mutex.o smalloc.o t/log.o
17961f78f3ada575804c6d4ba0936cf64c17728eabaJens AxboeT_SMALLOC_PROGS = t/stest
18061f78f3ada575804c6d4ba0936cf64c17728eabaJens Axboe
18161f78f3ada575804c6d4ba0936cf64c17728eabaJens AxboeT_IEEE_OBJS = t/ieee754.o
182f98f3d076502dfd18a2d1b63443288cab356a983Jens AxboeT_IEEE_OBJS += lib/ieee754.o
18361f78f3ada575804c6d4ba0936cf64c17728eabaJens AxboeT_IEEE_PROGS = t/ieee754
18461f78f3ada575804c6d4ba0936cf64c17728eabaJens Axboe
1856ff3885617d8281bde48a9a19d34302add3fd017Jens AxboeT_ZIPF_OBS = t/genzipf.o
18624baa4c70c850d4c1703ae8f4e2b35fc5c5a57eaJens AxboeT_ZIPF_OBJS += t/log.o lib/ieee754.o lib/rand.o lib/zipf.o t/genzipf.o
187eed3f51876dd2bc50558eec29e0078557f2e3a25Jens AxboeT_ZIPF_PROGS = t/genzipf
1886ff3885617d8281bde48a9a19d34302add3fd017Jens Axboe
189ad1f90aa84ba96916d02043958ee416a499f3f25Jens AxboeT_AXMAP_OBJS = t/axmap.o
190ad1f90aa84ba96916d02043958ee416a499f3f25Jens AxboeT_AXMAP_OBJS += lib/lfsr.o lib/axmap.o
191ad1f90aa84ba96916d02043958ee416a499f3f25Jens AxboeT_AXMAP_PROGS = t/axmap
192ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe
19361f78f3ada575804c6d4ba0936cf64c17728eabaJens AxboeT_OBJS = $(T_SMALLOC_OBJS)
19461f78f3ada575804c6d4ba0936cf64c17728eabaJens AxboeT_OBJS += $(T_IEEE_OBJS)
1956ff3885617d8281bde48a9a19d34302add3fd017Jens AxboeT_OBJS += $(T_ZIPF_OBJS)
196ad1f90aa84ba96916d02043958ee416a499f3f25Jens AxboeT_OBJS += $(T_AXMAP_OBJS)
1976ff3885617d8281bde48a9a19d34302add3fd017Jens Axboe
1986ff3885617d8281bde48a9a19d34302add3fd017Jens AxboeT_PROGS = $(T_SMALLOC_PROGS)
1996ff3885617d8281bde48a9a19d34302add3fd017Jens AxboeT_PROGS += $(T_IEEE_PROGS)
2006ff3885617d8281bde48a9a19d34302add3fd017Jens AxboeT_PROGS += $(T_ZIPF_PROGS)
201ad1f90aa84ba96916d02043958ee416a499f3f25Jens AxboeT_PROGS += $(T_AXMAP_PROGS)
2023427207d9d638a6c4bd4ca8e9b3634733fd2c780Jens Axboe
2034c3ecec4160909d7eba4acf1a07a8a0cd36a6365Jens Axboeifneq ($(findstring $(MAKEFLAGS),s),s)
2044c3ecec4160909d7eba4acf1a07a8a0cd36a6365Jens Axboeifndef V
2054c3ecec4160909d7eba4acf1a07a8a0cd36a6365Jens Axboe	QUIET_CC	= @echo '   ' CC $@;
2060b2d6a7a2bf9f49502b9c1161f376fff53727089Jens Axboe	QUIET_DEP	= @echo '   ' DEP $@;
2074c3ecec4160909d7eba4acf1a07a8a0cd36a6365Jens Axboeendif
2084c3ecec4160909d7eba4acf1a07a8a0cd36a6365Jens Axboeendif
2094c3ecec4160909d7eba4acf1a07a8a0cd36a6365Jens Axboe
210c1d5725eaad49dbf5b3a05c27b0b3677af69f64cJens AxboeINSTALL = install
211c1d5725eaad49dbf5b3a05c27b0b3677af69f64cJens Axboeprefix = /usr/local
212c1d5725eaad49dbf5b3a05c27b0b3677af69f64cJens Axboebindir = $(prefix)/bin
213bcdf7c586610734ad617ffd4efeb0e56fe9ac440Jens Axboe
214bcdf7c586610734ad617ffd4efeb0e56fe9ac440Jens Axboeifeq ($(UNAME), Darwin)
215bcdf7c586610734ad617ffd4efeb0e56fe9ac440Jens Axboemandir = /usr/share/man
216bcdf7c586610734ad617ffd4efeb0e56fe9ac440Jens Axboeelse
217d60e92d13e969b08dcdad940499ef081b07ac6f7Aaron Carrollmandir = $(prefix)/man
218bcdf7c586610734ad617ffd4efeb0e56fe9ac440Jens Axboeendif
219c1d5725eaad49dbf5b3a05c27b0b3677af69f64cJens Axboe
220692a5d228de8215634182d0c459ac7c0b0fda961Jens Axboeall: .depend $(PROGS) $(SCRIPTS) FORCE
221f84622e9c5f4eba6802bcfc6432493ea8c44d740Michael Zappe
222692a5d228de8215634182d0c459ac7c0b0fda961Jens Axboe.PHONY: all install clean
223692a5d228de8215634182d0c459ac7c0b0fda961Jens Axboe.PHONY: FORCE cscope
224692a5d228de8215634182d0c459ac7c0b0fda961Jens Axboe
225692a5d228de8215634182d0c459ac7c0b0fda961Jens AxboeFIO-VERSION-FILE: FORCE
22684306c1d9ecd94e93436da62b41ef61ac6e281acBruce Cran	@$(SHELL) ./FIO-VERSION-GEN
227692a5d228de8215634182d0c459ac7c0b0fda961Jens Axboe-include FIO-VERSION-FILE
228692a5d228de8215634182d0c459ac7c0b0fda961Jens Axboe
229692a5d228de8215634182d0c459ac7c0b0fda961Jens AxboeCFLAGS += -DFIO_VERSION='"$(FIO_VERSION)"'
230692a5d228de8215634182d0c459ac7c0b0fda961Jens Axboe
231692a5d228de8215634182d0c459ac7c0b0fda961Jens Axboe.c.o: .depend FORCE
2329b8365618309572d8fd2579c8ea3132db89f843fBruce Cran	$(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) $(CPPFLAGS) $<
233e52947d15cf0d7d31c30ccdc43450a10081976daDiego Elio Pettenò
234a6204b6818e0b5bf7c7aae0bd8fd840f71e2c4a3Jens Axboeinit.o: FIO-VERSION-FILE
235a6204b6818e0b5bf7c7aae0bd8fd840f71e2c4a3Jens Axboe	$(QUIET_CC)$(CC) -o init.o -c $(CFLAGS) $(CPPFLAGS) -c init.c
236a6204b6818e0b5bf7c7aae0bd8fd840f71e2c4a3Jens Axboe
23761f78f3ada575804c6d4ba0936cf64c17728eabaJens Axboet/stest: $(T_SMALLOC_OBJS)
23861f78f3ada575804c6d4ba0936cf64c17728eabaJens Axboe	$(QUIET_CC)$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(T_SMALLOC_OBJS) $(LIBS) $(LDFLAGS)
23961f78f3ada575804c6d4ba0936cf64c17728eabaJens Axboe
24061f78f3ada575804c6d4ba0936cf64c17728eabaJens Axboet/ieee754: $(T_IEEE_OBJS)
24161f78f3ada575804c6d4ba0936cf64c17728eabaJens Axboe	$(QUIET_CC)$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(T_IEEE_OBJS) $(LIBS) $(LDFLAGS)
242fbc2792b20276f7fa14c44f7b235ca448b383b50Jens Axboe
2436ff3885617d8281bde48a9a19d34302add3fd017Jens Axboet/genzipf: $(T_ZIPF_OBJS)
2446ff3885617d8281bde48a9a19d34302add3fd017Jens Axboe	$(QUIET_CC)$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(T_ZIPF_OBJS) $(LIBS) $(LDFLAGS)
2456ff3885617d8281bde48a9a19d34302add3fd017Jens Axboe
246ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboet/axmap: $(T_AXMAP_OBJS)
247ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe	$(QUIET_CC)$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(T_AXMAP_OBJS) $(LIBS) $(LDFLAGS)
248ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe
2492f9ade3cb72218eb260f4f5e6914218bdcaa2bccJens Axboefio: $(OBJS)
25048b35be009138ddca8d341f7767a1364400b6c06Michael Perzl	$(QUIET_CC)$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(OBJS) $(LIBS) $(LDFLAGS)
2514c3ecec4160909d7eba4acf1a07a8a0cd36a6365Jens Axboe
252f84622e9c5f4eba6802bcfc6432493ea8c44d740Michael Zappe.depend: $(SOURCE)
2539b8365618309572d8fd2579c8ea3132db89f843fBruce Cran	$(QUIET_DEP)$(CC) -MM $(CFLAGS) $(CPPFLAGS) $(SOURCE) 1> .depend
2540b2d6a7a2bf9f49502b9c1161f376fff53727089Jens Axboe
2558541f32c232661758908cf2d1c388c8ca3bbaa4bJens Axboe$(PROGS): .depend
256ebac4655dd3624f3296ff83be48e0cdc02852f1Jens Axboe
257692a5d228de8215634182d0c459ac7c0b0fda961Jens Axboeclean: FORCE
25867bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe	-rm -f .depend $(OBJS) $(T_OBJS) $(PROGS) $(T_PROGS) core.* core FIO-VERSION-FILE config-host.mak config-host.ld cscope.out
259ebac4655dd3624f3296ff83be48e0cdc02852f1Jens Axboe
260592ef98a623407437c1807bc29deaa87726de5b4Jens Axboecscope:
261366badd3f5c92433b1972ac85e2b4ef46b441011Jens Axboe	@cscope -b -R
262592ef98a623407437c1807bc29deaa87726de5b4Jens Axboe
263692a5d228de8215634182d0c459ac7c0b0fda961Jens Axboeinstall: $(PROGS) $(SCRIPTS) FORCE
264513ba3f7d4eef309d2307cf9787d7d980a29164dJens Axboe	$(INSTALL) -m 755 -d $(DESTDIR)$(bindir)
265ebac4655dd3624f3296ff83be48e0cdc02852f1Jens Axboe	$(INSTALL) $(PROGS) $(SCRIPTS) $(DESTDIR)$(bindir)
266d60e92d13e969b08dcdad940499ef081b07ac6f7Aaron Carroll	$(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man1
267d60e92d13e969b08dcdad940499ef081b07ac6f7Aaron Carroll	$(INSTALL) -m 644 fio.1 $(DESTDIR)$(mandir)/man1
268ccd4f41bbee00837601693dd58589320cb3fa497Jens Axboe	$(INSTALL) -m 644 fio_generate_plots.1 $(DESTDIR)$(mandir)/man1
269ebac4655dd3624f3296ff83be48e0cdc02852f1Jens Axboe
27006fecb4e2679b9783940721f78ea7201451ca55cJens Axboeifneq ($(wildcard .depend),)
27106fecb4e2679b9783940721f78ea7201451ca55cJens Axboeinclude .depend
27206fecb4e2679b9783940721f78ea7201451ca55cJens Axboeendif
273