1# Copyright (C) 2008 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# Modified 2011 by InvenSense, Inc 15 16LOCAL_PATH := $(call my-dir) 17 18# Too many benign warnings to be fixed later. 19my_ignored_clang_warnings := \ 20 -Wno-unused-private-field \ 21 -Wno-gnu-designator 22 23# InvenSense fragment of the HAL 24include $(CLEAR_VARS) 25 26LOCAL_CLANG_CFLAGS += $(my_ignored_clang_warnings) 27LOCAL_MODULE := libinvensense_hal 28LOCAL_MODULE_TAGS := optional 29LOCAL_MODULE_OWNER := invensense 30 31LOCAL_CFLAGS := -DLOG_TAG=\"Sensors\" -Werror -Wall 32LOCAL_CFLAGS += -Wno-unused-parameter 33 34# ANDROID version check 35MAJOR_VERSION :=$(shell echo $(PLATFORM_VERSION) | cut -f1 -d.) 36MINOR_VERSION :=$(shell echo $(PLATFORM_VERSION) | cut -f2 -d.) 37VERSION_JB :=$(shell test $(MAJOR_VERSION) -gt 4 -o $(MAJOR_VERSION) -eq 4 -a $(MINOR_VERSION) -gt 0 && echo true) 38#ANDROID version check END 39VERSION_JB:=true 40ifeq ($(VERSION_JB),true) 41LOCAL_CFLAGS += -DANDROID_JELLYBEAN 42endif 43 44ifneq (,$(filter $(TARGET_BUILD_VARIANT),eng userdebug)) 45ifneq ($(COMPILE_INVENSENSE_COMPASS_CAL),0) 46LOCAL_CFLAGS += -DINVENSENSE_COMPASS_CAL 47endif 48ifeq ($(COMPILE_THIRD_PARTY_ACCEL),1) 49LOCAL_CFLAGS += -DTHIRD_PARTY_ACCEL 50endif 51else # release builds, default 52LOCAL_CFLAGS += -DINVENSENSE_COMPASS_CAL 53endif 54 55LOCAL_SRC_FILES += SensorBase.cpp 56LOCAL_SRC_FILES += MPLSensor.cpp 57LOCAL_SRC_FILES += MPLSupport.cpp 58LOCAL_SRC_FILES += InputEventReader.cpp 59LOCAL_SRC_FILES += PressureSensor.IIO.secondary.cpp 60 61ifneq (,$(filter $(TARGET_BUILD_VARIANT),eng userdebug)) 62ifeq ($(COMPILE_INVENSENSE_COMPASS_CAL),0) 63LOCAL_SRC_FILES += AkmSensor.cpp 64LOCAL_SRC_FILES += CompassSensor.AKM.cpp 65else ifeq ($(COMPILE_INVENSENSE_SENSOR_ON_PRIMARY_BUS), 1) 66LOCAL_SRC_FILES += CompassSensor.IIO.primary.cpp 67LOCAL_CFLAGS += -DSENSOR_ON_PRIMARY_BUS 68else 69LOCAL_SRC_FILES += CompassSensor.IIO.9150.cpp 70endif 71else # release builds, default 72LOCAL_SRC_FILES += CompassSensor.IIO.9150.cpp 73endif #userdebug 74 75LOCAL_C_INCLUDES += $(LOCAL_PATH)/software/core/mllite 76LOCAL_C_INCLUDES += $(LOCAL_PATH)/software/core/mllite/linux 77LOCAL_C_INCLUDES += $(LOCAL_PATH)/software/core/driver/include 78LOCAL_C_INCLUDES += $(LOCAL_PATH)/software/core/driver/include/linux 79 80LOCAL_SHARED_LIBRARIES := liblog 81LOCAL_SHARED_LIBRARIES += libcutils 82LOCAL_SHARED_LIBRARIES += libutils 83LOCAL_SHARED_LIBRARIES += libdl 84LOCAL_SHARED_LIBRARIES += libmllite 85 86# Additions for SysPed 87LOCAL_SHARED_LIBRARIES += libmplmpu 88LOCAL_C_INCLUDES += $(LOCAL_PATH)/software/core/mpl 89LOCAL_CPPFLAGS += -DLINUX=1 90 91LOCAL_SHARED_LIBRARIES += libmllite 92LOCAL_C_INCLUDES += $(LOCAL_PATH)/software/core/mllite 93LOCAL_CPPFLAGS += -DLINUX=1 94 95include $(BUILD_SHARED_LIBRARY) 96 97# Build a temporary HAL that links the InvenSense .so 98include $(CLEAR_VARS) 99 100LOCAL_CLANG_CFLAGS += $(my_ignored_clang_warnings) 101ifneq ($(filter dory guppy guppypdk, $(TARGET_DEVICE)),) 102LOCAL_MODULE := sensors.invensense 103else 104ifeq (,$(filter $(TARGET_BUILD_VARIANT),eng userdebug)) 105ifneq ($(filter manta grouper tilapia, $(TARGET_DEVICE)),) 106#LOCAL_MODULE := sensors.invensense 107else 108LOCAL_MODULE := sensors.${TARGET_PRODUCT} 109endif 110else # eng & userdebug builds 111LOCAL_MODULE := sensors.${TARGET_PRODUCT} 112endif # eng & userdebug builds 113endif # !guppy 114LOCAL_MODULE_PATH := $(TARGET_OUT_SHARED_LIBRARIES)/hw 115 116LOCAL_SHARED_LIBRARIES += libmplmpu 117LOCAL_C_INCLUDES += $(LOCAL_PATH)/software/core/mllite 118LOCAL_C_INCLUDES += $(LOCAL_PATH)/software/core/mllite/linux 119LOCAL_C_INCLUDES += $(LOCAL_PATH)/software/core/mpl 120LOCAL_C_INCLUDES += $(LOCAL_PATH)/software/core/driver/include 121LOCAL_C_INCLUDES += $(LOCAL_PATH)/software/core/driver/include/linux 122 123LOCAL_MODULE_TAGS := optional 124LOCAL_CFLAGS := -DLOG_TAG=\"Sensors\" -Werror -Wall 125LOCAL_CFLAGS += -Wno-unused-parameter 126 127ifeq ($(VERSION_JB),true) 128LOCAL_CFLAGS += -DANDROID_JELLYBEAN 129endif 130 131ifneq (,$(filter $(TARGET_BUILD_VARIANT),eng userdebug)) 132ifneq ($(COMPILE_INVENSENSE_COMPASS_CAL),0) 133LOCAL_CFLAGS += -DINVENSENSE_COMPASS_CAL 134endif 135ifeq ($(COMPILE_THIRD_PARTY_ACCEL),1) 136LOCAL_CFLAGS += -DTHIRD_PARTY_ACCEL 137endif 138ifeq ($(COMPILE_INVENSENSE_SENSOR_ON_PRIMARY_BUS), 1) 139LOCAL_SRC_FILES += CompassSensor.IIO.primary.cpp 140LOCAL_CFLAGS += -DSENSOR_ON_PRIMARY_BUS 141else 142LOCAL_SRC_FILES += CompassSensor.IIO.9150.cpp 143endif 144else # release builds, default 145LOCAL_SRC_FILES += CompassSensor.IIO.9150.cpp 146endif # userdebug 147 148ifeq (,$(filter $(TARGET_BUILD_VARIANT),eng userdebug)) 149ifneq ($(filter manta grouper tilapia, $(TARGET_DEVICE)),) 150# it's already defined in some other Makefile for production builds 151#LOCAL_SRC_FILES := sensors_mpl.cpp 152else 153LOCAL_SRC_FILES := sensors_mpl.cpp 154endif 155else # eng & userdebug builds 156LOCAL_SRC_FILES := sensors_mpl.cpp 157endif # eng & userdebug builds 158 159#LOCAL_STRIP_MODULE := false 160 161LOCAL_SHARED_LIBRARIES := libinvensense_hal 162LOCAL_SHARED_LIBRARIES += libcutils 163LOCAL_SHARED_LIBRARIES += libutils 164LOCAL_SHARED_LIBRARIES += libdl 165LOCAL_SHARED_LIBRARIES += liblog 166LOCAL_SHARED_LIBRARIES += libmllite 167include $(BUILD_SHARED_LIBRARY) 168 169include $(CLEAR_VARS) 170LOCAL_MODULE := libmplmpu 171LOCAL_SRC_FILES := libmplmpu.so 172LOCAL_MODULE_TAGS := optional 173LOCAL_MODULE_OWNER := invensense 174LOCAL_MODULE_SUFFIX := .so 175LOCAL_MODULE_CLASS := SHARED_LIBRARIES 176LOCAL_MODULE_PATH := $(TARGET_OUT)/lib 177OVERRIDE_BUILT_MODULE_PATH := $(TARGET_OUT_INTERMEDIATE_LIBRARIES) 178LOCAL_STRIP_MODULE := true 179include $(BUILD_PREBUILT) 180 181include $(CLEAR_VARS) 182LOCAL_MODULE := libmllite 183LOCAL_SRC_FILES := libmllite.so 184LOCAL_MODULE_TAGS := optional 185LOCAL_MODULE_OWNER := invensense 186LOCAL_MODULE_SUFFIX := .so 187LOCAL_MODULE_CLASS := SHARED_LIBRARIES 188LOCAL_MODULE_PATH := $(TARGET_OUT)/lib 189OVERRIDE_BUILT_MODULE_PATH := $(TARGET_OUT_INTERMEDIATE_LIBRARIES) 190LOCAL_STRIP_MODULE := true 191include $(BUILD_PREBUILT) 192 193my_ignored_clang_warnings := 194