Makefile revision 3d43382c7864753728b181ac356222d67bdd4a3f
167bf982340d95ca98098ea050b54b4c7adb116c0Jens AxboeCC = gcc 267bf982340d95ca98098ea050b54b4c7adb116c0Jens AxboeDEBUGFLAGS = -D_FORTIFY_SOURCE=2 -DFIO_INC_DEBUG 367bf982340d95ca98098ea050b54b4c7adb116c0Jens AxboeCPPFLAGS= -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 \ 467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe $(DEBUGFLAGS) 567bf982340d95ca98098ea050b54b4c7adb116c0Jens AxboeOPTFLAGS= -O3 -fno-omit-frame-pointer -g $(EXTFLAGS) 667bf982340d95ca98098ea050b54b4c7adb116c0Jens AxboeCFLAGS = -std=gnu99 -Wwrite-strings -Wall $(OPTFLAGS) 767bf982340d95ca98098ea050b54b4c7adb116c0Jens AxboeLIBS = -lm -lz $(EXTLIBS) 867bf982340d95ca98098ea050b54b4c7adb116c0Jens AxboePROGS = fio 9d443abcfe076b9316bc8165366b36eb5e02a77aaJens AxboeSCRIPTS = fio_generate_plots 1067bf982340d95ca98098ea050b54b4c7adb116c0Jens AxboeUNAME := $(shell uname) 1167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe 12d443abcfe076b9316bc8165366b36eb5e02a77aaJens AxboeGTK_CFLAGS = `pkg-config --cflags gtk+-2.0 gthread-2.0` 1367bf982340d95ca98098ea050b54b4c7adb116c0Jens AxboeGTK_LDFLAGS = `pkg-config --libs gtk+-2.0 gthread-2.0` 1467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe 1567bf982340d95ca98098ea050b54b4c7adb116c0Jens AxboeSOURCE := gettime.c ioengines.c init.c stat.c log.c time.c filesetup.c \ 1667bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe eta.c verify.c memory.c io_u.c parse.c mutex.c options.c \ 17af4862b3447e35d038b6c117631d9c03777ab79eJens Axboe lib/rbtree.c smalloc.c filehash.c profile.c debug.c lib/rand.c \ 189195552e8fca86b682a86fc7ab0fb6eacb433f16Daniel Gollub lib/num2str.c lib/ieee754.c $(wildcard crc/*.c) engines/cpu.c \ 19af4862b3447e35d038b6c117631d9c03777ab79eJens Axboe engines/mmap.c engines/sync.c engines/null.c engines/net.c \ 20eb19930cf6e8315417b01e00669446a383c69690Jens Axboe memalign.c server.c client.c iolog.c backend.c libfio.c flow.c \ 21af4862b3447e35d038b6c117631d9c03777ab79eJens Axboe cconv.c lib/prio_tree.c 22af4862b3447e35d038b6c117631d9c03777ab79eJens Axboe 23265a202706aaa538297599f4c683b781a3ecaedbErwan Veluifeq ($(UNAME), Linux) 24af4862b3447e35d038b6c117631d9c03777ab79eJens Axboe SOURCE += diskutil.c fifo.c blktrace.c helpers.c cgroup.c trim.c \ 2591f94d5b88b72c300be4f27ef6630e16af890db6Jens Axboe engines/libaio.c engines/posixaio.c engines/sg.c \ 2691f94d5b88b72c300be4f27ef6630e16af890db6Jens Axboe engines/splice.c engines/syslet-rw.c engines/guasi.c \ 2791f94d5b88b72c300be4f27ef6630e16af890db6Jens Axboe engines/binject.c engines/rdma.c profiles/tiobench.c 2891f94d5b88b72c300be4f27ef6630e16af890db6Jens Axboe LIBS += -lpthread -ldl -lrt -laio 29ea783f87082e59a511c4d720d287e0de9fccb1b5Jens Axboe LDFLAGS += -rdynamic 30d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cranendif 31057754389863aa18cbf36b1f2a556a422ea2f4b5Jens Axboeifeq ($(UNAME), SunOS) 32c7c6cb4cb3114ec4ce3107e15c184e161b50122eJens Axboe SOURCE += fifo.c lib/strsep.c helpers.c engines/posixaio.c \ 33d48a9799a3d3cbe3c41658d6e41d6791b33e926cJens Axboe engines/solarisaio.c 342dc1cbb52f73303d479a72e99930a2838c4b0fa4Jens Axboe LIBS += -lpthread -ldl -laio -lrt -lnsl -lsocket 359a0db1e22a016bcdd91646b2e275051ff21c3038Jens Axboe CPPFLAGS += -D__EXTENSIONS__ 36836fcc0fceb233ebcc41ee63b4ea5cae20b678a4Jens Axboeendif 37d4afedfd152cea890ffa7d45bf1664fb70218c45Jens Axboeifeq ($(UNAME), FreeBSD) 3838a812d7fa79a673855efb6324c8fc68b92b89c1Jens Axboe SOURCE += helpers.c engines/posixaio.c 39b0e1bb93060a19560bc28718f622e16ac17c5c67Jens Axboe LIBS += -lpthread -lrt 4067bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe LDFLAGS += -rdynamic 41d60aa36e65b46320bc8db7b2f6a07e84f96ac86aManish Mandlikendif 42d60aa36e65b46320bc8db7b2f6a07e84f96ac86aManish Mandlikifeq ($(UNAME), NetBSD) 43d60aa36e65b46320bc8db7b2f6a07e84f96ac86aManish Mandlik SOURCE += helpers.c engines/posixaio.c 44d60aa36e65b46320bc8db7b2f6a07e84f96ac86aManish Mandlik LIBS += -lpthread -lrt 45d60aa36e65b46320bc8db7b2f6a07e84f96ac86aManish Mandlik LDFLAGS += -rdynamic 46d60aa36e65b46320bc8db7b2f6a07e84f96ac86aManish Mandlikendif 47d60aa36e65b46320bc8db7b2f6a07e84f96ac86aManish Mandlikifeq ($(UNAME), AIX) 48c81f9347e5849a6b97a02f215f1c474e27c79f1aBruce Cran SOURCE += fifo.c helpers.c lib/getopt_long.c engines/posixaio.c 49c81f9347e5849a6b97a02f215f1c474e27c79f1aBruce Cran LIBS += -lpthread -ldl -lrt 50c81f9347e5849a6b97a02f215f1c474e27c79f1aBruce Cran CPPFLAGS += -D_LARGE_FILES -D__ppc__ 5167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe LDFLAGS += -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000 5267bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif 5367bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifeq ($(UNAME), HP-UX) 5467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe SOURCE += fifo.c helpers.c lib/getopt_long.c lib/strsep.c engines/posixaio.c 5567bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe LIBS += -lpthread -ldl -lrt 5667bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe CFLAGS += -D_LARGEFILE64_SOURCE 5767bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif 5867bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifeq ($(UNAME), Darwin) 5967bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe SOURCE += helpers.c engines/posixaio.c 6067bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe LIBS += -lpthread -ldl 6167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif 6267bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifneq (,$(findstring CYGWIN,$(UNAME))) 6367bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe SOURCE := $(filter-out engines/mmap.c,$(SOURCE)) 6467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe SOURCE += engines/windowsaio.c os/windows/posix.c 6567bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe LIBS += -lpthread -lpsapi -lws2_32 6667bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe CFLAGS += -DPSAPI_VERSION=1 -Ios/windows/posix/include -Wno-format 6767bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe CC = x86_64-w64-mingw32-gcc 6867bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif 6967bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe 7067bf982340d95ca98098ea050b54b4c7adb116c0Jens AxboeOBJS = $(SOURCE:.c=.o) 7167bf982340d95ca98098ea050b54b4c7adb116c0Jens AxboeFIO_OBJS = $(OBJS) fio.o 7267bf982340d95ca98098ea050b54b4c7adb116c0Jens AxboeGFIO_OBJS = $(OBJS) gfio.o graph.o tickmarks.o ghelpers.o goptions.o gerror.o \ 7367bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe gclient.o 7467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe 7567bf982340d95ca98098ea050b54b4c7adb116c0Jens AxboeT_SMALLOC_OBJS = t/stest.o 7667bf982340d95ca98098ea050b54b4c7adb116c0Jens AxboeT_SMALLOC_OBJS += mutex.o smalloc.o t/log.o 7767bf982340d95ca98098ea050b54b4c7adb116c0Jens AxboeT_SMALLOC_PROGS = t/stest 7867bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe 7967bf982340d95ca98098ea050b54b4c7adb116c0Jens AxboeT_IEEE_OBJS = t/ieee754.o 8067bf982340d95ca98098ea050b54b4c7adb116c0Jens AxboeT_IEEE_OBJS += ieee754.o 8167bf982340d95ca98098ea050b54b4c7adb116c0Jens AxboeT_IEEE_PROGS = t/ieee754 8267bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe 8367bf982340d95ca98098ea050b54b4c7adb116c0Jens AxboeT_OBJS = $(T_SMALLOC_OBJS) 844700b23465687c7d3de7820341fa96e506e967b2Jens AxboeT_OBJS += $(T_IEEE_OBJS) 854700b23465687c7d3de7820341fa96e506e967b2Jens Axboe 864700b23465687c7d3de7820341fa96e506e967b2Jens Axboeifneq ($(findstring $(MAKEFLAGS),s),s) 87fc5c03455598ecb3250506e741c74bade0dae6d8Daniel Gollubifndef V 88fc5c03455598ecb3250506e741c74bade0dae6d8Daniel Gollub QUIET_CC = @echo ' ' CC $@; 89fc5c03455598ecb3250506e741c74bade0dae6d8Daniel Gollub QUIET_DEP = @echo ' ' DEP $@; 9067bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif 9167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif 9267bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe 939ad8da8217db155d2b48fe7bed91da794a71d071Jens AxboeINSTALL = install 949ad8da8217db155d2b48fe7bed91da794a71d071Jens Axboeprefix = /usr/local 959ad8da8217db155d2b48fe7bed91da794a71d071Jens Axboebindir = $(prefix)/bin 9667bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe 9767bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeifeq ($(UNAME), Darwin) 9867bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboemandir = /usr/share/man 9967bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeelse 10067bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboemandir = $(prefix)/man 10167bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboeendif 1020e55d6b0b86bc0fe49cea1ecfec80518a988dc51chenh 1030e55d6b0b86bc0fe49cea1ecfec80518a988dc51chenhall: .depend $(PROGS) $(SCRIPTS) FORCE 104cb92c7fe546d7da2b982a13e2ad97fa991e16149chenh 105cb92c7fe546d7da2b982a13e2ad97fa991e16149chenh.PHONY: all install clean 10654fe20ff2633b399e6965b6c5649166764ff546cchenh.PHONY: FORCE cscope 10754fe20ff2633b399e6965b6c5649166764ff546cchenh 10854fe20ff2633b399e6965b6c5649166764ff546cchenhFIO-VERSION-FILE: FORCE 1090e55d6b0b86bc0fe49cea1ecfec80518a988dc51chenh @$(SHELL_PATH) ./FIO-VERSION-GEN 110d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran-include FIO-VERSION-FILE 11153cd4eee737f5d9a37d71ef23b42f74c016fcd2eAaron Carroll 11267bf982340d95ca98098ea050b54b4c7adb116c0Jens AxboeCFLAGS += -DFIO_VERSION='"$(FIO_VERSION)"' 11342a80e374660c1cd108342bab7158670b6e3b7dcJens Axboe 11467bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe.c.o: .depend FORCE 115213a01b0699d88b20dfb9ed78db1f293a85d2bdcJens Axboe $(QUIET_CC)$(CC) -o $@ -c $(CFLAGS) $(CPPFLAGS) $< 116d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran 11753cd4eee737f5d9a37d71ef23b42f74c016fcd2eAaron Carrollgoptions.o: goptions.c goptions.h 11842a80e374660c1cd108342bab7158670b6e3b7dcJens Axboe $(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c goptions.c 11942a80e374660c1cd108342bab7158670b6e3b7dcJens Axboe 120ec5c6b125c1eab992882602158bab54957aa733dAaron Carrollghelpers.o: ghelpers.c ghelpers.h 121ec5c6b125c1eab992882602158bab54957aa733dAaron Carroll $(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c ghelpers.c 122ec5c6b125c1eab992882602158bab54957aa733dAaron Carroll 12353cd4eee737f5d9a37d71ef23b42f74c016fcd2eAaron Carrollgerror.o: gerror.c gerror.h 1247366ad05740d4cbbe5b43daa3b9b9efe74df34b3Jens Axboe $(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c gerror.c 125d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran 126d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Crangclient.o: gclient.c gclient.h 12753cd4eee737f5d9a37d71ef23b42f74c016fcd2eAaron Carroll $(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c gclient.c 128d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran 129213a01b0699d88b20dfb9ed78db1f293a85d2bdcJens Axboegfio.o: gfio.c ghelpers.c 130d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran $(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c gfio.c 1313cd4c66f35fad0df64e4e6dfeddc5bdfd5206e0cJohn 1323cd4c66f35fad0df64e4e6dfeddc5bdfd5206e0cJohngraph.o: graph.c graph.h 1333cd4c66f35fad0df64e4e6dfeddc5bdfd5206e0cJohn $(QUIET_CC)$(CC) $(CFLAGS) $(GTK_CFLAGS) $(CPPFLAGS) -c graph.c 1343cd4c66f35fad0df64e4e6dfeddc5bdfd5206e0cJohn 13553cd4eee737f5d9a37d71ef23b42f74c016fcd2eAaron Carrollt/stest: $(T_SMALLOC_OBJS) 136d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran $(QUIET_CC)$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(T_SMALLOC_OBJS) $(LIBS) $(LDFLAGS) 137213a01b0699d88b20dfb9ed78db1f293a85d2bdcJens Axboe 138d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Crant/ieee754: $(T_IEEE_OBJS) 13953cd4eee737f5d9a37d71ef23b42f74c016fcd2eAaron Carroll $(QUIET_CC)$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(T_IEEE_OBJS) $(LIBS) $(LDFLAGS) 140d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran 141d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cranfio: $(FIO_OBJS) FORCE 14248b35be009138ddca8d341f7767a1364400b6c06Michael Perzl $(QUIET_CC)$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(FIO_OBJS) $(LIBS) $(LDFLAGS) 143d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran 14453cd4eee737f5d9a37d71ef23b42f74c016fcd2eAaron Carrollgfio: $(GFIO_OBJS) 145b5ffb752790d4c88a18e27aaf970b065b3e4a56cJens Axboe $(QUIET_CC)$(CC) $(LIBS) -o gfio $(GFIO_OBJS) $(LIBS) $(GTK_LDFLAGS) 14667bf982340d95ca98098ea050b54b4c7adb116c0Jens Axboe 147c00a22894b82ff53b42c1e741a7b4828199a1388Jens Axboe.depend: $(SOURCE) 14853cd4eee737f5d9a37d71ef23b42f74c016fcd2eAaron Carroll $(QUIET_DEP)$(CC) -MM $(CFLAGS) $(CPPFLAGS) $(SOURCE) 1> .depend 149d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran 150d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran$(PROGS): .depend FORCE 15153cd4eee737f5d9a37d71ef23b42f74c016fcd2eAaron Carroll 15293bcfd20e37cef8cec350fe06d3a086724c9f257Bruce Cranclean: FORCE 1534700b23465687c7d3de7820341fa96e506e967b2Jens Axboe -rm -f .depend $(GFIO_OBJS) $(FIO_OBJS) $(T_OBJS) $(PROGS) $(T_PROGS) core.* core gfio FIO-VERSION-FILE 15493bcfd20e37cef8cec350fe06d3a086724c9f257Bruce Cran 1559aa5fe3290fd49c70e498d5e072a5b27e1c3034fBruce Crancscope: 156d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran @cscope -b -R 157d015e398e49f1c8d425906b8c1a3861ecc4d851aBruce Cran 1589b8365618309572d8fd2579c8ea3132db89f843fBruce Craninstall: $(PROGS) $(SCRIPTS) FORCE 15990b7a96d9573a14f20470af2aa0dd4e60611a477Jens Axboe $(INSTALL) -m 755 -d $(DESTDIR)$(bindir) 1608232e2855c87697a95d00d920d1fd11b30d0fcaaStephen M. Cameron $(INSTALL) $(PROGS) $(SCRIPTS) $(DESTDIR)$(bindir) 16188b635b84d831b109f0807922449fa7a900f5dbdStephen M. Cameron $(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man1 162cc481fd2dca2204544ac3bbba754bbf108dc96f7Jens Axboe $(INSTALL) -m 644 fio.1 $(DESTDIR)$(mandir)/man1 163cc481fd2dca2204544ac3bbba754bbf108dc96f7Jens Axboe $(INSTALL) -m 644 fio_generate_plots.1 $(DESTDIR)$(mandir)/man1 164cc481fd2dca2204544ac3bbba754bbf108dc96f7Jens Axboe 16588b635b84d831b109f0807922449fa7a900f5dbdStephen M. Cameronifneq ($(wildcard .depend),) 16688b635b84d831b109f0807922449fa7a900f5dbdStephen M. Cameroninclude .depend 167cc481fd2dca2204544ac3bbba754bbf108dc96f7Jens Axboeendif 16888b635b84d831b109f0807922449fa7a900f5dbdStephen M. Cameron 16988b635b84d831b109f0807922449fa7a900f5dbdStephen M. Cameron 170f67d6ee2d0988de577f6f3d7e303d6a18a44e4a0Jens Axboe