SHELL = /bin/sh
RM = rm -f

LOCAL_CFLAGS := -Wall \
                -g -Os \
                -flto \
                -fPIC \

$(warning ################# C2K support: $(RAT_CONFIG_C2K_SUPPORT))
ifeq ($(strip $(RAT_CONFIG_C2K_SUPPORT)), yes)
    LOCAL_CFLAGS += -DC2K_SUPPORT

endif

ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), dsds)
    LOCAL_CFLAGS += -DANDROID_SIM_COUNT_2 \
                     -DANDROID_MULTI_SIM \
                     -DMODE_DSDS
endif

ifeq ($(strip $(MTK_MULTI_SIM_SUPPORT)), dsss)
    LOCAL_CFLAGS += -DMODE_DSSS
endif

$(warning ################# TARGET_PLATFORM: $(TARGET_PLATFORM))
ifeq ($(strip $(TARGET_PLATFORM)), mt2731)
#$(warning #################add for debug $(ROOT), $(includedir))
$(warning ################# TARGET_PLATFORM_MT2731)
    LOCAL_CFLAGS += -DTARGET_PLATFORM_MT2731 \
                    -DMD_93_SUPPORT
else ifeq ($(strip $(TARGET_PLATFORM)), mt2635)
$(warning ################# TARGET_PLATFORM_MT2635)
    LOCAL_CFLAGS += -DTARGET_PLATFORM_MT2635 \
                    -DMD_90_SUPPORT
endif

$(warning ################# RITA ROOT: $(ROOT),includedir:$(includedir))
LOCAL_PATH   = .

LOCAL_C_INCLUDES = \
  -I. \
  -I$(LOCAL_PATH)/include \


LOCAL_LIBS := \
    -L. \
    -ldl \
    -lpthread \
    -luci \

SOURCES = $(wildcard *.c wildcard *.h src/*.c)

EXECUTABLE = liblynq-uci.so

OBJECTS=$(SOURCES:.c=.o)

DATE_FMT = +%Y-%m-%d
ifdef SOURCE_DATE_EPOCH
    BUILD_DATE ?= $(shell date -u -d "@$(SOURCE_DATE_EPOCH)" "$(DATE_FMT)" 2>/dev/null || date -u -r "$(SOURCE_DATE_EPOCH)" "$(DATE_FMT)" 2>/dev/null || date -u "$(DATE_FMT)")
else
    BUILD_DATE ?= $(shell date "$(DATE_FMT)")
endif

.PHONY: build clean install pack_rootfs 

all: build
$(EXECUTABLE): $(OBJECTS)
	$(CXX) -shared -Wl,--no-undefined $(OBJECTS) $(LOCAL_LIBS) $(LOCAL_CFLAGS) $(LOCAL_C_INCLUDES) -o $@

%.o : %.c
	$(CC) $(LOCAL_C_INCLUDES) $(LOCAL_CFLAGS) $(LOCAL_LIBS) -o $@ -c $< 

build:  $(EXECUTABLE)
	$(warning ########## build $(EXECUTABLE)  ##########)

install:
	mkdir -p $(ROOT)$(base_libdir)/
	install $(EXECUTABLE) $(ROOT)$(base_libdir)/
	mkdir -p $(ROOT)$(includedir)/$(NAME)/sdk

pack_rootfs:
	mkdir -p $(PACK_INITRAMFS_TO)$(base_libdir)/
	cp -af $(EXECUTABLE) $(PACK_INITRAMFS_TO)$(base_libdir)/
	$(CROSS)strip $(PACK_INITRAMFS_TO)$(base_libdir)/$(EXECUTABLE)
	mkdir -p $(PACK_TO)$(base_libdir)/
	cp -af $(EXECUTABLE) $(PACK_TO)$(base_libdir)/
	$(CROSS)strip $(PACK_TO)$(base_libdir)/$(EXECUTABLE)

.PHONY: clean
clean:
	$(RM) $(OBJECTS) $(EXECUTABLE)
