blob: 06020c261f396261d67db077fe36268f6ac87cfb [file] [log] [blame]
Jens Axboe2c0ecd22006-06-08 13:25:41 +02001CC = gcc
Jens Axboe5921e802008-05-30 15:02:38 +02002CFLAGS = -Wall -O2 -g -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 -DFIO_INC_DEBUG
Jens Axboe2c0ecd22006-06-08 13:25:41 +02003PROGS = fio
4SCRIPTS = fio_generate_plots
Jens Axboea432da12007-07-30 12:29:37 +02005OBJS = gettime.o fio.o ioengines.o init.o stat.o log.o time.o filesetup.o \
Jens Axboeff2e2232008-06-13 08:38:35 +02006 eta.o verify.o memory.o io_u.o parse.o mutex.o options.o \
Jens Axboe8e8af3c2010-03-19 16:43:22 +01007 rbtree.o fifo.o smalloc.o filehash.o lib/strsep.o helpers.o solaris.o \
8 profile.o debug.o
Jens Axboec11883f2006-11-23 15:11:53 +01009
Jens Axboe1fbbf722010-03-25 23:03:18 +010010OBJS += lib/rand.o
Jens Axboed29cd592010-05-04 13:06:47 +020011OBJS += lib/flist_sort.o
Jens Axboe1fbbf722010-03-25 23:03:18 +010012
Jens Axboea432da12007-07-30 12:29:37 +020013OBJS += crc/crc7.o
14OBJS += crc/crc16.o
15OBJS += crc/crc32.o
Jens Axboea6cee432008-12-22 11:29:50 +010016OBJS += crc/crc32c.o
17OBJS += crc/crc32c-intel.o
Jens Axboea432da12007-07-30 12:29:37 +020018OBJS += crc/crc64.o
Jens Axboe7c353ce2009-08-09 22:40:33 +020019OBJS += crc/sha1.o
Jens Axboea432da12007-07-30 12:29:37 +020020OBJS += crc/sha256.o
21OBJS += crc/sha512.o
22OBJS += crc/md5.o
23
Jens Axboef8fe35e2007-02-06 13:29:55 +010024OBJS += engines/cpu.o
25OBJS += engines/mmap.o
26OBJS += engines/posixaio.o
27OBJS += engines/sync.o
28OBJS += engines/null.o
Jens Axboeed92ac02007-02-06 14:43:52 +010029OBJS += engines/net.o
Jens Axboe417f0062008-06-02 11:59:30 +020030OBJS += engines/solarisaio.o
Jens Axboe2c0ecd22006-06-08 13:25:41 +020031
Jens Axboe2c0ecd22006-06-08 13:25:41 +020032INSTALL = install
33prefix = /usr/local
34bindir = $(prefix)/bin
Jens Axboe5921e802008-05-30 15:02:38 +020035mandir = $(prefix)/man
36
37%.o: %.c
38 $(CC) -o $*.o -c $(CFLAGS) $<
39fio: $(OBJS)
40 $(CC) $(CFLAGS) -o $@ $(OBJS) $(EXTLIBS) -lpthread -lm -ldl -laio -lrt -lnsl -lsocket
41
42all: $(PROGS) $(SCRIPTS)
43
44clean:
Jens Axboe6492b1e2008-06-02 15:57:45 +020045 -rm -f .depend cscope.out $(OBJS) $(PROGS) core.* core
Jens Axboe5921e802008-05-30 15:02:38 +020046
47cscope:
48 @cscope -b
Jens Axboe2c0ecd22006-06-08 13:25:41 +020049
50install: $(PROGS) $(SCRIPTS)
51 $(INSTALL) -m755 -d $(DESTDIR)$(bindir)
52 $(INSTALL) $(PROGS) $(SCRIPTS) $(DESTDIR)$(bindir)