#!smake
#include $(ROOT)/usr/include/make/commondefs

CC  = gcc

CPP  = g++

#CFLAGS  =  -g -c -DGL_DEBUG -D_VAR_DEBUG_ 

CFLAGS  =  -c -O -g -D_DISABLE_GL_

TARGETS = proview

OBJECTS	= 3dview.o object.o \
  sphere.o node.o box.o color_obj.o cylinder.o data.o group.o \
  text.o instance.o gorth.o lexical.o lyyerror.o \
  message.o function.o initial.o primitive.o hash.o location.o \
  light.o nvect.o symbol.o header.o ver.o method.o atom.o prtalk.o\
  make_name.o parse.tab.o main.o pdb.o getopt.o pdb_io.o matrix.o \
  bond.o helix.o sheet.o motif.o

#parse.tab.o parser.o

SRCS =  ../3dview/3dview.c ../3dview/object.c \
  ../3dview/sphere.c ../3dview/node.c ../3dview/box.c ../3dview/color_obj.c\
  ../3dview/cylinder.c ../3dview/data.c ../3dview/group.c \
  ../3dview/text.c ../3dview/instance.c ../3dview/gorth.c \
  ../3dview/lexical.c ../3dview/lyyerror.c \
  ../3dview/message.c ../3dview/function.c ../3dview/initial.c \
  ../3dview/primitive.c ../3dview/hash.c ../3dview/location.c \
  ../3dview/light.c ../3dview/nvect.c ../3dview/symbol.c ../3dview/header.c \
  ver.c ../3dview/make_name.c ../3dview/parse.tab.c

# parse.tab.c parser.c

#
LDFLAGS =  -lm

LCDEFS	=  -O 

# If you want prototypes turned off, un-comment the following line:
# PROTOTYPES=

#include $(COMMONRULES)

all : $(TARGETS)

depend :
	@makedepend  -I. -I/usr/local/lib/g++-include ${SRCS}

clean : 
	rm -f  *~ *.~* $(OBJECTS) $(TARGETS) parse.tab.h parse.tab.c 

ver.c : ../3dview/makever
	../3dview/makever > ver.c

event.o : ../3dview/event.c ../3dview/event.h
	$(CC)  $(CFLAGS) ../3dview/event.c 

trackball.o:	../3dview/trackball.c ../3dview/trackball.h
	$(CC) $(CFLAGS) ../3dview/trackball.c

ui.o : ../3dview/ui.c ../3dview/ui.h
	$(CC) $(CFLAGS) ../3dview/ui.c 

vect.o : ../3dview/vect.h ../3dview/vect.c
	$(CC) $(CFLAGS) ../3dview/vect.c 

make_name.o : ../3dview/make_name.c 
	$(CPP) $(CFLAGS) ../3dview/make_name.c 

object.o : ../3dview/object.c ../3dview/object.h 
	$(CPP) $(CFLAGS) ../3dview/object.c 

ver.o : ver.c 
	$(CPP) $(CFLAGS) ver.c

parser.o : ../3dview/parser.h ../3dview/parser.c
	$(CPP) $(CFLAGS) ../3dview/parser.c 

3dview.o : ../3dview/3dview.c ../3dview/object.h
	$(CPP) $(CFLAGS) ../3dview/3dview.c 

nvect.o : ../3dview/nvect.c 
	$(CPP) $(CFLAGS) ../3dview/nvect.c 

sphere.o : ../3dview/sphere.c ../3dview/sphere.h ../3dview/object.h ../3dview/header.h ../3dview/objecttag.h
	$(CPP) $(CFLAGS) ../3dview/sphere.c 

node.o : ../3dview/node.c ../3dview/node.h ../3dview/object.h ../3dview/header.h ../3dview/objecttag.h
	$(CPP) $(CFLAGS) ../3dview/node.c 

box.o : ../3dview/box.c ../3dview/box.h ../3dview/object.h ../3dview/header.h ../3dview/objecttag.h
	$(CPP) $(CFLAGS) ../3dview/box.c 

text.o : ../3dview/text.c ../3dview/text.h ../3dview/object.h ../3dview/header.h ../3dview/objecttag.h
	$(CPP) $(CFLAGS) ../3dview/text.c 

color_obj.o : ../3dview/color_obj.c ../3dview/color_obj.h ../3dview/object.h ../3dview/header.h ../3dview/objecttag.h
	$(CPP) $(CFLAGS) ../3dview/color_obj.c 

light.o : ../3dview/light.c ../3dview/light.h ../3dview/object.h ../3dview/header.h ../3dview/objecttag.h
	$(CPP) $(CFLAGS) ../3dview/light.c 

cylinder.o : ../3dview/cylinder.c ../3dview/cylinder.h ../3dview/object.h ../3dview/header.h ../3dview/objecttag.h
	$(CPP) $(CFLAGS) ../3dview/cylinder.c 

