all: tomlc99/libtoml.a ptQueue/out/ptQueue.a wsServer/libws.a flatcc/bin/flatcc flatbuffers/build/flatc

tomlc99:
	@git clone https://github.com/cktan/tomlc99

tomlc99/libtoml.a: tomlc99
	@make -C tomlc99 libtoml.a


flatcc:
	@git clone https://github.com/dvidelabs/flatcc

flatcc_src: flatcc/bin/flatcc
flatcc/lib/libflatccrt.a: flatcc/bin/flatcc

flatcc/bin/flatcc: flatcc
	@flatcc/scripts/initbuild.sh make
	@flatcc/scripts/build.sh


ptQueue:
	@git clone ssh://git@git.nikto-b.ru:2223/nikto_b/ptQueue.git

ptQueue/out/ptQueue.a: ptQueue
	@make -C ptQueue

wsServer:
	@git clone https://github.com/Theldus/wsServer

wsServer/libws.a: wsServer
	@make -C wsServer

flatbuffers:
	@git clone --depth=1 https://github.com/google/flatbuffers

flatbuffers/build/flatc: flatbuffers
	@cmake -B flatbuffers/build -S flatbuffers \
		-DCMAKE_BUILD_TYPE=Release \
		-DFLATBUFFERS_BUILD_TESTS=OFF \
		-DFLATBUFFERS_BUILD_FLATLIB=OFF \
		-DFLATBUFFERS_BUILD_FLATHASH=OFF \
		-DFLATBUFFERS_BUILD_GRPCTEST=OFF \
		-DFLATBUFFERS_BUILD_SHAREDLIB=OFF \
		-DFLATBUFFERS_INSTALL=OFF
	@cmake --build flatbuffers/build --target flatc -j$(shell nproc)


clean:
	@rm -rf wsServer ptQueue tomlc99 flatcc flatbuffers


.PHONY: all clean

