Makefile revision 500b4f45c0271e5bc09694376f517f47434f63db
167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifneq ($(wildcard config-host.mak),)
267bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeall:
367bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeinclude config-host.mak
467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeconfig-host-mak: configure
567bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe	@echo $@ is out-of-date, running configure
667bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe	@sed -n "/.*Configured with/s/[^:]*: //p" $@ | sh
767bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeelse
867bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeconfig-host.mak:
9d443abcfe076b9316bc8165366b36eb5e02a77aaJens Axboeifneq ($(MAKECMDGOALS),clean)
1067bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe	@echo "Running configure for you..."
1167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe	@./configure
12d443abcfe076b9316bc8165366b36eb5e02a77aaJens Axboeendif
1367bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeall:
1467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeinclude config-host.mak
1567bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
1667bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe
17af4862b3447e35d038b6c117631d9c03777ab79eJens AxboeDEBUGFLAGS = -D_FORTIFY_SOURCE=2 -DFIO_INC_DEBUG
189195552e8fca86b682a86fc7ab0fb6eacb433f16Daniel GollubCPPFLAGS= -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DFIO_INTERNAL $(DEBUGFLAGS)
19af4862b3447e35d038b6c117631d9c03777ab79eJens AxboeOPTFLAGS= -O3 -g -ffast-math
20eb19930cf6e8315417b01e00669446a383c69690Jens AxboeCFLAGS	= -std=gnu99 -Wwrite-strings -Wall -Wdeclaration-after-statement $(OPTFLAGS) $(EXTFLAGS) $(BUILD_CFLAGS)
21af4862b3447e35d038b6c117631d9c03777ab79eJens AxboeLIBS	+= -lm $(EXTLIBS)
22af4862b3447e35d038b6c117631d9c03777ab79eJens AxboePROGS	= fio
23265a202706aaa538297599f4c683b781a3ecaedbErwan VeluSCRIPTS = tools/fio_generate_plots tools/plot/fio2gnuplot tools/genfio
24af4862b3447e35d038b6c117631d9c03777ab79eJens Axboe
2591f94d5b88b72c300be4f27ef6630e16af890db6Jens Axboeifdef CONFIG_GFIO
2691f94d5b88b72c300be4f27ef6630e16af890db6Jens Axboe  PROGS += gfio
2791f94d5b88b72c300be4f27ef6630e16af890db6Jens Axboeendif
2891f94d5b88b72c300be4f27ef6630e16af890db6Jens Axboe
29ea783f87082e59a511c4d720d287e0de9fccb1b5Jens AxboeSOURCE := gettime.c ioengines.c init.c stat.c log.c time.c filesetup.c \
30d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran		eta.c verify.c memory.c io_u.c parse.c mutex.c options.c \
31057754389863aa18cbf36b1f2a556a422ea2f4b5Jens Axboe		lib/rbtree.c smalloc.c filehash.c profile.c debug.c lib/rand.c \
32c7c6cb4cb3114ec4ce3107e15c184e161b50122eJens Axboe		lib/num2str.c lib/ieee754.c $(wildcard crc/*.c) engines/cpu.c \
33d48a9799a3d3cbe3c41658d6e41d6791b33e926cJens Axboe		engines/mmap.c engines/sync.c engines/null.c engines/net.c \
342dc1cbb52f73303d479a72e99930a2838c4b0fa4Jens Axboe		memalign.c server.c client.c iolog.c backend.c libfio.c flow.c \
359a0db1e22a016bcdd91646b2e275051ff21c3038Jens Axboe		cconv.c lib/prio_tree.c json.c lib/zipf.c lib/axmap.c \
36836fcc0fceb233ebcc41ee63b4ea5cae20b678a4Jens Axboe		lib/lfsr.c gettime-thread.c helpers.c lib/flist_sort.c \
37d4afedfd152cea890ffa7d45bf1664fb70218c45Jens Axboe		lib/hweight.c lib/getrusage.c idletime.c td_error.c \
3838a812d7fa79a673855efb6324c8fc68b92b89c1Jens Axboe		profiles/tiobench.c profiles/act.c io_u_queue.c filelock.c \
39b0e1bb93060a19560bc28718f622e16ac17c5c67Jens Axboe		lib/tp.c lib/bloom.c
4067bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe
41d60aa36e65b46320bc8db7b2f6a07e84f96ac86aManish Mandlikifdef CONFIG_LIBHDFS
42d60aa36e65b46320bc8db7b2f6a07e84f96ac86aManish Mandlik  HDFSFLAGS= -I $(JAVA_HOME)/include -I $(JAVA_HOME)/include/linux -I $(FIO_LIBHDFS_INCLUDE)
43d60aa36e65b46320bc8db7b2f6a07e84f96ac86aManish Mandlik  HDFSLIB= $(JAVA_HOME)/jre/lib/amd64/server/libjvm.so $(FIO_LIBHDFS_LIB)/liblibhdfs.a
44d60aa36e65b46320bc8db7b2f6a07e84f96ac86aManish Mandlik  CFLAGS += $(HDFSFLAGS)
45d60aa36e65b46320bc8db7b2f6a07e84f96ac86aManish Mandlik  SOURCE += engines/libhdfs.c
46d60aa36e65b46320bc8db7b2f6a07e84f96ac86aManish Mandlikendif
47d60aa36e65b46320bc8db7b2f6a07e84f96ac86aManish Mandlik
48c81f9347e5849a6b97a02f215f1c474e27c79f1aBruce Cranifdef CONFIG_64BIT_LLP64
49c81f9347e5849a6b97a02f215f1c474e27c79f1aBruce Cran  CFLAGS += -DBITS_PER_LONG=32
50c81f9347e5849a6b97a02f215f1c474e27c79f1aBruce Cranendif
5167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_64BIT
5267bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DBITS_PER_LONG=64
5367bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
5467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_32BIT
5567bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -DBITS_PER_LONG=32
5667bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
5767bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_LIBAIO
5867bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += engines/libaio.c
5967bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
6067bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_RDMA
6167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += engines/rdma.c
6267bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
6367bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_POSIXAIO
6467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += engines/posixaio.c
6567bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
6667bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_LINUX_FALLOCATE
6767bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += engines/falloc.c
6867bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
6967bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_LINUX_EXT4_MOVE_EXTENT
7067bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += engines/e4defrag.c
7167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
7267bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_LINUX_SPLICE
7367bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += engines/splice.c
7467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
7567bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_GUASI
7667bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += engines/guasi.c
7767bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
7867bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_FUSION_AW
7967bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += engines/fusion-aw.c
8067bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
8167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifdef CONFIG_SOLARISAIO
8267bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += engines/solarisaio.c
8367bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
844700b23465687c7d3de7820341fa96e506e967b2Jens Axboeifdef CONFIG_WINDOWSAIO
854700b23465687c7d3de7820341fa96e506e967b2Jens Axboe  SOURCE += engines/windowsaio.c
864700b23465687c7d3de7820341fa96e506e967b2Jens Axboeendif
87fc5c03455598ecb3250506e741c74bade0dae6d8Daniel Gollubifdef CONFIG_RBD
88fc5c03455598ecb3250506e741c74bade0dae6d8Daniel Gollub  SOURCE += engines/rbd.c
89fc5c03455598ecb3250506e741c74bade0dae6d8Daniel Gollubendif
9067bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifndef CONFIG_STRSEP
9167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += lib/strsep.c
9267bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
939ad8da8217db155d2b48fe7bed91da794a71d071Jens Axboeifndef CONFIG_STRCASESTR
949ad8da8217db155d2b48fe7bed91da794a71d071Jens Axboe  SOURCE += lib/strcasestr.c
959ad8da8217db155d2b48fe7bed91da794a71d071Jens Axboeendif
9667bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifndef CONFIG_GETOPT_LONG_ONLY
9767bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += lib/getopt_long.c
9867bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
9967bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifndef CONFIG_INET_ATON
10067bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += lib/inet_aton.c
10167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif
1020e55d6b0b86bc0fe49cea1ecfec80518a988dc51chenhifdef CONFIG_GFAPI
1030e55d6b0b86bc0fe49cea1ecfec80518a988dc51chenh  SOURCE += engines/glusterfs.c
104cb92c7fe546d7da2b982a13e2ad97fa991e16149chenh  SOURCE += engines/glusterfs_sync.c
105cb92c7fe546d7da2b982a13e2ad97fa991e16149chenh  SOURCE += engines/glusterfs_async.c
10654fe20ff2633b399e6965b6c5649166764ff546cchenh  ifdef CONFIG_GF_FADVISE
10754fe20ff2633b399e6965b6c5649166764ff546cchenh    CFLAGS += "-DGFAPI_USE_FADVISE"
10854fe20ff2633b399e6965b6c5649166764ff546cchenh  endif
1090e55d6b0b86bc0fe49cea1ecfec80518a988dc51chenhendif
110d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran
11153cd4eee737f5d9a37d71ef23b42f74c016fcd2eAaron Carrollifeq ($(CONFIG_TARGET_OS), Linux)
11267bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  SOURCE += diskutil.c fifo.c blktrace.c cgroup.c trim.c engines/sg.c \
11342a80e374660c1cd108342bab7158670b6e3b7dcJens Axboe		engines/binject.c lib/linux-dev-lookup.c
11467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  LIBS += -lpthread -ldl
115213a01b0699d88b20dfb9ed78db1f293a85d2bdcJens Axboe  LDFLAGS += -rdynamic
116d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cranendif
11753cd4eee737f5d9a37d71ef23b42f74c016fcd2eAaron Carrollifeq ($(CONFIG_TARGET_OS), Android)
11842a80e374660c1cd108342bab7158670b6e3b7dcJens Axboe  SOURCE += diskutil.c fifo.c blktrace.c trim.c profiles/tiobench.c \
11942a80e374660c1cd108342bab7158670b6e3b7dcJens Axboe		lib/linux-dev-lookup.c
120ec5c6b125c1eab992882602158bab54957aa733dAaron Carroll  LIBS += -ldl
121ec5c6b125c1eab992882602158bab54957aa733dAaron Carroll  LDFLAGS += -rdynamic
122ec5c6b125c1eab992882602158bab54957aa733dAaron Carrollendif
12353cd4eee737f5d9a37d71ef23b42f74c016fcd2eAaron Carrollifeq ($(CONFIG_TARGET_OS), SunOS)
1247366ad05740d4cbbe5b43daa3b9b9efe74df34b3Jens Axboe  LIBS	 += -lpthread -ldl
125d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran  CPPFLAGS += -D__EXTENSIONS__
126d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cranendif
12753cd4eee737f5d9a37d71ef23b42f74c016fcd2eAaron Carrollifeq ($(CONFIG_TARGET_OS), FreeBSD)
128d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran  LIBS	 += -lpthread -lrt
129213a01b0699d88b20dfb9ed78db1f293a85d2bdcJens Axboe  LDFLAGS += -rdynamic
130d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cranendif
1313cd4c66f35fad0df64e4e6dfeddc5bdfd5206e0cJohnifeq ($(CONFIG_TARGET_OS), OpenBSD)
1323cd4c66f35fad0df64e4e6dfeddc5bdfd5206e0cJohn  LIBS	 += -lpthread
1333cd4c66f35fad0df64e4e6dfeddc5bdfd5206e0cJohn  LDFLAGS += -rdynamic
1343cd4c66f35fad0df64e4e6dfeddc5bdfd5206e0cJohnendif
13553cd4eee737f5d9a37d71ef23b42f74c016fcd2eAaron Carrollifeq ($(CONFIG_TARGET_OS), NetBSD)
136d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran  LIBS	 += -lpthread -lrt
137213a01b0699d88b20dfb9ed78db1f293a85d2bdcJens Axboe  LDFLAGS += -rdynamic
138d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cranendif
13953cd4eee737f5d9a37d71ef23b42f74c016fcd2eAaron Carrollifeq ($(CONFIG_TARGET_OS), AIX)
140d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran  LIBS	 += -lpthread -ldl -lrt
141d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran  CPPFLAGS += -D_LARGE_FILES -D__ppc__
14248b35be009138ddca8d341f7767a1364400b6c06Michael Perzl  LDFLAGS += -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000
143d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cranendif
14453cd4eee737f5d9a37d71ef23b42f74c016fcd2eAaron Carrollifeq ($(CONFIG_TARGET_OS), HP-UX)
145b5ffb752790d4c88a18e27aaf970b065b3e4a56cJens Axboe  LIBS   += -lpthread -ldl -lrt
14667bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe  CFLAGS += -D_LARGEFILE64_SOURCE -D_XOPEN_SOURCE_EXTENDED
147c00a22894b82ff53b42c1e741a7b4828199a1388Jens Axboeendif
14853cd4eee737f5d9a37d71ef23b42f74c016fcd2eAaron Carrollifeq ($(CONFIG_TARGET_OS), Darwin)
149d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran  LIBS	 += -lpthread -ldl
150d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cranendif
15153cd4eee737f5d9a37d71ef23b42f74c016fcd2eAaron Carrollifneq (,$(findstring CYGWIN,$(CONFIG_TARGET_OS)))
15293bcfd20e37cef8cec350fe06d3a086724c9f257Bruce Cran  SOURCE := $(filter-out engines/mmap.c,$(SOURCE))
1534700b23465687c7d3de7820341fa96e506e967b2Jens Axboe  SOURCE += os/windows/posix.c
15493bcfd20e37cef8cec350fe06d3a086724c9f257Bruce Cran  LIBS	 += -lpthread -lpsapi -lws2_32
1559aa5fe3290fd49c70e498d5e072a5b27e1c3034fBruce Cran  CFLAGS += -DPSAPI_VERSION=1 -Ios/windows/posix/include -Wno-format -static
156d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cranendif
157d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran
1589b8365618309572d8fd2579c8ea3132db89f843fBruce CranOBJS = $(SOURCE:.c=.o)
15990b7a96d9573a14f20470af2aa0dd4e60611a477Jens Axboe
1608232e2855c87697a95d00d920d1fd11b30d0fcaaStephen M. CameronFIO_OBJS = $(OBJS) fio.o
16188b635b84d831b109f0807922449fa7a900f5dbdStephen M. Cameron
162cc481fd2dca2204544ac3bbba754bbf108dc96f7Jens AxboeGFIO_OBJS = $(OBJS) gfio.o graph.o tickmarks.o ghelpers.o goptions.o gerror.o \
163cc481fd2dca2204544ac3bbba754bbf108dc96f7Jens Axboe			gclient.o gcompat.o cairo_text_helpers.o printing.o
164cc481fd2dca2204544ac3bbba754bbf108dc96f7Jens Axboe
16588b635b84d831b109f0807922449fa7a900f5dbdStephen M. Cameronifdef CONFIG_ARITHMETIC
16688b635b84d831b109f0807922449fa7a900f5dbdStephen M. CameronFIO_OBJS += lex.yy.o y.tab.o
167cc481fd2dca2204544ac3bbba754bbf108dc96f7Jens AxboeGFIO_OBJS += lex.yy.o y.tab.o
16888b635b84d831b109f0807922449fa7a900f5dbdStephen M. Cameronendif
16988b635b84d831b109f0807922449fa7a900f5dbdStephen M. Cameron
170f67d6ee2d0988de577f6f3d7e303d6a18a44e4a0Jens Axboe-include $(OBJS:.o=.d)
17179d16311c8d0c7188d73df77838fb1b4b6ff58dbJens Axboe
17261f78f3ada575804c6d4ba0936cf64c17728eabaJens AxboeT_SMALLOC_OBJS = t/stest.o
1737a74197fa3c678aef89a4645c6cd26bfff2ff13aJens AxboeT_SMALLOC_OBJS += gettime.o mutex.o smalloc.o t/log.o t/debug.o
17461f78f3ada575804c6d4ba0936cf64c17728eabaJens AxboeT_SMALLOC_PROGS = t/stest
17561f78f3ada575804c6d4ba0936cf64c17728eabaJens Axboe
17661f78f3ada575804c6d4ba0936cf64c17728eabaJens AxboeT_IEEE_OBJS = t/ieee754.o
17784f43c6f173d057e1b47d2d5f3e4ce8663d0c86eJens AxboeT_IEEE_OBJS += lib/ieee754.o
17861f78f3ada575804c6d4ba0936cf64c17728eabaJens AxboeT_IEEE_PROGS = t/ieee754
17961f78f3ada575804c6d4ba0936cf64c17728eabaJens Axboe
1806ff3885617d8281bde48a9a19d34302add3fd017Jens AxboeT_ZIPF_OBS = t/genzipf.o
18124baa4c70c850d4c1703ae8f4e2b35fc5c5a57eaJens AxboeT_ZIPF_OBJS += t/log.o lib/ieee754.o lib/rand.o lib/zipf.o t/genzipf.o
182500b4f45c0271e5bc09694376f517f47434f63dbJens AxboeT_ZIPF_PROGS = t/fio-genzipf
1836ff3885617d8281bde48a9a19d34302add3fd017Jens Axboe
184ad1f90aa84ba96916d02043958ee416a499f3f25Jens AxboeT_AXMAP_OBJS = t/axmap.o
185ad1f90aa84ba96916d02043958ee416a499f3f25Jens AxboeT_AXMAP_OBJS += lib/lfsr.o lib/axmap.o
186ad1f90aa84ba96916d02043958ee416a499f3f25Jens AxboeT_AXMAP_PROGS = t/axmap
187ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe
1887a887ffeace126e7b7b5b8122799c007d8b1068cAlex PyrgiotisT_LFSR_TEST_OBJS = t/lfsr-test.o
1897a74197fa3c678aef89a4645c6cd26bfff2ff13aJens AxboeT_LFSR_TEST_OBJS += lib/lfsr.o gettime.o t/log.o t/debug.o
1907a887ffeace126e7b7b5b8122799c007d8b1068cAlex PyrgiotisT_LFSR_TEST_PROGS = t/lfsr-test
1917a887ffeace126e7b7b5b8122799c007d8b1068cAlex Pyrgiotis
19242a80e374660c1cd108342bab7158670b6e3b7dcJens Axboeifeq ($(CONFIG_TARGET_OS), Linux)
19342a80e374660c1cd108342bab7158670b6e3b7dcJens AxboeT_BTRACE_FIO_OBJS = t/btrace2fio.o
19442a80e374660c1cd108342bab7158670b6e3b7dcJens AxboeT_BTRACE_FIO_OBJS += fifo.o lib/flist_sort.o t/log.o lib/linux-dev-lookup.o
195500b4f45c0271e5bc09694376f517f47434f63dbJens AxboeT_BTRACE_FIO_PROGS = t/fio-btrace2fio
19642a80e374660c1cd108342bab7158670b6e3b7dcJens Axboeendif
19742a80e374660c1cd108342bab7158670b6e3b7dcJens Axboe
1985aa702ce283d9a4152989bcd72ed918b056b6e88Jens AxboeT_DEDUPE_OBJS = t/dedupe.o
1995aa702ce283d9a4152989bcd72ed918b056b6e88Jens AxboeT_DEDUPE_OBJS += lib/rbtree.o t/log.o mutex.o smalloc.o gettime.o crc/md5.o \
20091d9721ad7a061437ec2903e5f6b4077a7d59b8dJens Axboe		memalign.o lib/bloom.o t/debug.o crc/xxhash.o crc/murmur3.o \
20191d9721ad7a061437ec2903e5f6b4077a7d59b8dJens Axboe		crc/crc32c.o crc/crc32c-intel.o crc/fnv.o
202500b4f45c0271e5bc09694376f517f47434f63dbJens AxboeT_DEDUPE_PROGS = t/fio-dedupe
2035aa702ce283d9a4152989bcd72ed918b056b6e88Jens Axboe
20461f78f3ada575804c6d4ba0936cf64c17728eabaJens AxboeT_OBJS = $(T_SMALLOC_OBJS)
20561f78f3ada575804c6d4ba0936cf64c17728eabaJens AxboeT_OBJS += $(T_IEEE_OBJS)
2066ff3885617d8281bde48a9a19d34302add3fd017Jens AxboeT_OBJS += $(T_ZIPF_OBJS)
207ad1f90aa84ba96916d02043958ee416a499f3f25Jens AxboeT_OBJS += $(T_AXMAP_OBJS)
2087a887ffeace126e7b7b5b8122799c007d8b1068cAlex PyrgiotisT_OBJS += $(T_LFSR_TEST_OBJS)
20942a80e374660c1cd108342bab7158670b6e3b7dcJens AxboeT_OBJS += $(T_BTRACE_FIO_OBJS)
210e1ecce52e89ddd50b097bab39f38b5302fa9dbacJens AxboeT_OBJS += $(T_DEDUPE_OBJS)
2116ff3885617d8281bde48a9a19d34302add3fd017Jens Axboe
212500b4f45c0271e5bc09694376f517f47434f63dbJens AxboeT_TEST_PROGS = $(T_SMALLOC_PROGS)
213500b4f45c0271e5bc09694376f517f47434f63dbJens AxboeT_TEST_PROGS += $(T_IEEE_PROGS)
2146ff3885617d8281bde48a9a19d34302add3fd017Jens AxboeT_PROGS += $(T_ZIPF_PROGS)
215500b4f45c0271e5bc09694376f517f47434f63dbJens AxboeT_TEST_PROGS += $(T_AXMAP_PROGS)
216500b4f45c0271e5bc09694376f517f47434f63dbJens AxboeT_TEST_PROGS += $(T_LFSR_TEST_PROGS)
21742a80e374660c1cd108342bab7158670b6e3b7dcJens AxboeT_PROGS += $(T_BTRACE_FIO_PROGS)
218e1ecce52e89ddd50b097bab39f38b5302fa9dbacJens AxboeT_PROGS += $(T_DEDUPE_PROGS)
219e1ecce52e89ddd50b097bab39f38b5302fa9dbacJens Axboe
220e1ecce52e89ddd50b097bab39f38b5302fa9dbacJens AxboePROGS += $(T_PROGS)
2213427207d9d638a6c4bd4ca8e9b3634733fd2c780Jens Axboe
2224c3ecec4160909d7eba4acf1a07a8a0cd36a6365Jens Axboeifneq ($(findstring $(MAKEFLAGS),s),s)
2234c3ecec4160909d7eba4acf1a07a8a0cd36a6365Jens Axboeifndef V
2244c3ecec4160909d7eba4acf1a07a8a0cd36a6365Jens Axboe	QUIET_CC	= @echo '   ' CC $@;
225aa2eda7ca6021701e0077631841840250e8dd124Jens Axboe	QUIET_LINK	= @echo ' ' LINK $@;
226aa2eda7ca6021701e0077631841840250e8dd124Jens Axboe	QUIET_DEP	= @echo '  ' DEP $@;
227aa2eda7ca6021701e0077631841840250e8dd124Jens Axboe	QUIET_YACC	= @echo ' ' YACC $@;
228aa2eda7ca6021701e0077631841840250e8dd124Jens Axboe	QUIET_LEX	= @echo '  ' LEX $@;
2294c3ecec4160909d7eba4acf1a07a8a0cd36a6365Jens Axboeendif
2304c3ecec4160909d7eba4acf1a07a8a0cd36a6365Jens Axboeendif
2314c3ecec4160909d7eba4acf1a07a8a0cd36a6365Jens Axboe
232a8168a223c83362e377889779056a3d96b76a0f8Jens Axboeifeq ($(CONFIG_TARGET_OS), SunOS)
233a8168a223c83362e377889779056a3d96b76a0f8Jens Axboe	INSTALL = ginstall
234a8168a223c83362e377889779056a3d96b76a0f8Jens Axboeelse
235a8168a223c83362e377889779056a3d96b76a0f8Jens Axboe	INSTALL = install
236a8168a223c83362e377889779056a3d96b76a0f8Jens Axboeendif
237c1d5725eaad49dbf5b3a05c27b0b3677af69f64cJens Axboeprefix = /usr/local
238c1d5725eaad49dbf5b3a05c27b0b3677af69f64cJens Axboebindir = $(prefix)/bin
239bcdf7c586610734ad617ffd4efeb0e56fe9ac440Jens Axboe
24053cd4eee737f5d9a37d71ef23b42f74c016fcd2eAaron Carrollifeq ($(CONFIG_TARGET_OS), Darwin)
241bcdf7c586610734ad617ffd4efeb0e56fe9ac440Jens Axboemandir = /usr/share/man
242eab4af4e0fc24f52ac41924e62aa06a30550b6aaErwan Velusharedir = /usr/share/fio
243bcdf7c586610734ad617ffd4efeb0e56fe9ac440Jens Axboeelse
244d60e92d13e969b08dcdad940499ef081b07ac6f7Aaron Carrollmandir = $(prefix)/man
245eab4af4e0fc24f52ac41924e62aa06a30550b6aaErwan Velusharedir = $(prefix)/share/fio
246bcdf7c586610734ad617ffd4efeb0e56fe9ac440Jens Axboeendif
247c1d5725eaad49dbf5b3a05c27b0b3677af69f64cJens Axboe
248500b4f45c0271e5bc09694376f517f47434f63dbJens Axboeall: $(PROGS) $(T_TEST_PROGS) $(SCRIPTS) FORCE
249f84622e9c5f4eba6802bcfc6432493ea8c44d740Michael Zappe
2503d43382c7864753728b181ac356222d67bdd4a3fJens Axboe.PHONY: all install clean
2513d43382c7864753728b181ac356222d67bdd4a3fJens Axboe.PHONY: FORCE cscope
2523d43382c7864753728b181ac356222d67bdd4a3fJens Axboe
2533d43382c7864753728b181ac356222d67bdd4a3fJens AxboeFIO-VERSION-FILE: FORCE
25484306c1d9ecd94e93436da62b41ef61ac6e281acBruce Cran	@$(SHELL) ./FIO-VERSION-GEN
2553d43382c7864753728b181ac356222d67bdd4a3fJens Axboe-include FIO-VERSION-FILE
2563d43382c7864753728b181ac356222d67bdd4a3fJens Axboe
2577496ea3e7fb234a1c92067301c028934c325daadDavid M. Leeoverride CFLAGS += -DFIO_VERSION='"$(FIO_VERSION)"'
2583d43382c7864753728b181ac356222d67bdd4a3fJens Axboe
25941bfff8cb4c48f7229c67cb3b71b0b5fc88dca55George Dowding%.o : %.c
2604feafb1e7864b736e1bfe83fe185fbba933b1c60Jens Axboe	$(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $<
261f67d6ee2d0988de577f6f3d7e303d6a18a44e4a0Jens Axboe	@$(CC) -MM $(CFLAGS) $(CPPFLAGS) $*.c > $*.d
262f67d6ee2d0988de577f6f3d7e303d6a18a44e4a0Jens Axboe	@mv -f $*.d $*.d.tmp
263f67d6ee2d0988de577f6f3d7e303d6a18a44e4a0Jens Axboe	@sed -e 's|.*:|$*.o:|' < $*.d.tmp > $*.d
264f67d6ee2d0988de577f6f3d7e303d6a18a44e4a0Jens Axboe	@sed -e 's/.*://' -e 's/\\$$//' < $*.d.tmp | fmt -1 | \
265f67d6ee2d0988de577f6f3d7e303d6a18a44e4a0Jens Axboe		sed -e 's/^ *//' -e 's/$$/:/' >> $*.d
266f67d6ee2d0988de577f6f3d7e303d6a18a44e4a0Jens Axboe	@rm -f $*.d.tmp
267e52947d15cf0d7d31c30ccdc43450a10081976daDiego Elio Pettenò
26888b635b84d831b109f0807922449fa7a900f5dbdStephen M. Cameronifdef CONFIG_ARITHMETIC
269aa2eda7ca6021701e0077631841840250e8dd124Jens Axboelex.yy.c: exp/expression-parser.l
27050979ab290e2df81e49efb532d507c2015bfd571Stephen M. Cameron	$(QUIET_LEX)$(LEX) --header-file=lexer.h exp/expression-parser.l
271aa2eda7ca6021701e0077631841840250e8dd124Jens Axboe
27288b635b84d831b109f0807922449fa7a900f5dbdStephen M. Cameronlex.yy.o: lex.yy.c y.tab.h
27388b635b84d831b109f0807922449fa7a900f5dbdStephen M. Cameron	$(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $<
27488b635b84d831b109f0807922449fa7a900f5dbdStephen M. Cameron
27588b635b84d831b109f0807922449fa7a900f5dbdStephen M. Camerony.tab.o: y.tab.c y.tab.h
27688b635b84d831b109f0807922449fa7a900f5dbdStephen M. Cameron	$(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $<
27788b635b84d831b109f0807922449fa7a900f5dbdStephen M. Cameron
27888b635b84d831b109f0807922449fa7a900f5dbdStephen M. Camerony.tab.c: exp/expression-parser.y
27956a0f4663b39c13565e50e26a812adbe9c0f50a7Stephen M. Cameron	$(QUIET_YACC)$(YACC) --no-lines -d -b y exp/expression-parser.y
28088b635b84d831b109f0807922449fa7a900f5dbdStephen M. Cameron
2818cf2b451f43d77fc68d0511a5f70ca6f6d3196e2Jens Axboey.tab.h: y.tab.c
28288b635b84d831b109f0807922449fa7a900f5dbdStephen M. Cameron
28350979ab290e2df81e49efb532d507c2015bfd571Stephen M. Cameronlexer.h: lex.yy.c
28450979ab290e2df81e49efb532d507c2015bfd571Stephen M. Cameron
285e27dadccdc0e438f2d86f2a843b6e24355033328Jens Axboeexp/test-expression-parser.o: exp/test-expression-parser.c
286e27dadccdc0e438f2d86f2a843b6e24355033328Jens Axboe	$(QUIET_CC)$(CC) -o $@ $(CFLAGS) $(CPPFLAGS) -c $<
287e27dadccdc0e438f2d86f2a843b6e24355033328Jens Axboeexp/test-expression-parser: exp/test-expression-parser.o
288e27dadccdc0e438f2d86f2a843b6e24355033328Jens Axboe	$(QUIET_LINK)$(CC) $(LDFLAGS) $(CFLAGS) $< y.tab.o lex.yy.o -o $@ $(LIBS)
289e27dadccdc0e438f2d86f2a843b6e24355033328Jens Axboe
29088b635b84d831b109f0807922449fa7a900f5dbdStephen M. Cameronparse.o: lex.yy.o y.tab.o
29188b635b84d831b109f0807922449fa7a900f5dbdStephen M. Cameronendif
29288b635b84d831b109f0807922449fa7a900f5dbdStephen M. Cameron
293cb340b159ae6f9244a16321bbe29a7165d811e99Jens Axboeinit.o: FIO-VERSION-FILE init.c
2944feafb1e7864b736e1bfe83fe185fbba933b1c60Jens Axboe	$(QUIET_CC)$(CC) -o init.o $(CFLAGS) $(CPPFLAGS) -c init.c
29532d4cc615b518ad4e1ed24e0a2a34020679cea30Jens Axboe
296f762cef937f69d6a23127baf47f22e8ffaea4c11Jens Axboegcompat.o: gcompat.c gcompat.h
297f762cef937f69d6a23127baf47f22e8ffaea4c11Jens Axboe	$(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c gcompat.c
298f762cef937f69d6a23127baf47f22e8ffaea4c11Jens Axboe
2999af4a24408ea7d4cea084a4fe214b81145cc36acJens Axboegoptions.o: goptions.c goptions.h
3009af4a24408ea7d4cea084a4fe214b81145cc36acJens Axboe	$(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c goptions.c
3019af4a24408ea7d4cea084a4fe214b81145cc36acJens Axboe
30253e0e85d6d5311fce98b94c1e06fab8263bafc02Jens Axboeghelpers.o: ghelpers.c ghelpers.h
30353e0e85d6d5311fce98b94c1e06fab8263bafc02Jens Axboe	$(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c ghelpers.c
30453e0e85d6d5311fce98b94c1e06fab8263bafc02Jens Axboe
30541666588eed4ed830b1fabd0458eb2b0a93f0147Jens Axboegerror.o: gerror.c gerror.h
30641666588eed4ed830b1fabd0458eb2b0a93f0147Jens Axboe	$(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c gerror.c
30741666588eed4ed830b1fabd0458eb2b0a93f0147Jens Axboe
3081252d8f2c1daeb31fdc8c1f63db3ceadf7e20892Jens Axboegclient.o: gclient.c gclient.h
3091252d8f2c1daeb31fdc8c1f63db3ceadf7e20892Jens Axboe	$(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c gclient.c
3101252d8f2c1daeb31fdc8c1f63db3ceadf7e20892Jens Axboe
31153e0e85d6d5311fce98b94c1e06fab8263bafc02Jens Axboegfio.o: gfio.c ghelpers.c
31270d07ce1e97bd7cd455c386ed7a0666d81daafe6Jens Axboe	$(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c gfio.c
31370d07ce1e97bd7cd455c386ed7a0666d81daafe6Jens Axboe
31453e0e85d6d5311fce98b94c1e06fab8263bafc02Jens Axboegraph.o: graph.c graph.h
315af58ef32b7398d791168af54aa4aab0b23192f90Stephen M. Cameron	$(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c graph.c
316af58ef32b7398d791168af54aa4aab0b23192f90Stephen M. Cameron
317ee2f55b2ab5195c0d7ce7e8f09212ff826ab2751Stephen M. Cameroncairo_text_helpers.o: cairo_text_helpers.c cairo_text_helpers.h
318ee2f55b2ab5195c0d7ce7e8f09212ff826ab2751Stephen M. Cameron	$(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c cairo_text_helpers.c
319ee2f55b2ab5195c0d7ce7e8f09212ff826ab2751Stephen M. Cameron
320bf3f7027b4529fceabad46a3138cd37c9771f080Stephen M. Cameronprinting.o: printing.c printing.h
321bf3f7027b4529fceabad46a3138cd37c9771f080Stephen M. Cameron	$(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c printing.c
322bf3f7027b4529fceabad46a3138cd37c9771f080Stephen M. Cameron
32361f78f3ada575804c6d4ba0936cf64c17728eabaJens Axboet/stest: $(T_SMALLOC_OBJS)
324a3c86fc452d1c5e6ec78c6c2617540c34b7d9035Grant Grundler	$(QUIET_LINK)$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(T_SMALLOC_OBJS) $(LIBS)
32561f78f3ada575804c6d4ba0936cf64c17728eabaJens Axboe
32661f78f3ada575804c6d4ba0936cf64c17728eabaJens Axboet/ieee754: $(T_IEEE_OBJS)
327a3c86fc452d1c5e6ec78c6c2617540c34b7d9035Grant Grundler	$(QUIET_LINK)$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(T_IEEE_OBJS) $(LIBS)
328fbc2792b20276f7fa14c44f7b235ca448b383b50Jens Axboe
32933765372d5588c347e44d868d0bd6bc416a0fd05Jens Axboefio: $(FIO_OBJS)
3300b8d3cb26440b06932461b1d1ab3e1ec27eb1884Jens Axboe	$(QUIET_LINK)$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(FIO_OBJS) $(LIBS) $(HDFSLIB)
3314c3ecec4160909d7eba4acf1a07a8a0cd36a6365Jens Axboe
33270d07ce1e97bd7cd455c386ed7a0666d81daafe6Jens Axboegfio: $(GFIO_OBJS)
3330b8d3cb26440b06932461b1d1ab3e1ec27eb1884Jens Axboe	$(QUIET_LINK)$(CC) $(LDFLAGS) -o gfio $(GFIO_OBJS) $(LIBS) $(GTK_LDFLAGS)
33470d07ce1e97bd7cd455c386ed7a0666d81daafe6Jens Axboe
335500b4f45c0271e5bc09694376f517f47434f63dbJens Axboet/fio-genzipf: $(T_ZIPF_OBJS)
336a3c86fc452d1c5e6ec78c6c2617540c34b7d9035Grant Grundler	$(QUIET_LINK)$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(T_ZIPF_OBJS) $(LIBS)
3376ff3885617d8281bde48a9a19d34302add3fd017Jens Axboe
338ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboet/axmap: $(T_AXMAP_OBJS)
339a3c86fc452d1c5e6ec78c6c2617540c34b7d9035Grant Grundler	$(QUIET_LINK)$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(T_AXMAP_OBJS) $(LIBS)
340ad1f90aa84ba96916d02043958ee416a499f3f25Jens Axboe
3417a887ffeace126e7b7b5b8122799c007d8b1068cAlex Pyrgiotist/lfsr-test: $(T_LFSR_TEST_OBJS)
342a3c86fc452d1c5e6ec78c6c2617540c34b7d9035Grant Grundler	$(QUIET_LINK)$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(T_LFSR_TEST_OBJS) $(LIBS)
3437a887ffeace126e7b7b5b8122799c007d8b1068cAlex Pyrgiotis
34442a80e374660c1cd108342bab7158670b6e3b7dcJens Axboeifeq ($(CONFIG_TARGET_OS), Linux)
345500b4f45c0271e5bc09694376f517f47434f63dbJens Axboet/fio-btrace2fio: $(T_BTRACE_FIO_OBJS)
34642a80e374660c1cd108342bab7158670b6e3b7dcJens Axboe	$(QUIET_LINK)$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(T_BTRACE_FIO_OBJS) $(LIBS)
34742a80e374660c1cd108342bab7158670b6e3b7dcJens Axboeendif
34842a80e374660c1cd108342bab7158670b6e3b7dcJens Axboe
349500b4f45c0271e5bc09694376f517f47434f63dbJens Axboet/fio-dedupe: $(T_DEDUPE_OBJS)
3505aa702ce283d9a4152989bcd72ed918b056b6e88Jens Axboe	$(QUIET_LINK)$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(T_DEDUPE_OBJS) $(LIBS)
3515aa702ce283d9a4152989bcd72ed918b056b6e88Jens Axboe
3523d43382c7864753728b181ac356222d67bdd4a3fJens Axboeclean: FORCE
353500b4f45c0271e5bc09694376f517f47434f63dbJens Axboe	@rm -f .depend $(FIO_OBJS) $(GFIO_OBJS) $(OBJS) $(T_OBJS) $(PROGS) $(T_PROGS) $(T_TEST_PROGS) core.* core gfio FIO-VERSION-FILE *.d lib/*.d crc/*.d engines/*.d profiles/*.d t/*.d config-host.mak config-host.h y.tab.[ch] lex.yy.c exp/*.[do] lexer.h
35445f944b907acf5c8aeb6bca72c8932ea3ead258eJens Axboe
35545f944b907acf5c8aeb6bca72c8932ea3ead258eJens Axboedistclean: clean FORCE
3567788b76fe13059aa3610f592e58512cb5f4cdb28Jens Axboe	@rm -f cscope.out fio.pdf fio_generate_plots.pdf fio2gnuplot.pdf
357ebac4655dd3624f3296ff83be48e0cdc02852f1Jens Axboe
358592ef98a623407437c1807bc29deaa87726de5b4Jens Axboecscope:
359366badd3f5c92433b1972ac85e2b4ef46b441011Jens Axboe	@cscope -b -R
360592ef98a623407437c1807bc29deaa87726de5b4Jens Axboe
3611378cc68af81d2160ba1603b1724aac6c01f3a7fErwan Velutools/plot/fio2gnuplot.1:
3621378cc68af81d2160ba1603b1724aac6c01f3a7fErwan Velu	@cat tools/plot/fio2gnuplot.manpage | txt2man -t fio2gnuplot >  tools/plot/fio2gnuplot.1
3631378cc68af81d2160ba1603b1724aac6c01f3a7fErwan Velu
3647788b76fe13059aa3610f592e58512cb5f4cdb28Jens Axboedoc: tools/plot/fio2gnuplot.1
3657788b76fe13059aa3610f592e58512cb5f4cdb28Jens Axboe	@man -t ./fio.1 | ps2pdf - fio.pdf
3667788b76fe13059aa3610f592e58512cb5f4cdb28Jens Axboe	@man -t tools/fio_generate_plots.1 | ps2pdf - fio_generate_plots.pdf
3677788b76fe13059aa3610f592e58512cb5f4cdb28Jens Axboe	@man -t tools/plot/fio2gnuplot.1 | ps2pdf - fio2gnuplot.pdf
3687788b76fe13059aa3610f592e58512cb5f4cdb28Jens Axboe
3691378cc68af81d2160ba1603b1724aac6c01f3a7fErwan Veluinstall: $(PROGS) $(SCRIPTS) tools/plot/fio2gnuplot.1 FORCE
370513ba3f7d4eef309d2307cf9787d7d980a29164dJens Axboe	$(INSTALL) -m 755 -d $(DESTDIR)$(bindir)
371ebac4655dd3624f3296ff83be48e0cdc02852f1Jens Axboe	$(INSTALL) $(PROGS) $(SCRIPTS) $(DESTDIR)$(bindir)
372d60e92d13e969b08dcdad940499ef081b07ac6f7Aaron Carroll	$(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man1
373d60e92d13e969b08dcdad940499ef081b07ac6f7Aaron Carroll	$(INSTALL) -m 644 fio.1 $(DESTDIR)$(mandir)/man1
3740460eb92b25b65a9e99ce4fd61d1536bff255331Erwan Velu	$(INSTALL) -m 644 tools/fio_generate_plots.1 $(DESTDIR)$(mandir)/man1
3751378cc68af81d2160ba1603b1724aac6c01f3a7fErwan Velu	$(INSTALL) -m 644 tools/plot/fio2gnuplot.1 $(DESTDIR)$(mandir)/man1
376eab4af4e0fc24f52ac41924e62aa06a30550b6aaErwan Velu	$(INSTALL) -m 755 -d $(DESTDIR)$(sharedir)
377eab4af4e0fc24f52ac41924e62aa06a30550b6aaErwan Velu	$(INSTALL) -m 644 tools/plot/*gpm $(DESTDIR)$(sharedir)/
378