CC=gcc

WARNING_FLAGS=-Wall -Wextra -Werror-implicit-function-declaration -Wshadow -Wstrict-prototypes -pedantic-errors
CFLAGS=-g -O2 -std=c99 $(WARNING_FLAGS)
LDFLAGS=-g -lGL -lglut -lGLU

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

all: main
main: main.o volume.o
	$(CC) $(LDFLAGS) -o main main.o volume.o

clean:
	rm -f *.o
	rm -f main

volume.o : volume.h
main.o   : volume.h main.c
volume.o : volume.h volume.c
