Mohamad Ayyash | 3c77c13 | 2014-05-14 12:13:31 -0700 | [diff] [blame^] | 1 | # Copyright (C) 2014 The Android Open Source Project |
| 2 | # |
| 3 | # Licensed under the Apache License, Version 2.0 (the "License"); |
| 4 | # you may not use this file except in compliance with the License. |
| 5 | # You may obtain a copy of the License at |
| 6 | # |
| 7 | # http://www.apache.org/licenses/LICENSE-2.0 |
| 8 | # |
| 9 | # Unless required by applicable law or agreed to in writing, software |
| 10 | # distributed under the License is distributed on an "AS IS" BASIS, |
| 11 | # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. |
| 12 | # See the License for the specific language governing permissions and |
| 13 | # limitations under the License. |
| 14 | # |
| 15 | |
| 16 | LOCAL_PATH:= $(call my-dir) |
| 17 | |
| 18 | include $(CLEAR_VARS) |
| 19 | |
| 20 | LOCAL_CFLAGS_32 += -DBITS_PER_LONG=32 -DCONFIG_64BIT |
| 21 | LOCAL_CFLAGS_64 += -DBITS_PER_LONG=64 -DCONFIG_32BIT |
| 22 | |
| 23 | main_src_files := gettime.c fio.c ioengines.c init.c stat.c log.c time.c \ |
| 24 | filesetup.c eta.c verify.c memory.c io_u.c parse.c mutex.c options.c \ |
| 25 | smalloc.c filehash.c helpers.c profile.c debug.c backend.c \ |
| 26 | cconv.c client.c filelock.c flow.c gettime-thread.c idletime.c io_u_queue.c \ |
| 27 | iolog.c json.c libfio.c memalign.c profiles/act.c profiles/tiobench.c server.c \ |
| 28 | td_error.c diskutil.c blktrace.c trim.c fifo.c cgroup.c \ |
| 29 | |
| 30 | lib_src_files := lib/rbtree.c lib/flist_sort.c lib/getrusage.c lib/hweight.c lib/ieee754.c lib/lfsr.c \ |
| 31 | lib/num2str.c lib/prio_tree.c lib/rand.c lib/zipf.c lib/inet_aton.c lib/axmap.c \ |
| 32 | |
| 33 | crc_src_files := crc/crc7.c crc/crc16.c crc/crc32.c crc/crc64.c crc/crc32c.c crc/crc32c-intel.c \ |
| 34 | crc/sha1.c crc/sha256.c crc/sha512.c crc/md5.c crc/test.c crc/xxhash.c \ |
| 35 | |
| 36 | engines_src_files := engines/cpu.c engines/mmap.c engines/sync.c engines/null.c engines/net.c \ |
| 37 | engines/sg.c engines/binject.c |
| 38 | |
| 39 | LOCAL_SRC_FILES := $(main_src_files) \ |
| 40 | $(lib_src_files) \ |
| 41 | $(crc_src_files) \ |
| 42 | $(engines_src_files) |
| 43 | |
| 44 | LOCAL_MODULE := fio |
| 45 | LOCAL_MODULE_PATH := $(TARGET_OUT_OPTIONAL_EXECUTABLES) |
| 46 | LOCAL_MODULE_TAGS := debug |
| 47 | |
| 48 | LOCAL_SHARED_LIBRARIES := libdl |
| 49 | LOCAL_STATIC_LIBRARIES := libcutils libz |
| 50 | |
| 51 | LOCAL_C_INCLUDES += external/zlib |
| 52 | |
| 53 | LOCAL_LDLIBS += -ldl |
| 54 | LOCAL_CFLAGS += -DFIO_VERSION="\"fio-2.1.8-80-g890b\"" \ |
| 55 | -DCONFIG_3ARG_AFFINITY \ |
| 56 | -DCONFIG_CLOCK_GETTIME \ |
| 57 | -DCONFIG_CLOCK_MONOTONIC \ |
| 58 | -DCONFIG_FDATASYNC \ |
| 59 | -DCONFIG_GETOPT_LONG_ONLY \ |
| 60 | -DCONFIG_GETTIMEOFDAY \ |
| 61 | -DCONFIG_IPV6 \ |
| 62 | -DCONFIG_LINUX_FALLOCATE \ |
| 63 | -DCONFIG_LITTLE_ENDIAN \ |
| 64 | -DCONFIG_POSIX_FALLOCATE \ |
| 65 | -DCONFIG_RLIMIT_MEMLOCK \ |
| 66 | -DCONFIG_RUSAGE_THREAD \ |
| 67 | -DCONFIG_SCHED_IDLE \ |
| 68 | -DCONFIG_SETVBUF \ |
| 69 | -DCONFIG_SFAA \ |
| 70 | -DCONFIG_SOCKLEN_T \ |
| 71 | -DCONFIG_STRCASESTR \ |
| 72 | -DCONFIG_STRSEP \ |
| 73 | -DCONFIG_TCP_NODELAY \ |
| 74 | -DCONFIG_TLS_THREAD \ |
| 75 | -DCONFIG_ZLIB \ |
| 76 | -DFIO_HAVE_CGROUPS \ |
| 77 | -DFIO_INC_DEBUG \ |
| 78 | -DFIO_INTERNAL \ |
| 79 | -DNO_GETMNTENT_R \ |
| 80 | -DNO_INET_NETWORK \ |
| 81 | -D_FILE_OFFSET_BITS=64 \ |
| 82 | -D_FORTIFY_SOURCE=2 \ |
| 83 | -D_GNU_SOURCE \ |
| 84 | -D_LARGEFILE_SOURCE \ |
| 85 | -D__ANDROID__ \ |
| 86 | -O3 \ |
| 87 | -Wall \ |
| 88 | -Wdeclaration-after-statement \ |
| 89 | -Wwrite-strings \ |
| 90 | -ffast-math \ |
| 91 | -fno-omit-frame-pointer \ |
| 92 | -g \ |
| 93 | -rdynamic \ |
| 94 | -std=gnu99 \ |
| 95 | |
| 96 | include $(BUILD_EXECUTABLE) |