CC = gcc
CFLAGS = -std=c11 -Wall -Wextra -O2

.PHONY: demo1 demo2 demo3 demo4 demo5 clean

demo1: adt.c
	$(CC) $(CFLAGS) -DDEMO1 adt.c -o demo1
	./demo1

demo2: adt.c
	$(CC) $(CFLAGS) -DDEMO2 adt.c -o demo2
	./demo2

demo3: adt.c
	$(CC) $(CFLAGS) -DDEMO3 adt.c -o demo3
	./demo3

demo4: adt.c
	$(CC) $(CFLAGS) -DDEMO4 adt.c -o demo4
	./demo4 hello world cat cpu

demo5: adt.c
	$(CC) $(CFLAGS) -DDEMO5 adt.c -o demo5
	./demo5

clean:
	rm -f demo1 demo2 demo3 demo4 demo5
