PLATFORM=aarch64
INCLUDE = \
    -I../usr/include/sys \
    -I../Headers \
    -I/opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/include/c++/10.3.1 \
    -I/opt/gcc-arm-10.3-2021.07-x86_64-aarch64-none-linux-gnu/aarch64-none-linux-gnu/libc/usr/include \
    -I./ \
    -Iinclude \
    -I./aarch64/include

LIB_DIR=-L../../../C++_Dependencies/aarch64 -L./aarch64/lib -L./aarch64/sys/lib

CC = aarch64-linux-gnu-gcc -march=armv8-a -mtune=cortex-a53 -Iinclude -I -lstdc++

DEMO = ../../../C++_Demo_Source
SDKCOMP = ../../../C++_SDK
DEMOCOMP = ../../../C++_Demo

FLAGS        = -std=c11 -Iinclude

LDFLAGS = $(LIB_DIR) -L. -lIDTechSDK -ldl -lpthread -rdynamic -Wl,-rpath='../../../C++_Dependencies/aarch64'

LIBS =
LIBTOOL =

TARGET  = IDTechSDK_Demo
SOURCES = $(shell echo ../*.c)
HEADERS = $(shell echo ../*.h)

OTHERDEMOS := $(wildcard ../../*_Demo/$(PLATFORM))
CSRCS = $(wildcard ../*.c)
CPPSRCS = $(wildcard ../*.cpp)

COBJS := $(CSRCS:.c=.o)
CPPOBJS := $(CPPSRCS:.cpp=.o)


all: $(TARGET) $(OTHERDEMOS)

clean:
	rm -f $(COBJS) $(CPPOBJS) $(TARGET)
$(TARGET): $(COBJS) $(CPPOBJS)
	$(CC) -o $(TARGET) $(COBJS) $(CPPOBJS) $(LIBS) -o $@ $(LDFLAGS)

	rm -f $(DEMO)/SDK_Demo_Main/$(TARGET)
	cp $(TARGET) $(DEMO)/SDK_Demo_Main/
	rm -f $(DEMOCOMP)/$(PLATFORM)/$(TARGET)
	cp $(TARGET) $(DEMOCOMP)/$(PLATFORM)/
	cp ../NEO2_Devices.xml $(DEMOCOMP)/$(PLATFORM)/
	cp ../ca-certificates.crt $(DEMOCOMP)/$(PLATFORM)/
	rm -f *.o
	rm -f ../*.o

$(OTHERDEMOS):
	$(MAKE) -C $@ clean && $(MAKE) -C $@

.PHONY: all $(OTHERDEMOS)
