CC=gcc
PP=g++
PROB1=hw6_2_1
PROB2=hw6_2_2
PROG=$(PROB1) $(PROB2)
LIB=avl.o rb.o bst.o
HEADER=avl.h rb.h bst.h

RM=rm -rf

.PHONY:all pre cleanall clean run1 run2

all:$(PROG)

%.o:%.c
	$(CC) $< -c

%:%.c $(HEADER) $(LIB)
	$(CC) $< $(LIB) -lm -o $@

%:%.cpp $(HEADER) $(LIB)
	$(PP) $< $(LIB) -lm -o $@

demo: avl-demo

pre: $(LIB)

cleanall:
	$(RM) $(PROG)
	$(RM) $(LIB)

clean:
	$(RM) $(PROG)

run1: $(PROB1)
	./$(PROB1)

run2: $(PROB2)
	./$(PROB2)
