#CC=gcc
#CXX=g++

SOURCE_DIR=..
GPS_HAL_PATH=$(SOURCE_DIR)/gps_hal/

ifneq ($(findstring __LIBMNL_SIMULATOR__, $(CFLAG)),)
  USR_LIB_DIR=$(GPS_HAL_PATH)
else
  USR_LIB_DIR=/usr/lib/
endif

FLAGS=\
  -g \
  -Wall \
  -fPIC \
  -D__COMPILE_OPTION__ \
  -D__LINUX_OS__ \

#  -m32 \

CPPFLAGS=\
  -std=c++11 \

INCLUDE=\
  -Imnld_client/inc \
  -Imnld_fm/inc \
  -I../gps_hal/inc \
  -I../gps_hal/inc/hardware \
  -I../gps_hal/mnldinf/inc \

LIBS=\
  -ldl \
  -lrt \
  -lpthread \
  -lgnsshal \
  -llynq-systime \
  -llynq-uci \
  -L$(GPS_HAL_PATH) \
  -Wl,-rpath $(USR_LIB_DIR)

$(warning libs=$(LIBS))

CXXSRC=\

CSRC_mnld_test=\
  mnld_client/src/mnld_client.c \
  mnld_client/src/mnld_client_gps_cb.c

CSRC_fm_gnss=\
  mnld_fm/src/mnld_fm.c \
  mnld_fm/src/mnld_fm_gps_cb.c

EXECUTABLE=mnld_test fm_gnss

COBJS=$(CSRC:.c=.o)
CXXOBJS=$(CXXSRC:.cpp=.o)

all: $(EXECUTABLE)

$(warning $(patsubst %.c,%.o,$(CSRC_mnld_test))...........................................)

mnld_test: $(patsubst %.c,%.o,$(CSRC_mnld_test))
	$(CC)  $^ --sysroot=$(BB_SYSROOT_ADD) -I$(BB_SYSROOT_ADD)/usr/include/gps_hal $(LIBS) $(FLAGS) $(CPPFLAGS) -o $@

fm_gnss: $(patsubst %.c,%.o,$(CSRC_fm_gnss))
	$(CC)  $^ --sysroot=$(BB_SYSROOT_ADD) -I$(BB_SYSROOT_ADD)/usr/include/gps_hal $(LIBS) $(FLAGS) $(CPPFLAGS) -o $@

%.o : %.c
	$(CC) -c $(FLAGS) -I$(BB_SYSROOT_ADD)/usr/include/gps_hal $(INCLUDE) -o $@ $^

%.o : %.cpp
	$(CC) -c $(FLAGS) $(INCLUDE) $(CPPFLAGS) -o $@ $^

.PHONY: install clean
install:
	install -d $(DESTDIR)/${bindir}
	install -m 0755 $(EXECUTABLE) $(DESTDIR)/${bindir}

clean:
	rm -f $(EXECUTABLE) rm -rf *.o
	find ./ -name *.o | xargs rm -rf
