CFLAGS = -Wall -g -O -fPIC
SYS_ROOT = $(WORKDIR)/recipe-sysroot
INCLUDE_DIRS = -I$(SYS_ROOT)/usr/include \
				-Iinclude/               \
				-Isrc/socketdev
LIBS = -lpthread -lparcel -lcjson

TARGET = libofono.so

CFLAGS += ${MULTI_SIM_CFLAGS}
CFLAGS += ${TELE_GENERAL_STRUCT_CFLAGS}
CFLAGS += ${TELE_DBUS_CFLAGS}
CFLAGS += ${TELE_AT_SOCK_CFLAGS}
CFLAGS += -DEXPORT_API="__attribute__((visibility(\"default\")))"

OBJS_DBUS =	ofono-common.o	\
			ofono-sim.o	\
			ofono-sms.o	\
			ofono-sms-agent.o	\
			ofono-network.o	\
			ofono-connman.o	\
			ofono-call.o	\
			ofono-ss.o	\
			ofono-modem.o	\
			ofono-sat.o	\
			ofono-phonebook.o	\
			ofono-netmon.o	\
			common.o	\
			ofono-ims.o	\
			ofono-network_ex.o	\
			syncInterface.o	\
			vsim.o	\
			ofono-common_ex.o	\
			ofono-euicc.o

SRCS_DBUS =	src/dbusdev/ofono-common.c	\
			src/dbusdev/ofono-sim.c	\
			src/dbusdev/ofono-sms.c	\
			src/dbusdev/ofono-sms-agent.c	\
			src/dbusdev/ofono-network.c	\
			src/dbusdev/ofono-connman.c	\
			src/dbusdev/ofono-call.c	\
			src/dbusdev/ofono-ss.c	\
			src/dbusdev/ofono-modem.c	\
			src/dbusdev/ofono-sat.c	\
			src/dbusdev/ofono-phonebook.c	\
			src/dbusdev/ofono-netmon.c	\
			src/dbusdev/common.c	\
			src/dbusdev/ofono-ims.c	\
			src/dbusdev/ofono-network_ex.c	\
			src/dbusdev/syncInterface.c	\
			src/dbusdev/vsim.c	\
			src/dbusdev/ofono-common_ex.c	\
			src/dbusdev/ofono-euicc.c

OBJS_SOCKET  =	msg_queue.o	    \
				msg_socket.o	\
				msg_channel.o	\
				record_stream.o	\
				tele_common.o   \
				tele_sim.o      \
				tele_network.o  \
				tele_modem.o    \
				libtele_general.o

SRCS_SOCKET  =	src/socketdev/msg_queue.c	    \
				src/socketdev/msg_socket.c	    \
				src/socketdev/msg_channel.c	    \
				src/socketdev/record_stream.c	\
				src/socketdev/tele_interface/tele_common.c     \
				src/socketdev/tele_interface/tele_sim.c        \
				src/socketdev/tele_interface/tele_network.c    \
				src/socketdev/tele_interface/tele_modem.c      \
				src/socketdev/libtele_general.c

SRCS =			src/utils.c
OBJS =			utils.o

OBJS += $(OBJS_SOCKET)
SRCS += $(SRCS_SOCKET)

ifeq ("${TELE_DBUS_CFLAGS}", "-DTELE_SUPPORT_DBUS")
	INCLUDE_DIRS += -I$(SYS_ROOT)/usr/include/glib-2.0 \
					-I$(SYS_ROOT)/usr/lib/glib-2.0/include \
					-Isrc/dbusdev
	LIBS += -lglib-2.0 -lgio-2.0
	OBJS += $(OBJS_DBUS)
	SRCS += $(SRCS_DBUS)
endif

$(TARGET):$(OBJS)
	$(CC) -shared -o $(TARGET) $(OBJS) $(LIBPATH) $(LIBS)

$(OBJS):$(SRCS)
	$(CC) $(CFLAGS) $(INCLUDE_DIRS) -c $^

clean:
	rm -f *.o
	rm -f $(TARGET)
