# ----------------------------------------------------------------------
#                            Makefile du tp 1 de reseau 
# ----------------------------------------------------------------------

# ----------------------------------------------------------------------
# config
# ----------------------------------------------------------------------
CCX       = gcc 
ECHOXX    = echo
FLAGS     = -Wall
RMXX      = rm -f

# ----------------------------------------------------------------------
# l'objectif
# ----------------------------------------------------------------------
TARGET = tgv


# ----------------------------------------------------------------------
# LES SOURCES
# ----------------------------------------------------------------------
FILES_C    = OpenGL_main.c OpenGL_rail.c OpenGL_reseau.c OpenGL_train.c 


# ----------------------------------------------------------------------
# LES OBJETS
# ----------------------------------------------------------------------
OBJ = $(FILES_C:.c=.o)


# ----------------------------------------------------------------------
# INCLUDES
# ----------------------------------------------------------------------
MY_INCLUDE = -I./


# ----------------------------------------------------------------------
# LIB
# ----------------------------------------------------------------------
MY_LIB = -lglut -lGLU -lGL -lpthread -lm 


# ----------------------------------------------------------------------
# OBJECTIF(s)
# ----------------------------------------------------------------------
all:: $(TARGET)

$(TARGET): $(OBJ)
	@$(ECHOXX) "**** $(TARGET) ****"
	$(CXX) $(OBJ) $(MY_LIB) -o $@


# ----------------------------------------------------------------------
# REGLES
# ----------------------------------------------------------------------
OpenGL_main.o : OpenGL_main.c OpenGL_rail.h
	@$(ECHOXX) "**** $@ ****"
	@$(CCX) $(MY_INCLUDE) $(FLAGS) -c $< -o $@

OpenGL_rail.o : OpenGL_rail.c OpenGL_rail.h
	@$(ECHOXX) "**** $@ ****"
	@$(CCX) $(MY_INCLUDE) $(FLAGS) -c $< -o $@

OpenGL_reseau.o : OpenGL_reseau.c OpenGL_reseau.h
	@$(ECHOXX) "**** $@ ****"
	@$(CCX) $(MY_INCLUDE) $(FLAGS) -c $< -o $@

OpenGL_train.o : OpenGL_train.c OpenGL_train.h
	@$(ECHOXX) "**** $@ ****"
	@$(CCX) $(MY_INCLUDE) $(FLAGS) -c $< -o $@

bigclean::
	@$(ECHOXX) "**** bigclean ****"
	@$(RMXX) $(TARGET) *~ */*~
	@$(RMXX) $(OBJ)

clean::
	@$(ECHOXX) "**** clean ****"
	@$(RMXX) $(OBJ)

