X-Git-Url: https://git.kernel.dk/?p=fio.git;a=blobdiff_plain;f=Makefile;h=3de97354b8be2b3eb7c221ea573630003134b6a6;hp=aff4fba2251b2a2a387a7ef6557dd86e4e2d704e;hb=fdc0f3b646e417497849d4398029f780b0e5262f;hpb=9db01ef976006c002b05fa4e4ec589eb029aac5b diff --git a/Makefile b/Makefile index aff4fba2..3de97354 100644 --- a/Makefile +++ b/Makefile @@ -1,12 +1,3 @@ -DEBUGFLAGS = -D_FORTIFY_SOURCE=2 -DFIO_INC_DEBUG -CPPFLAGS= -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(DEBUGFLAGS) -OPTFLAGS= -O3 -g -ffast-math $(EXTFLAGS) -CFLAGS = -std=gnu99 -Wwrite-strings -Wall $(OPTFLAGS) -LIBS = -lm -lz $(EXTLIBS) -PROGS = fio -SCRIPTS = fio_generate_plots -UNAME := $(shell uname) - ifneq ($(wildcard config-host.mak),) all: include config-host.mak @@ -15,12 +6,22 @@ config-host-mak: configure @sed -n "/.*Configured with/s/[^:]*: //p" $@ | sh else config-host.mak: +ifneq ($(MAKECMDGOALS),clean) @echo "Running configure for you..." @./configure +endif all: include config-host.mak endif +DEBUGFLAGS = -D_FORTIFY_SOURCE=2 -DFIO_INC_DEBUG +CPPFLAGS= -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 $(DEBUGFLAGS) +OPTFLAGS= -O3 -g -ffast-math +CFLAGS = -std=gnu99 -Wwrite-strings -Wall -Wdeclaration-after-statement $(OPTFLAGS) $(EXTFLAGS) $(BUILD_CFLAGS) +LIBS += -lm $(EXTLIBS) +PROGS = fio +SCRIPTS = fio_generate_plots + ifdef CONFIG_GFIO PROGS += gfio endif @@ -33,7 +34,8 @@ SOURCE := gettime.c ioengines.c init.c stat.c log.c time.c filesetup.c \ memalign.c server.c client.c iolog.c backend.c libfio.c flow.c \ cconv.c lib/prio_tree.c json.c lib/zipf.c lib/axmap.c \ lib/lfsr.c gettime-thread.c helpers.c lib/flist_sort.c \ - lib/hweight.c lib/getrusage.c idletime.c + lib/hweight.c lib/getrusage.c idletime.c td_error.c \ + profiles/tiobench.c profiles/act.c io_u_queue.c ifdef CONFIG_64BIT_LLP64 CFLAGS += -DBITS_PER_LONG=32 @@ -77,6 +79,9 @@ endif ifndef CONFIG_STRSEP SOURCE += lib/strsep.c endif +ifndef CONFIG_STRCASESTR + SOURCE += lib/strcasestr.c +endif ifndef CONFIG_GETOPT_LONG_ONLY SOURCE += lib/getopt_long.c endif @@ -84,43 +89,42 @@ ifndef CONFIG_INET_ATON SOURCE += lib/inet_aton.c endif -ifeq ($(UNAME), Linux) +ifeq ($(CONFIG_TARGET_OS), Linux) SOURCE += diskutil.c fifo.c blktrace.c cgroup.c trim.c engines/sg.c \ - engines/binject.c profiles/tiobench.c + engines/binject.c LIBS += -lpthread -ldl LDFLAGS += -rdynamic endif -ifeq ($(UNAME), Android) +ifeq ($(CONFIG_TARGET_OS), Android) SOURCE += diskutil.c fifo.c blktrace.c trim.c profiles/tiobench.c LIBS += -ldl LDFLAGS += -rdynamic - CPPFLAGS += -DFIO_NO_HAVE_SHM_H endif -ifeq ($(UNAME), SunOS) - LIBS += -lpthread -ldl -laio -lrt -lnsl -lsocket +ifeq ($(CONFIG_TARGET_OS), SunOS) + LIBS += -lpthread -ldl CPPFLAGS += -D__EXTENSIONS__ endif -ifeq ($(UNAME), FreeBSD) +ifeq ($(CONFIG_TARGET_OS), FreeBSD) LIBS += -lpthread -lrt LDFLAGS += -rdynamic endif -ifeq ($(UNAME), NetBSD) +ifeq ($(CONFIG_TARGET_OS), NetBSD) LIBS += -lpthread -lrt LDFLAGS += -rdynamic endif -ifeq ($(UNAME), AIX) +ifeq ($(CONFIG_TARGET_OS), AIX) LIBS += -lpthread -ldl -lrt CPPFLAGS += -D_LARGE_FILES -D__ppc__ LDFLAGS += -L/opt/freeware/lib -Wl,-blibpath:/opt/freeware/lib:/usr/lib:/lib -Wl,-bmaxdata:0x80000000 endif -ifeq ($(UNAME), HP-UX) +ifeq ($(CONFIG_TARGET_OS), HP-UX) LIBS += -lpthread -ldl -lrt CFLAGS += -D_LARGEFILE64_SOURCE -D_XOPEN_SOURCE_EXTENDED endif -ifeq ($(UNAME), Darwin) +ifeq ($(CONFIG_TARGET_OS), Darwin) LIBS += -lpthread -ldl endif -ifneq (,$(findstring CYGWIN,$(UNAME))) +ifneq (,$(findstring CYGWIN,$(CONFIG_TARGET_OS))) SOURCE := $(filter-out engines/mmap.c,$(SOURCE)) SOURCE += os/windows/posix.c LIBS += -lpthread -lpsapi -lws2_32 @@ -151,15 +155,21 @@ T_AXMAP_OBJS = t/axmap.o T_AXMAP_OBJS += lib/lfsr.o lib/axmap.o T_AXMAP_PROGS = t/axmap +T_LFSR_TEST_OBJS = t/lfsr-test.o +T_LFSR_TEST_OBJS += lib/lfsr.o +T_LFSR_TEST_PROGS = t/lfsr-test + T_OBJS = $(T_SMALLOC_OBJS) T_OBJS += $(T_IEEE_OBJS) T_OBJS += $(T_ZIPF_OBJS) T_OBJS += $(T_AXMAP_OBJS) +T_OBJS += $(T_LFSR_TEST_OBJS) T_PROGS = $(T_SMALLOC_PROGS) T_PROGS += $(T_IEEE_PROGS) T_PROGS += $(T_ZIPF_PROGS) T_PROGS += $(T_AXMAP_PROGS) +T_PROGS += $(T_LFSR_TEST_PROGS) ifneq ($(findstring $(MAKEFLAGS),s),s) ifndef V @@ -169,11 +179,15 @@ ifndef V endif endif -INSTALL = install +ifeq ($(CONFIG_TARGET_OS), SunOS) + INSTALL = ginstall +else + INSTALL = install +endif prefix = /usr/local bindir = $(prefix)/bin -ifeq ($(UNAME), Darwin) +ifeq ($(CONFIG_TARGET_OS), Darwin) mandir = /usr/share/man else mandir = $(prefix)/man @@ -247,8 +261,14 @@ t/genzipf: $(T_ZIPF_OBJS) t/axmap: $(T_AXMAP_OBJS) $(QUIET_LINK)$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(T_AXMAP_OBJS) $(LIBS) $(LDFLAGS) +t/lfsr-test: $(T_LFSR_TEST_OBJS) + $(QUIET_LINK)$(CC) $(LDFLAGS) $(CFLAGS) -o $@ $(T_LFSR_TEST_OBJS) $(LIBS) $(LDFLAGS) + clean: FORCE - -rm -f .depend $(GFIO_OBJS) $(OBJS) $(T_OBJS) $(PROGS) $(T_PROGS) core.* core gfio FIO-VERSION-FILE config-host.mak cscope.out *.d + -rm -f .depend $(FIO_OBJS) $(GFIO_OBJS) $(OBJS) $(T_OBJS) $(PROGS) $(T_PROGS) core.* core gfio FIO-VERSION-FILE *.d config-host.mak config-host.h + +distclean: clean FORCE + @rm -f cscope.out cscope: @cscope -b -R