CXX := g++

CXXFLAGS += -MMD -O2 -Wall -g -fPIC
CXXFLAGS += -Wno-unused-parameter
ifneq ($(TARGET_USES_AOSP),true)
CXXFLAGS += -DQTI_BSP=1
endif
ifneq ($(TARGET_USES_AOSP_FOR_WLAN), true)
CXXFLAGS += -DWCNSS_QTI_AOSP
endif

CXXFLAGS += -Iinc
CXXFLAGS += -I$(TOPDIR)/qcom/wifi_hal/wlan/qcwcn/wifi_hal
CXXFLAGS += -I$(TOPDIR)/qcom/wifi_hal/wlan/qcwcn/wifi_hal/vendor_nan
CXXFLAGS += -I$(TOPDIR)/qcom/interfaces/wifi/legacy_headers/include
CXXFLAGS += -I$(TOPDIR)/qcom/interfaces/wifi/legacy_headers/include/hardware_legacy
CXXFLAGS += -I$(TOPDIR)/qcom/halproxydaemon/utils/halproxydaemon/inc
CXXFLAGS += -I$(TOPDIR)/external/libhardware_legacy/include/hardware_legacy
CXXFLAGS += -I$(TOPDIR)/system/logging/liblog/include
CXXFLAGS += -I$(TOPDIR)/external/libnl/include

LDFLAGS += -L$(TOPDIR)/external/prebuilt/cutils
LIBS += -lpthread
LDFLAGS += -L$(WIFIHAL_DIR)
LIBS += -lcutils -lwifi-hal-qcom

OBJS = $(patsubst %.cpp, %.o, $(wildcard $(dir $(abspath $(lastword $(MAKEFILE_LIST))))/src/*.cpp))

TARGET := hal_proxy_daemon

.PHONY: halproxydaemon

halproxydaemon: $(OUTPUTDIR)/$(TARGET)

$(OUTPUTDIR)/$(TARGET): $(OBJS)
	$(CXX) $(CXXFLAGS) $(LDFLAGS) -o $@ $(OBJS) $(LIBS)

%.o: %.cpp
	@echo "Compiling C++: $<"
	$(CXX) $(CXXFLAGS) -c $< -o $@

.PHONY: halproxydaemon_clean
halproxydaemon_clean:
	rm -f $(OBJS) $(OUTPUTDIR)/$(TARGET)

-include $(OBJS:%.o=%.d)
