# Makefile

PWD=$(shell pwd)

#
# queue.cppの送信スレッドのCPU指定パッチ判定用
#
# libsrtを更新してqueue.cppが変わったらmd5の定義値を更新すること！！
# patchが当たらない場合はpatchファイルの見直しも行うこと！
#
cur_queue_cpp_md5 = $(shell md5sum srt-master/srtcore/queue.cpp | cut -d ' ' -f 1)
org_queue_cpp_md5 = fedc3a9b6562217229753911b062dfec
patched_queue_cpp_md5 = 7efef8920f8480bbdfcf73217a86332d

SRT_LIB_DIR	:= $(PWD)/srt-master
LIBDIR		:= $(PVCPF_ROOT)/usr/pvc/lib

all: config library install

config:
	chmod -R 755 ./*
	cd $(SRT_LIB_DIR) ; LANG=C $(SRT_LIB_DIR)/configure --openssl-crypto-library=$(PVCPF_SDK)/x86_64-pokysdk-linux/usr/lib/libcrypto.so --openssl-include-dir=$(PVCPF_SDK)/x86_64-pokysdk-linux/usr/include/openssl --openssl-ssl-library=$(PVCPF_SDK)/x86_64-pokysdk-linux/usr/lib/libssl.so --with-target-path=$(PVCPF_SDK)/x86_64-pokysdk-linux/usr --cmake-cxx-compiler=$(PVCPF_SDK)/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-g++ --cmake-c-compiler=$(PVCPF_SDK)/x86_64-pokysdk-linux/usr/bin/aarch64-poky-linux/aarch64-poky-linux-gcc --with-sysroot=$(PVCPF_SDK)/aarch64-poky-linux --disable-logging; cd ../
#ログだしする場合は以下を有効にする
#	cd $(SRT_LIB_DIR) ; LANG=C $(SRT_LIB_DIR)/configure --openssl-crypto-library=$(PVCPF_SDK)/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/lib/libcrypto.so --openssl-include-dir=$(PVCPF_SDK)/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/include/openssl --openssl-ssl-library=$(PVCPF_SDK)/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr/lib/libssl.so --with-target-path=$(PVCPF_SDK)/buildroot/output/host/usr/arm-buildroot-linux-gnueabi/sysroot/usr --cmake-cxx-compiler=$(PVCPF_SDK)/buildroot/output/host/usr/bin/arm-linux-g++ --cmake-c-compiler=$(PVCPF_SDK)/buildroot/output/host/usr/bin/arm-linux-gcc --enable-heavy-logging; cd ../

library:
	#make -C $(SRT_LIB_DIR) --always-make
ifeq (${cur_queue_cpp_md5}, ${org_queue_cpp_md5})
		patch --forward -p 0 < 001_sendqueue_CPU1.patch
else

ifeq (${cur_queue_cpp_md5}, ${patched_queue_cpp_md5})
	@echo "already patched queue.cpp" 
else
	@echo "queue.cpp (md5=" ${cur_queue_cpp_md5}") is invalid!!"
	exit 1
endif
endif

	make -C $(SRT_LIB_DIR)

install:
	cp -a $(SRT_LIB_DIR)/libsrt.so* $(LIBDIR)/
	mkdir -p $(LIBDIR)/libsrt
	cp -a $(SRT_LIB_DIR)/libsrt.so* $(LIBDIR)/libsrt

clean:
	make -C $(SRT_LIB_DIR) clean

distclean:
	$(RM) $(LIBDIR)/libsrt.so*
	$(RM) -r $(LIBDIR)/libsrt
	