
# libraries and includes for Mesa
INC=-I/usr/X11R6/include -I/usr/local/opengl/include
LIB=-lglut -lGLU -lGL -lm -lX11 -lXext -lXmu -lXi -lpthread -L/usr/X11R6/lib -L/usr/local/opengl/lib


PROG=asteroids3D
OBJ=main.o oglutils.o view.o move.o display.o light.o thrust.o asteroid.o \
    torpedo.o collision.o shield.o hud.o sun.o explosion.o calc_frame.o \
	dust.o target.o split.o texture.o wind_part.o pause.o score.o sound.o \
	rcfile.o keyb.o

CC=gcc -ggdb -O3 -Wall

$(PROG): $(OBJ) $(PROG).h
	$(CC) $(LIB) -o $(PROG)  $(OBJ) 



main.o: main.c $(PROG).h
	$(CC) $(INC) -c main.c

oglutils.o: oglutils.c $(PROG).h
	$(CC) $(INC) -c oglutils.c

view.o: view.c $(PROG).h
	$(CC) $(INC) -c view.c

move.o: move.c $(PROG).h
	$(CC) $(INC) -c move.c

display.o: display.c $(PROG).h
	$(CC) $(INC) -c display.c

light.o: light.c $(PROG).h
	$(CC) $(INC) -c light.c

thrust.o: thrust.c $(PROG).h
	$(CC) $(INC) -c thrust.c

asteroid.o: asteroid.c $(PROG).h
	$(CC) $(INC) -c asteroid.c

torpedo.o: torpedo.c $(PROG).h
	$(CC) $(INC) -c torpedo.c

collision.o: collision.c $(PROG).h
	$(CC) $(INC) -c collision.c

shield.o: shield.c $(PROG).h
	$(CC) $(INC) -c shield.c

hud.o: hud.c $(PROG).h
	$(CC) $(INC) -c hud.c

sun.o: sun.c $(PROG).h
	$(CC) $(INC) -c sun.c

explosion.o: explosion.c $(PROG).h
	$(CC) $(INC) -c explosion.c

calc_frame.o: calc_frame.c $(PROG).h
	$(CC) $(INC) -c calc_frame.c

dust.o: dust.c $(PROG).h
	$(CC) $(INC) -c dust.c

target.o: target.c $(PROG).h
	$(CC) $(INC) -c target.c

split.o: split.c $(PROG).h
	$(CC) $(INC) -c split.c

texture.o: texture.c $(PROG).h
	$(CC) $(INC) -c texture.c

wind_part.o: wind_part.c $(PROG).h
	$(CC) $(INC) -c wind_part.c

pause.o: pause.c $(PROG).h
	$(CC) $(INC) -c pause.c

score.o: score.c $(PROG).h
	$(CC) $(INC) -c score.c

sound.o: sound.c $(PROG).h
	$(CC) $(INC) -c sound.c

rcfile.o: rcfile.c $(PROG).h
	$(CC) $(INC) -c rcfile.c

keyb.o: keyb.c $(PROG).h
	$(CC) $(INC) -c keyb.c

clean:
	rm -f *.o
	rm -f core
	rm -f $(PROG)
