TCMALLOC_PATH=$(HOME)/opt/lib/libtcmalloc.so

all:tests pack

allocator: allocator.cpp
	g++ -g -o $@ $<

allocator-pool: allocator.cpp
	g++ -g -o $@ $< -DALLOC_POOL=1

pack: pack.cpp
	g++ -g -o $@ $<
	
tests: allocator allocator-pool pack
	@echo "==== malloc ===="
	/usr/bin/time -p ./allocator noprint
	@echo "==== tcmalloc ====="
	LD_PRELOAD="$(TCMALLOC_PATH)" /usr/bin/time -p ./allocator noprint
	@echo "==== pool ===="
	/usr/bin/time -p ./allocator-pool noprint
	@echo "==== malloc stats ===="
	./allocator pause
	@echo "==== tcmalloc stats ====="
	LD_PRELOAD="$(TCMALLOC_PATH)" ./allocator pause
	@echo "==== pool stats ===="
	./allocator-pool pause
	@echo
	@echo "Pakowanie struktur"
	./pack
	