• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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