
CC      = gcc
CFLAGS  = -Wall -g -std=gnu11
LDFLAGS =
LIBS    = -lm -lmpu -lmpuio

all: calc

calc: main.o init.o symtab.o mathf.o
	$(CC) $(LDFLAGS) -o calc main.o init.o symtab.o mathf.o $(LIBS)

main.o: main.c init.h symtab.h mathf.h
	$(CC) -c $(CFLAGS) -o main.o main.c

init.o: init.c init.h symtab.h mathf.h
	$(CC) -c $(CFLAGS) -o init.o init.c

symtab.o: symtab.c init.h symtab.h mathf.h
	$(CC) -c $(CFLAGS) -o symtab.o symtab.c 

mathf.o: mathf.c init.h symtab.h mathf.h
	$(CC) -c $(CFLAGS) -o mathf.o mathf.c

main.c: main.y init.h symtab.h mathf.h
	../zubr -lvd -Cmain.c main.y

clean:
	rm -f *.o main.c z_tab.h z.output calc
