13c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash# Copyright (C) 2014 The Android Open Source Project 23c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash# 33c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash# Licensed under the Apache License, Version 2.0 (the "License"); 43c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash# you may not use this file except in compliance with the License. 53c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash# You may obtain a copy of the License at 63c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash# 73c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash# http://www.apache.org/licenses/LICENSE-2.0 83c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash# 93c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash# Unless required by applicable law or agreed to in writing, software 103c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash# distributed under the License is distributed on an "AS IS" BASIS, 113c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 123c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash# See the License for the specific language governing permissions and 133c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash# limitations under the License. 143c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash# 153c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash 163c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad AyyashLOCAL_PATH:= $(call my-dir) 173c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash 183c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyashinclude $(CLEAR_VARS) 193c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash 203c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad AyyashLOCAL_CFLAGS_32 += -DBITS_PER_LONG=32 -DCONFIG_64BIT 213c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad AyyashLOCAL_CFLAGS_64 += -DBITS_PER_LONG=64 -DCONFIG_32BIT 223c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash 233c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyashmain_src_files := gettime.c fio.c ioengines.c init.c stat.c log.c time.c \ 243c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash filesetup.c eta.c verify.c memory.c io_u.c parse.c mutex.c options.c \ 253c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash smalloc.c filehash.c helpers.c profile.c debug.c backend.c \ 263c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash cconv.c client.c filelock.c flow.c gettime-thread.c idletime.c io_u_queue.c \ 273c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash iolog.c json.c libfio.c memalign.c profiles/act.c profiles/tiobench.c server.c \ 283c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash td_error.c diskutil.c blktrace.c trim.c fifo.c cgroup.c \ 293c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash 303c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyashlib_src_files := lib/rbtree.c lib/flist_sort.c lib/getrusage.c lib/hweight.c lib/ieee754.c lib/lfsr.c \ 313c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash lib/num2str.c lib/prio_tree.c lib/rand.c lib/zipf.c lib/inet_aton.c lib/axmap.c \ 323c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash 333c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyashcrc_src_files := crc/crc7.c crc/crc16.c crc/crc32.c crc/crc64.c crc/crc32c.c crc/crc32c-intel.c \ 343c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash crc/sha1.c crc/sha256.c crc/sha512.c crc/md5.c crc/test.c crc/xxhash.c \ 353c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash 366f4e805b805f1ab3025482e471147bb51efa99bdElliott Hughesengines_src_files := engines/binject.c engines/cpu.c engines/mmap.c engines/null.c engines/net.c \ 376f4e805b805f1ab3025482e471147bb51efa99bdElliott Hughes engines/sg.c engines/sync.c \ 386f4e805b805f1ab3025482e471147bb51efa99bdElliott Hughes 396f4e805b805f1ab3025482e471147bb51efa99bdElliott Hughesengines_src_files_64 := engines/splice.c 403c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash 413c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad AyyashLOCAL_SRC_FILES := $(main_src_files) \ 423c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash $(lib_src_files) \ 433c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash $(crc_src_files) \ 446f4e805b805f1ab3025482e471147bb51efa99bdElliott Hughes $(engines_src_files) \ 456f4e805b805f1ab3025482e471147bb51efa99bdElliott Hughes 466f4e805b805f1ab3025482e471147bb51efa99bdElliott HughesLOCAL_SRC_FILES_64 += $(engines_src_files_64) 473c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash 483c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad AyyashLOCAL_MODULE := fio 493c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad AyyashLOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) 503c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad AyyashLOCAL_MODULE_TAGS := debug 513c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash 523c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad AyyashLOCAL_SHARED_LIBRARIES := libdl 533c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad AyyashLOCAL_STATIC_LIBRARIES := libcutils libz 543c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash 553c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad AyyashLOCAL_C_INCLUDES += external/zlib 563c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash 573c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad AyyashLOCAL_LDLIBS += -ldl 583c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad AyyashLOCAL_CFLAGS += -DFIO_VERSION="\"fio-2.1.8-80-g890b\"" \ 593c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DCONFIG_3ARG_AFFINITY \ 603c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DCONFIG_CLOCK_GETTIME \ 613c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DCONFIG_CLOCK_MONOTONIC \ 623c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DCONFIG_FDATASYNC \ 633c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DCONFIG_GETOPT_LONG_ONLY \ 643c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DCONFIG_GETTIMEOFDAY \ 653c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DCONFIG_IPV6 \ 663c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DCONFIG_LINUX_FALLOCATE \ 673c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DCONFIG_LITTLE_ENDIAN \ 683c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DCONFIG_POSIX_FALLOCATE \ 693c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DCONFIG_RLIMIT_MEMLOCK \ 703c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DCONFIG_RUSAGE_THREAD \ 713c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DCONFIG_SCHED_IDLE \ 723c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DCONFIG_SETVBUF \ 733c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DCONFIG_SFAA \ 743c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DCONFIG_SOCKLEN_T \ 753c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DCONFIG_STRCASESTR \ 763c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DCONFIG_STRSEP \ 773c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DCONFIG_TCP_NODELAY \ 783c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DCONFIG_TLS_THREAD \ 793c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DCONFIG_ZLIB \ 803c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DFIO_HAVE_CGROUPS \ 813c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DFIO_INC_DEBUG \ 823c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DFIO_INTERNAL \ 833c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DNO_GETMNTENT_R \ 843c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -DNO_INET_NETWORK \ 853c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -D_FILE_OFFSET_BITS=64 \ 863c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -D_FORTIFY_SOURCE=2 \ 873c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -D_GNU_SOURCE \ 883c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -D_LARGEFILE_SOURCE \ 893c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -D__ANDROID__ \ 903c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -O3 \ 913c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -Wall \ 923c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -Wdeclaration-after-statement \ 933c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -Wwrite-strings \ 943c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -ffast-math \ 953c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -fno-omit-frame-pointer \ 963c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -g \ 973c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -rdynamic \ 983c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash -std=gnu99 \ 993c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyash 1006f4e805b805f1ab3025482e471147bb51efa99bdElliott HughesLOCAL_CFLAGSS_64 += \ 1016f4e805b805f1ab3025482e471147bb51efa99bdElliott Hughes -DCONFIG_LINUX_SPLICE \ 1026f4e805b805f1ab3025482e471147bb51efa99bdElliott Hughes 1033c77c1316cdd85e5c6dbb3d506e5fab44e5407ecMohamad Ayyashinclude $(BUILD_EXECUTABLE) 104