##=============================================================
## Makefile to build the E3D library (3DLib)
##
## AUTHOR:	Gabor Nagy
## DATE:	1996-Dec-12 23:41:41
##
## Copyright (C) 1995 by Gabor Nagy. All rights reserved.
##=============================================================

EINCDIR = ../include

CFLAGS	= -O3 -Wall -DUSEOpenGL -I$(EINCDIR)

INCLUDES =	$(EINCDIR)/E3D/E3D.h $(EINCDIR)/E3D/Geometry.h $(EINCDIR)/E3D/Light.h $(EINCDIR)/E3D/Material.h $(EINCDIR)/E3D/Math.h $(EINCDIR)/E3D/Matrix.h\
		$(EINCDIR)/E3D/Model.h $(EINCDIR)/E3D/Polygon.h $(EINCDIR)/E3D/Spline.h $(EINCDIR)/E3D/Texture.h $(EINCDIR)/E3D/Types.h

TARGETS	=	$(EOBJDIR)/E3D/Animation.o\
		$(EOBJDIR)/E3D/Basics.o\
		$(EOBJDIR)/E3D/Camera.o\
		$(EOBJDIR)/E3D/Face.o\
		$(EOBJDIR)/E3D/Geometry.o\
		$(EOBJDIR)/E3D/IO.o\
		$(EOBJDIR)/E3D/Light.o\
		$(EOBJDIR)/E3D/Material.o\
		$(EOBJDIR)/E3D/Math.o\
		$(EOBJDIR)/E3D/Matrix.o\
		$(EOBJDIR)/E3D/Mesh.o\
		$(EOBJDIR)/E3D/Model.o\
		$(EOBJDIR)/E3D/ModelHrc.o\
		$(EOBJDIR)/E3D/Polygon.o\
		$(EOBJDIR)/E3D/Rendering.o\
		$(EOBJDIR)/E3D/Scene.o\
		$(EOBJDIR)/E3D/Select.o\
		$(EOBJDIR)/E3D/Spline.o\
		$(EOBJDIR)/E3D/Texture.o

E3D all:	$(TARGETS) tags

tags:		$(TARGETS)
		ctags -f tags $(PWD)/*.c
		lc *.[ch] FileIO/*.[ch] Panel/*.[ch] ../include/E3D/*.h

.c.o:
		$(CC) -c $(CFLAGS) $< -o $*.o
		
clean:
		rm -f $(TARGETS) core


$(EOBJDIR)/E3D/Animation.o:	Animation.c $(INCLUDES)
				$(CC) -c $(CFLAGS) Animation.c -o $@

$(EOBJDIR)/E3D/Basics.o:	Basics.c $(INCLUDES)
				$(CC) -c $(CFLAGS) Basics.c -o $@

$(EOBJDIR)/E3D/Camera.o:	Camera.c $(INCLUDES)
				$(CC) -c $(CFLAGS) Camera.c -o $@

$(EOBJDIR)/E3D/Face.o:		Face.c $(INCLUDES)
				$(CC) -c $(CFLAGS) Face.c -o $@

$(EOBJDIR)/E3D/Geometry.o:	Geometry.c $(INCLUDES)
				$(CC) -c $(CFLAGS) Geometry.c -o $@

$(EOBJDIR)/E3D/IO.o:		IO.c $(INCLUDES)
				$(CC) -c $(CFLAGS) IO.c -o $@

$(EOBJDIR)/E3D/Light.o:		Light.c $(INCLUDES)
				$(CC) -c $(CFLAGS) Light.c -o $@

$(EOBJDIR)/E3D/Material.o:	Material.c $(INCLUDES) $(EINCDIR)/EMalloc.h
				$(CC) -c $(CFLAGS) Material.c -o $@

$(EOBJDIR)/E3D/Math.o:		Math.c
				$(CC) -c $(CFLAGS) Math.c -o $@

$(EOBJDIR)/E3D/Matrix.o:	Matrix.c $(INCLUDES)
				$(CC) -c $(CFLAGS) Matrix.c -o $@

$(EOBJDIR)/E3D/Mesh.o:		Mesh.c $(INCLUDES) $(EINCDIR)/EMalloc.h
				$(CC) -c $(CFLAGS) Mesh.c -o $@

$(EOBJDIR)/E3D/Model.o:		Model.c $(INCLUDES) $(EINCDIR)/EMalloc.h
				$(CC) -c $(CFLAGS) Model.c -o $@

$(EOBJDIR)/E3D/ModelHrc.o:	ModelHrc.c $(INCLUDES) $(EINCDIR)/EMalloc.h
				$(CC) -c $(CFLAGS) ModelHrc.c -o $@

$(EOBJDIR)/E3D/Polygon.o:	Polygon.c $(INCLUDES) $(EINCDIR)/EMalloc.h
				$(CC) -c $(CFLAGS) Polygon.c -o $@

$(EOBJDIR)/E3D/Rendering.o:	Rendering.c $(INCLUDES)
				$(CC) -c $(CFLAGS) Rendering.c -o $@

$(EOBJDIR)/E3D/Scene.o:		Scene.c $(INCLUDES) $(EINCDIR)/E3D/Spline.h
				$(CC) -c $(CFLAGS) Scene.c -o $@

$(EOBJDIR)/E3D/Select.o:	Select.c $(INCLUDES)
				$(CC) -c $(CFLAGS) Select.c -o $@

$(EOBJDIR)/E3D/Spline.o:	Spline.c $(INCLUDES) $(EINCDIR)/E3D/Spline.h
				$(CC) -c $(CFLAGS) Spline.c -o $@

$(EOBJDIR)/E3D/Texture.o:	Texture.c $(INCLUDES) $(EINCDIR)/EMalloc.h
				$(CC) -c $(CFLAGS) Texture.c -o $@
