TARGETS = vnnlab
SOURCES = main.c image.c handle_gl.c mesh.c
CC      = cc
CC_OPTS	= -g -Wall -MMD 
LN      = cc
LN_OPTS = 
INCDIR	= -I/usr/share/src/OpenGL/toolkits/include\
          -I/usr/include\
          -I/usr/X11/include
LIBDIR  = -L/usr/lib32\
          -L/usr/lib\
          -L/usr/X11/lib\
          -L/usr/share/src/OpenGL/toolkits/lib32
LIBS    = -lglut -ltcl -ltk -lX11 -lm -lGLU -lGL -lXi -lXmu -lXext -lpthread
SUBDIRS    = `cat subdirlist 2>/dev/null || :`

all : vnnlab mods

vnnlab: $(SOURCES:.c=.o)
	$(LN) $(LN_OPTS) -o $@ $(SOURCES:.c=.o) $(LIBDIR) $(LIBS)


subdirs:
	echo  -n  > subdirlist
		( for d in `find -type d `; do \
		test $$d != "." && \
		test -f $$d/Makefile && \
		echo -n "$$d " >> subdirlist; \
	done )
	echo >> subdirlist


mods : subdirs
	( for D in $(SUBDIRS) ; do \
		( echo " ===> entering $$D" ; \
		cd $$D; \
		make ; \
		echo " <=== leaving $$D" ; ) \
	done; )
	
modclean: subdirs
	( for D in $(SUBDIRS) ; do \
		( echo " ===> entering $$D" ; \
		cd $$D; \
		make clean; \
		echo " <=== leaving $$D" ; ) \
	done; )
	
clean:
	rm -f $(SOURCES:.c=.o) $(SOURCES:.c=.d) $(TARGETS) *~ subdirlist core
	
.c.o:
	$(CC) $(CC_OPTS) $(INCDIR) -c $<

-include $(SOURCES:.c=.d)
