# -*- mode: makefile-gmake; coding: utf-8 -*-

# Copyright (C) 2014,2020 Oscar Acena <oscaracena@gmail.com>
# This software is under the terms of Apache License v2 or later.

PLATFORM := $(shell uname -m)
TARGETS   = gattlib.so
OBJECTS   = att.o crypto.o uuid.o gatt.o gattrib.o btio.o log.o utils.o \
            gattservices.o gattlib.o bindings.o beacon.o

export PKG_CONFIG_PATH := $(PKG_CONFIG_PATH):/usr/lib/$(PLATFORM)-linux-gnu/pkgconfig/

# Dropping Py2 support
# ifeq ($(PYTHON_VER),3)
PYTHON_CONFIG = python3-config
BOOST_PYTHON = $(shell \
    ldconfig -p | 'grep' -E 'libboost_python3.*\.so ' | \
    awk '{i=index($$1,".");print substr($$1,4,i-4)}' \
)
# else
#   PYTHON_CONFIG = python-config
#   BOOST_PYTHON  = boost_python
# endif

CFLAGS  += -ggdb -fPIC -Wall $$($(PYTHON_CONFIG) --includes) \
           -Ibluez $$(pkg-config --cflags glib-2.0)
CFLAGS  += -DDEBUG

CFLAGS  += -DVERSION='"5.25"'
CXXFLAGS = $(CFLAGS)
LDFLAGS  = -l$(BOOST_PYTHON) -lboost_thread -lbluetooth \
           $$(pkg-config --libs glib-2.0)

vpath %.c bluez/attrib
vpath %.c bluez/src
vpath %.c bluez/src/shared
vpath %.c bluez/lib
vpath %.c bluez/btio

all: $(TARGETS)

gattlib.so: $(OBJECTS)
	$(CXX) $(CXXFLAGS) -shared -o $@ $^ $(LDFLAGS)

.PHONY: clean
clean:
	rm -f *.o *.so* *~
