# Copyright 2012 Mozilla Foundation and Mozilla contributors
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.

DEPTH            = @DEPTH@
topsrcdir        = @top_srcdir@
srcdir           = @srcdir@
VPATH            = @srcdir@
FAIL_ON_WARNINGS := 1

include $(DEPTH)/config/autoconf.mk
include $(topsrcdir)/dom/dom-config.mk

VPATH += $(srcdir)/ipc

EXPORTS_NAMESPACES = \
  mozilla/dom/bluetooth \
  mozilla/dom/bluetooth/ipc \
  $(NULL)

EXPORTS_mozilla/dom/bluetooth = BluetoothCommon.h
EXPORTS_mozilla/dom/bluetooth/ipc = BluetoothMessageUtils.h

ifneq (,$(MOZ_B2G_BT))

MODULE           = dom
LIBRARY_NAME     = dombluetooth_s
XPIDL_MODULE     = dom_bluetooth
LIBXUL_LIBRARY   = 1
FORCE_STATIC_LIB = 1

CPPSRCS += \
  BluetoothService.cpp \
  BluetoothManager.cpp \
  BluetoothAdapter.cpp \
  BluetoothDevice.cpp \
  BluetoothPropertyEvent.cpp \
  BluetoothReplyRunnable.cpp \
  BluetoothPropertyContainer.cpp \
  BluetoothUtils.cpp \
  BluetoothChild.cpp \
  BluetoothParent.cpp \
  BluetoothServiceChildProcess.cpp \
  BluetoothUnixSocketConnector.cpp \
  BluetoothHfpManager.cpp \
  BluetoothOppManager.cpp \
  ObexBase.cpp \
  BluetoothScoManager.cpp \
  BluetoothUuid.cpp \
  $(NULL)

ifdef MOZ_B2G_RIL
CPPSRCS += BluetoothRilListener.cpp
endif

XPIDLSRCS = \
  nsIDOMNavigatorBluetooth.idl \
  nsIDOMBluetoothManager.idl \
  nsIDOMBluetoothAdapter.idl \
  nsIDOMBluetoothDevice.idl \
  nsIDOMBluetoothDeviceEvent.idl \
  nsIDOMBluetoothDeviceAddressEvent.idl \
  nsIDOMBluetoothPropertyEvent.idl \
  $(NULL)

ifeq (gonk,$(MOZ_WIDGET_TOOLKIT))
VPATH += \
  $(srcdir)/linux \
  $(srcdir)/gonk \
  $(NULL)
LOCAL_INCLUDES += $(MOZ_DBUS_CFLAGS)
CPPSRCS += \
  BluetoothDBusService.cpp \
  BluetoothGonkService.cpp \
  $(NULL)
DEFINES += -DMOZ_BLUETOOTH_GONK
else
ifdef MOZ_ENABLE_DBUS
VPATH += $(srcdir)/linux
LOCAL_INCLUDES += $(MOZ_DBUS_CFLAGS)
CPPSRCS += BluetoothDBusService.cpp
CFLAGS += $(MOZ_DBUS_GLIB_CFLAGS)
CXXFLAGS += $(MOZ_DBUS_GLIB_CFLAGS) -DHAVE_PTHREADS
DEFINES += -DMOZ_BLUETOOTH_DBUS
endif
endif

# Add VPATH to LOCAL_INCLUDES so we are going to include the correct backend
# subdirectory.
LOCAL_INCLUDES += $(VPATH:%=-I%)

endif # MOZ_B2G_BT

include $(topsrcdir)/config/config.mk
include $(topsrcdir)/ipc/chromium/chromium-config.mk
include $(topsrcdir)/config/rules.mk
