#
# Makefile for IShadowMap/UNIX
#

VERSION=1.2#
UNIX_VERSION=1.0#
DISTDIR=ishadowmap-$(VERSION)-unix$(UNIX_VERSION)#

CXX= g++
CCDEPEND= gccmakedep

SRCS = GLObject.cpp  GLextensions.cpp  MString.cpp  PnmIO.cpp  ishadowmap.cpp
OBJS = $(SRCS:.cpp=.o)
HEADERS= Define.H    GLextensions.H  Math3D.H  PnmIO.H \
	GLObject.H  MString.H       Option.H  ishadowmap.H
TEXTURES= floor.ppm  object.ppm  spot.ppm  spot2.ppm \
	floor.pgm  help.pgm

CFLAGS= -Wall -Os -pipe -O9 -ffast-math -fexpensive-optimizations -fomit-frame-pointer -mfancy-math-387 -mpreferred-stack-boundary=2 -march=i686
CPPFLAGS= -I/usr/local/include

.PHONY: all clean realclean tar

all: ishadowmap

.cpp.o:
	$(CXX) $(CPPFLAGS) $(CFLAGS) -c $<

ishadowmap: $(OBJS)
	$(CXX) -o $@ $(OBJS) -L/usr/local/lib -lGL -lGLU -lglut -lm

clean:
	rm -f $(OBJS) ishadowmap

realclean: clean
	rm -f depend depend.bak

tar:
	rm -rf $(DISTDIR)/
	mkdir $(DISTDIR)
	cp $(SRCS) $(HEADERS) $(TEXTURES) Makefile $(DISTDIR)/
	cp README README.eng $(DISTDIR)/
	mkdir $(DISTDIR)/org-doc
	cp org/ishadowmap/ReadMe.txt org/ishadowmap/ReadMe_J.txt $(DISTDIR)/org-doc/
	tar cvf $(DISTDIR).tar $(DISTDIR)
	rm -f $(DISTDIR).tar.gz
	gzip -9 $(DISTDIR).tar

depend: $(SRCS) $(HEADERS)
	rm -f depend
	touch depend
	$(CCDEPEND) -fdepend $(CPPFLAGS) $(SRCS)

-include depend

# end
