CC	= gcc
DEBUGFLAGS = -D_FORTIFY_SOURCE=2 -DFIO_INC_DEBUG
OPTFLAGS= -O2 -g $(EXTFLAGS)
CFLAGS	= -Wwrite-strings -Wall -D_GNU_SOURCE -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(OPTFLAGS) $(DEBUGFLAGS) -rdynamic
PROGS	= fio
SCRIPTS = fio_generate_plots
OBJS = gettime.o fio.o ioengines.o init.o stat.o log.o time.o filesetup.o \
	eta.o verify.o memory.o io_u.o parse.o mutex.o options.o \
	rbtree.o smalloc.o filehash.o

OBJS += crc/crc7.o
OBJS += crc/crc16.o
OBJS += crc/crc32.o
OBJS += crc/crc32c.o
OBJS += crc/crc32c-intel.o
OBJS += crc/crc64.o
OBJS += crc/sha256.o
OBJS += crc/sha512.o
OBJS += crc/md5.o

OBJS += engines/cpu.o
OBJS += engines/mmap.o
OBJS += engines/posixaio.o
OBJS += engines/sync.o
OBJS += engines/null.o
OBJS += engines/net.o

SOURCE = eta.c filehash.c filesetup.c fio.c gettime.c init.c ioengines.c \
	 io_u.c log.c memory.c mutex.c options.c parse.c rbtree.c smalloc.c \
	 stat.c parse.c crc/*.c engines/cpu.c engines/mmap.c \
	 engines/posixaio.c engines/sync.c engines/null.c engines/net.c \
	 *.h */*.h

ifneq ($(findstring $(MAKEFLAGS),s),s)
ifndef V
	QUIET_CC	= @echo '   ' CC $@;
	QUIET_DEP	= @echo '   ' DEP $@;
endif
endif

INSTALL = install
prefix = /usr/local
bindir = $(prefix)/bin
mandir = $(prefix)/man

%.o: %.c
	$(QUIET_CC)$(CC) -o $*.o -c $(CFLAGS) $<
fio: $(OBJS)
	$(QUIET_CC)$(CC) $(CFLAGS) -o $@ $(filter %.o,$^) $(EXTLIBS) -lpthread -lm

depend:
	$(QUIET_DEP)$(CC) -MM $(ALL_CFLAGS) $(SOURCE) 1> .depend

$(PROGS): depend

all: depend $(PROGS) $(SCRIPTS)

clean:
	-rm -f .depend cscope.out $(OBJS) $(PROGS) core.* core

cscope:
	@cscope -b

install: $(PROGS) $(SCRIPTS)
	$(INSTALL) -m755 -d $(DESTDIR)$(bindir)
	$(INSTALL) $(PROGS) $(SCRIPTS) $(DESTDIR)$(bindir)
	$(INSTALL) -m 755 -d $(DESTDIR)$(mandir)/man1
	$(INSTALL) -m 644 fio.1 $(DESTDIR)$(mandir)/man1
	$(INSTALL) -m 644 fio_generate_plots.1 $(DESTDIR)$(mandir)/man1

ifneq ($(wildcard .depend),)
include .depend
endif
