CC=gcc
CFLAGS=-O3 -g
CXX=g++
CXXFLAGS=-O3 -g -ggdb

all: a.out mmul

a.out: a.cc
	$(CXX) $(CXXFLAGS) -o a.out a.cc

run_memcheck:
	valgrind --tool=memcheck --leak-check=yes ./a.out >& log.txt

mmul: mmul.c
	$(CC) $(CFLAGS) -o mmul mmul.c

run_cache:
	valgrind --tool=cachegrind ./mmul 1024

annotate:
	cg_annotate cachegrind.out.<pid>  mmul.c > mmul.c.annotated

run_massif:
	valgrind --tool=massif --time-unit=B ./mmul 256
	ms_print massif.out.<pid>

clean:
	rm -f a.out mmul

