CC = cc
CFLAGS = -std=c90 -Wall -Wextra -Wpedantic -Werror -O2

COMMON = cell.o elmt_t.o

.PHONY: all test clean

all: test_list test_stack test_fifo

test_list: test_list.o list.o $(COMMON)
	$(CC) $(CFLAGS) -o $@ test_list.o list.o $(COMMON)

test_stack: test_stack.o stack.o balanced.o list.o $(COMMON)
	$(CC) $(CFLAGS) -o $@ test_stack.o stack.o balanced.o list.o $(COMMON)

test_fifo: test_fifo.o fifo.o $(COMMON)
	$(CC) $(CFLAGS) -o $@ test_fifo.o fifo.o $(COMMON)

test: all
	./test_list
	./test_stack
	./test_fifo

clean:
	rm -f *.o test_list test_stack test_fifo
