CC := gcc
CFLAGS := -Wall -Wextra -O3 -flto=auto
CURSES := $(shell pkg-config --libs ncursesw)
CFLAGS_DEBUG := $(CFLAGS) -ggdb
CFLAGS_PROFILE := $(CFLAGS) -pg
GDB := gdb --tui ./th
VALGRIND := valgrind --leak-check=full --track-origins=yes --show-leak-kinds=all --log-fd=9 9>>valgrind.log ./th
HELGRIND := valgrind --tool=helgrind --log-fd=9 9>>helgrind.log ./th


all:
	$(CC) ./main.c -o th -std=c89 $(CFLAGS) $(CURSES)

d:
	$(CC) ./main.c -o th -std=c89 $(CFLAGS_DEBUG) $(CURSES)
	$(GDB)

p:
	$(CC) ./main.c -o th -std=c89 $(CFLAGS_PROFILE) $(CURSES)

v:
	$(CC) ./main.c -o th -std=c89 $(CFLAGS_DEBUG) $(CURSES)
	$(VALGRIND)

h:
	$(CC) ./main.c -o th -std=c89 $(CFLAGS_DEBUG) $(CURSES)
	$(HELGRIND)
