CXX      ?= g++
CXXFLAGS ?= -O3 -std=c++17 -Wall -I/usr/include/rknn -I/usr/include/rga
LDRKNN   := -lrknnrt
LDRGA    := -lrga
LDLIBS   := -lm -lpthread

all: yolo_api yolo_zerocopy yolo_pipeline

yolo_api: yolo_api.cpp img_util.hpp det_postprocess.hpp
	$(CXX) $(CXXFLAGS) -o $@ yolo_api.cpp $(LDRKNN) $(LDLIBS)

yolo_zerocopy: yolo_zerocopy.cpp img_util.hpp det_postprocess.hpp rga_letterbox.hpp
	$(CXX) $(CXXFLAGS) -o $@ yolo_zerocopy.cpp $(LDRKNN) $(LDRGA) $(LDLIBS)

yolo_pipeline: yolo_pipeline.cpp img_util.hpp det_postprocess.hpp rga_letterbox.hpp
	$(CXX) $(CXXFLAGS) -o $@ yolo_pipeline.cpp $(LDRKNN) $(LDRGA) $(LDLIBS)

clean:
	rm -f yolo_api yolo_zerocopy yolo_pipeline
