# differents types de fichiers 
.SUFFIXES:.o.c

IFLAGS = 

#---------------------------------
# INITIALISATION DES VARIABLES 
#---------------------------------

# Indiquer le compilateur (cc ou gcc)
CC = /opt/SUNWspro/bin/CC

# Les chemins ou se trouvent les fichiers a inclure
# SUN SOLARIS
INCLUDES= $(IFLAGS) -Iincludes -Isources -I/usr/openwin/include -I/usr/dt/include -I.
# SILICON GRAPHICS
# INCLUDES= $(IFLAGS) -Iincludes -Isources

# Options de compilation. Mettre -ggdb (gcc) ou -g pour debugger
CFLAGS=  ${INCLUDES} -c -g
# Options pour le linker. Mettre -g -static (gcc) ou -g -Bstatic (cc) pour
# debugger
LFLAGS= -Lobjets


# Les librairies avec lesquelle on va effectueller l'edition de liens
# SUN SOLARIS
LIBDIRS= -L/usr/lib/openwin -L/usr/dt/lib -L/usr/openwin/lib 

# SILICON GRAPHICS
# LIBDIRS= -L/usr/include/X11R5 -L/usr/include/Motif1.2
LIBS= $(LIBDIRS) -lm -lXm -lXt -lX11 -lXext 

# Les fIchiers sources de l'application
FILES=main.cc liste.cc types.cc color.cc cmap.cc matrix.cc scene.cc buffer.cc camera.cc base.cc 

SRC=$(FILES:%.cc=sources/%.cc)
OBJ=$(FILES:%.cc=objets/%.o)

#-----------
# LES CIBLES
#-----------

main:  $(SRC:.cc=.o)
	$(CC) $(LFLAGS) -o main $(SRC:.cc=.o) ${LIBS}

clean:
	cd objets
	/bin/rm $(FILES:.cc=.o)
	cd ..
	/bin/rm main

#-----------------------------------------------------------------------------
# LES REGLES DE DEPENDANCE. Certaines sont implicites mais je recommande d'en 
# mettre une par fichier source. 
#-----------------------------------------------------------------------------

main.o: main.cc cmap.hh

liste.o: liste.cc

types.o: types.cc 

color.o: color.cc

cmap.o: cmap.cc cmap.hh

matrix.o :matrix.cc

scene.cc : scene.hh

buffer.o: buffer.cc

base.o: base.cc

#object.o: object.cc

camera.o: camera.cc

#light.o: light.cc

#objets/%.o : sources/%.cc

#---------------------------------
# REGLES DE COMPILATION IMPLICITES
#---------------------------------

.cc.o:; ${CC} ${CFLAGS} $*.cc -o $*.o