symbol.o : ../3dview/symbol.c ../3dview/symbol.h bond.h helix.h sheet.h
	$(CPP) $(CFLAGS) ../3dview/symbol.c 

function.o : ../3dview/function.c ../3dview/function.h
	$(CPP) $(CFLAGS) ../3dview/function.c

primitive.o : ../3dview/primitive.c ../3dview/primitive.h
	$(CPP) $(CFLAGS) ../3dview/primitive.c

initial.o : ../3dview/initial.c
	$(CPP) $(CFLAGS) ../3dview/initial.c

location.o : ../3dview/location.c  ../3dview/location.h 
	$(CPP) $(CFLAGS) ../3dview/location.c

lyyerror.o : ../3dview/lyyerror.c 
	$(CPP) $(CFLAGS) ../3dview/lyyerror.c

data.o : ../3dview/data.c ../3dview/data.h ../3dview/node.h ../3dview/object.h ../3dview/header.h ../3dview/objecttag.h
	$(CPP) $(CFLAGS) ../3dview/data.c 

message.o : ../3dview/message.c ../3dview/message.h ../3dview/messagetag.h
	$(CPP) $(CFLAGS) ../3dview/message.c 

lexical.o : ../3dview/lexical.c ../3dview/parse.tab.h
	$(CPP) $(CFLAGS) ../3dview/lexical.c 

hash.o : ../3dview/hash.c ../3dview/hash.h
	$(CPP) $(CFLAGS) ../3dview/hash.c

instance.o : ../3dview/instance.c ../3dview/node.h ../3dview/object.h ../3dview/header.h ../3dview/objecttag.h bond.h method.h atom.h helix.h sheet.h
	$(CPP) $(CFLAGS) ../3dview/instance.c 

gorth.o : ../3dview/gorth.c ../3dview/gorth.h ../3dview/node.h ../3dview/object.h ../3dview/header.h ../3dview/objecttag.h
	$(CPP) $(CFLAGS) ../3dview/gorth.c 

group.o : ../3dview/group.c ../3dview/group.h ../3dview/node.h ../3dview/object.h ../3dview/header.h ../3dview/objecttag.h
	$(CPP) $(CFLAGS) ../3dview/group.c 

header.o: ../3dview/header.c ../3dview/header.h
	$(CPP) $(CFLAGS) ../3dview/header.c

../3dview/parse.tab.c : ../3dview/parse.tab.h

../3dview/parse.tab.h : ../3dview/parse.y
	(cd ../3dview;bison -dl parse.y )

parse.tab.o : ../3dview/parse.tab.c ../3dview/header.h ../3dview/node.h ../3dview/object.h ../3dview/group.h ../3dview/data.h ../3dview/hash.h ../3dview/message.h ../3dview/messagetag.h
	$(CPP) $(CFLAGS) ../3dview/parse.tab.c 

matrix.o : ../matrix/matrix.c ../matrix/matrix.h
	$(CPP) $(CFLAGS) -D_PRINTF_MODE_ ../matrix/matrix.c 

method.o : method.c pdb.h method.h
	$(CPP) $(CFLAGS) method.c 

pdb.o : pdb.c pdb.h ../matrix/matrix.h ../3dview/header.h
	$(CPP) $(CFLAGS) -I ../matrix pdb.c 

atom.o : atom.c atom.h pdb.h ../3dview/header.h
	$(CPP) $(CFLAGS) atom.c 

bond.o : bond.c bond.h ../3dview/header.h ../3dview/location.h
	$(CPP) $(CFLAGS) bond.c 

helix.o : helix.c helix.h method.h ../3dview/header.h ../3dview/location.h
	$(CPP) $(CFLAGS) helix.c 

sheet.o : sheet.c sheet.h method.h ../3dview/header.h ../3dview/location.h
	$(CPP) $(CFLAGS) sheet.c 

pdb_io.o : pdb_io.c pdb.h ../3dview/header.h
	$(CPP) $(CFLAGS) pdb_io.c 

prtalk.o : prtalk.c prtalk.h ../3dview/object.h ../3dview/header.h ../3dview/objecttag.h
	$(CPP) $(CFLAGS) prtalk.c 

motif.o : motif.c method.h
	$(CPP) $(CFLAGS) motif.c 

main.o : main.c pdb.h getopt.h ../3dview/node.h ../3dview/object.h ../3dview/header.h ../3dview/objecttag.h
	$(CPP) $(CFLAGS) main.c 

getopt.o : getopt.c getopt.h 
	$(CPP) $(CFLAGS) getopt.c

$(TARGETS): $(OBJECTS)
	$(CPP) $(OBJECTS) $(LDFLAGS) -o $@ ;\
	rm -f ver.c ver.o

# DO NOT DELETE


