CC = gcc
CFLAGS = -Wall -pthread
CFLAGS_OPT = -Wall -pthread -O2
LDFLAGS = -lpthread -lm

.PHONY: all clean

all: task61 badcount task62 task63 psum64 task64 matmult task66 task67

task61: task61.c
	$(CC) $(CFLAGS) -o task61 task61.c $(LDFLAGS)

badcount: badcount.c
	$(CC) $(CFLAGS) -o badcount badcount.c $(LDFLAGS)

task62: task62.c
	$(CC) $(CFLAGS) -o task62 task62.c $(LDFLAGS)

task63: task63.c
	$(CC) $(CFLAGS) -o task63 task63.c $(LDFLAGS)

psum64: psum64.c
	$(CC) $(CFLAGS_OPT) -o psum64 psum64.c $(LDFLAGS)

task64: task64.c
	$(CC) $(CFLAGS_OPT) -o task64 task64.c $(LDFLAGS)

matmult: matmult.c
	$(CC) $(CFLAGS_OPT) -o matmult matmult.c $(LDFLAGS)

task66: task66.c
	$(CC) $(CFLAGS) -o task66 task66.c $(LDFLAGS)

task67: task67.c
	$(CC) $(CFLAGS) -o task67 task67.c $(LDFLAGS)

clean:
	rm -f task61 badcount task62 task63 psum64 task64 matmult task66 task67
