SHELL = /bin/sh
RM = rm -f

LOCAL_CFLAGS := -Wall \
                -std=gnu++14 \
				-pthread \
                -g -Os \
                -flto \
                -fPIC \
                -fpermissive \

ifeq ($(strip $(TARGET_PLATFORM)), T106)
LOCAL_CFLAGS += -DBINDER_IPC_32BIT=1 -DHAVE_ENDIAN_H -DHAVE_PTHREADS -DHAVE_SYS_UIO_H -DHAVE_POSIX_FILEMAP -DHAVE_STRLCPY -DHAVE_PRCTL -DHAVE_MEMSET16 -DHAVE_MEMSET32 -DANDROID_SMP=0
endif

$(warning ################# lynq qser sms demo ROOT: $(ROOT),includedir:$(includedir))
LOCAL_PATH   = .

LOCAL_C_INCLUDES = \
  -I. \
  -I$(LOCAL_PATH)/include/ \
  -I$(ROOT)$(includedir)/logger \
  -I$(ROOT)$(includedir)/liblog \
  -I$(ROOT)$(includedir)/libxml2 \


LOCAL_LIBS := \
    -L. \
    -lstdc++ \
    -ldl \
    -lcutils \
    -lutils \
    -lpthread \
    -lxml2 \
    -latreg \
    -lsoftap \
    -latutils \
    -lnvram \
    -lsclog \
    -lsofttimer \
    -lbinder \
    -llynq-log \


SOURCES = $(wildcard *.c wildcard *.h *.cpp)

EXECUTABLE = lynq-atcid

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


.PHONY: build clean install pack_rootfs 
all: build
$(EXECUTABLE): $(OBJECTS)
	$(CXX) $(OBJECTS) $(LOCAL_LIBS) $(LOCAL_CFLAGS) $(LOCAL_C_INCLUDES) -o $@

%.o : %.cpp
	$(CXX) $(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)
	-find . -name "*.o" -delete
