# -------------------------------------------------------
#
# Projet de Maitrise - Annee 1996 - Generateur de terrain
# Xavier AUGROS - Christophe BIGINI - David CHAPEAU
#
# -------------------------------------------------------


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

# Compilateur utilise (cc ou gcc)
CC=gcc

RENDERWAREPATH=/opt/net1/renderware/rw

# Chemins pour trouver les fichiers a inclure
INCLUDEPATH=-I${RENDERWAREPATH}/include -I/usr/dt/include -I/usr/openwin/include

# Options de compilation (ajouter -ggdb pour debugger sous gcc)
CFLAGS=${INCLUDEPATH} -ggdb -c

# Options pour le linker (ajouter -g pour debugger sous gcc)
LFLAGS=-o

# Librairies avec lesquelles on va effectuer l'edition de liens
LIBPATH=-L${RENDERWAREPATH}/SunOS5/lib/devel -L/usr/openwin/lib -L/usr/dt/lib
#LIBPATH=-L${RENDERWAREPATH}/SunOS4/lib/sun4
LIBS=${LIBPATH} -lrw -lXm -lXt -lXext -lX11 -lm 

# Fichiers sources de l'application
FILES=cb_camera.c cb_function.c cb_object.c frontend.c popup.c rw_camera.c rw_object.c viewer.c tree_fct.c y.tab.c


# Cibles
viewer: $(FILES:.c=.o)
	${CC} ${LFLAGS} viewer $(FILES:.c=.o) ${LIBS}
clean:
	/bin/rm $(FILES:.c=.o) viewer

# Regles de dependance
cb_camera.o:   cb_camera.c   cb_camera.h                           frontend.h popup.h rw_camera.h rw_object.h viewer.h
cb_function.o: cb_function.c             cb_function.h analyze.h
cb_object.o:   cb_object.c               cb_function.h cb_object.h frontend.h popup.h rw_camera.h rw_object.h viewer.h
frontend.o:    frontend.c    cb_camera.h               cb_object.h frontend.h popup.h rw_camera.h             viewer.h
popup.o:       popup.c                   cb_function.h cb_object.h frontend.h popup.h             rw_object.h viewer.h
rw_camera.o:   rw_camera.c   cb_camera.h                           frontend.h         rw_camera.h rw_object.h viewer.h
rw_object.o:   rw_object.c                             cb_object.h frontend.h         rw_camera.h rw_object.h viewer.h
viewer.o:      viewer.c                                            frontend.h         rw_camera.h rw_object.h viewer.h
tree_fct.o:    tree_fct.c    tree_fct.h                analyze.h              popup.h
y.tab.o:       y.tab.c       tree_fct.h                analyze.h              popup.h
y.tab.c:       analyze.yacc
	yacc analyze.yacc

# Regles de compilation implicites
.c.o:; ${CC} ${CFLAGS} $*.c
