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: transformations gimbal
transformations: main.o transformations.o
	$(CC) $(LDFLAGS) -o transformations main.o transformations.o
gimbal: gimbal.o
	$(CC) $(LDFLAGS) -o gimbal gimbal.o

clean:
	rm -f *.o
	rm -f transformations
	rm -f gimbal

transformations.o : transformations.h
transformations.o : transformations.h transformations.c
gimbal.o          : transformations.h gimbal.c
main.o            : transformations.h main.c
