.PHONY: all

all: clean blst_dependency /home/kostas/git/raku-node-ethereum-kzg/resources/libraries/libc-kzg-4844.so
	@echo "build ok"

clean:
	make -C /home/kostas/git/raku-node-ethereum-kzg/c-kzg-4844/src/ clean
	rm -f /home/kostas/git/raku-node-ethereum-kzg/resources/libraries/libc-kzg-4844.so /home/kostas/git/raku-node-ethereum-kzg/*.o /home/kostas/git/raku-node-ethereum-kzg/c-kzg-4844/*.o

distclean: clean
	rm -rf /home/kostas/git/raku-node-ethereum-kzg/resources /home/kostas/git/raku-node-ethereum-kzg/c-kzg-4844/Makefile

blst_dependency:
	make -C /home/kostas/git/raku-node-ethereum-kzg/c-kzg-4844/src/

/home/kostas/git/raku-node-ethereum-kzg/resources/libraries/libc-kzg-4844.so: c-kzg-4844.o
	gcc -L /home/kostas/git/raku-node-ethereum-kzg/c-kzg-4844/lib -shared -fPIC  -O3 -DNDEBUG -Wl,-z,origin,-rpath,'$$ORIGIN/../lib'  -lm -lpthread -lrt -ldl -lzstd  -o /home/kostas/git/raku-node-ethereum-kzg/resources/libraries/libc-kzg-4844.so c-kzg-4844.o /home/kostas/git/raku-node-ethereum-kzg/c-kzg-4844/blst/libblst.a

c-kzg-4844.o: /home/kostas/git/raku-node-ethereum-kzg/c-kzg-4844/src/ckzg.c
	gcc -I /home/kostas/git/raku-node-ethereum-kzg/c-kzg-4844/src -I /home/kostas/git/raku-node-ethereum-kzg/c-kzg-4844/blst/bindings -c -fPIC -fwrapv -std=gnu99 -Wextra -Wall -Wno-unused-parameter -Wno-unused-function -Wno-missing-braces -Werror=pointer-arith -O3 -DNDEBUG  -D_REENTRANT -D_FILE_OFFSET_BITS=64 -fPIC -DMVM_HEAPSNAPSHOT_FORMAT=3 -D_GNU_SOURCE -o  c-kzg-4844.o /home/kostas/git/raku-node-ethereum-kzg/c-kzg-4844/src/ckzg.c

test: all
	prove -e "raku -Ilib" t
