# Compilation flags
#CC	    = cc
CC	    = cc
INCLUDE     = -I. 
#LINCLUDE    = -lcurses -ltermcap -lm
LINCLUDE    = -lm
OPT_CFLAGS  = -O2 $(FLAGS) $(INCLUDE)
#CFLAGS	    = -g $(FLAGS) $(INCLUDE)
CFLAGS	    = -O2 $(FLAGS) $(INCLUDE)

# These are the user object files in the application
SRCS        = surf.c io.c compute.c dual.c utils.c lp.c chull.c tessel_cases.c \
	      tessel_patches.c tessel_convex.c tessel_concave.c tessel_torus.c 

# obj files for sequential execution
OBJS        = surf.o io.o compute.o dual.o utils.o lp.o chull.o tessel_cases.o \
	      tessel_patches.o tessel_convex.o tessel_concave.o tessel_torus.o  

# make objects
surf: $(OBJS) Makefile 
	$(CC) $(CFLAGS) $(OBJS) -o surf $(LINCLUDE)

lint:
	lint $(INCLUDE) $(SRCS)

clean:
	-rm -f *.o 

release:
	tar -cvf surf.tar README *.[hc] Makefile
	compress surf.tar

.c.o: 
	$(CC) $(CFLAGS) -c $*.c


# make depend makes the proper include file dependencies.  You _could_ run
# it on a sun4, but there's a bug in the SunOS version of sed that causes
# the all-important "cat makedep | sed -e 's/\.o/.d4o/p'" etc. line to
# not print the results to the stdout (but to keep pumping it through the
# edits.  The 'p' flag effectively does nothing). To avoid this I have
# replaced the 'p' flag by the 'w file' flag in sed.

DEPEND = $(SRCS)

depend: $(DEPEND)
	@ echo making dependencies...
	@ echo ' ' > makedep
	@ makedepend $(INCLUDE) -f makedep $(DEPEND)
	@ echo '/^# DO NOT DELETE THIS LINE/+2,$$d' >eddep
	@ echo '$$r makedep' >>eddep
	@ echo 'w' >>eddep
	@ cp Makefile Makefile.bak
	@ ex - Makefile < eddep
	@ rm eddep makedep 
	@ echo '  ' >> Makefile
	@ echo '# DEPENDENCIES MUST END AT END OF FILE' >> Makefile
	@ echo '# IF YOU PUT STUFF HERE IT WILL GO AWAY' >> Makefile
	@ echo '# see make depend above' >> Makefile
	@ echo 'done.'
	@ echo '  ' >> Makefile

# DO NOT DELETE THIS LINE -- make depend depends on it.
  
 
# DO NOT DELETE

surf.o: surf.h /usr/include/stdio.h /usr/include/features.h
surf.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
surf.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
surf.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
surf.o: /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h
surf.o: /usr/include/bits/wchar.h /usr/include/gconv.h
surf.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
surf.o: /usr/include/math.h /usr/include/bits/huge_val.h
surf.o: /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h
surf.o: /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h
surf.o: /usr/include/endian.h /usr/include/bits/endian.h
surf.o: /usr/include/sys/select.h /usr/include/bits/select.h
surf.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
surf.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
surf.o: /usr/include/alloca.h /usr/include/string.h /usr/include/sys/time.h
surf.o: linalg.h
io.o: surf.h /usr/include/stdio.h /usr/include/features.h
io.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
io.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
io.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
io.o: /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h
io.o: /usr/include/bits/wchar.h /usr/include/gconv.h
io.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
io.o: /usr/include/math.h /usr/include/bits/huge_val.h
io.o: /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h
io.o: /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h
io.o: /usr/include/endian.h /usr/include/bits/endian.h
io.o: /usr/include/sys/select.h /usr/include/bits/select.h
io.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
io.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
io.o: /usr/include/alloca.h /usr/include/string.h /usr/include/sys/time.h
io.o: linalg.h
compute.o: surf.h /usr/include/stdio.h /usr/include/features.h
compute.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
compute.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
compute.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
compute.o: /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h
compute.o: /usr/include/bits/wchar.h /usr/include/gconv.h
compute.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
compute.o: /usr/include/math.h /usr/include/bits/huge_val.h
compute.o: /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h
compute.o: /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h
compute.o: /usr/include/endian.h /usr/include/bits/endian.h
compute.o: /usr/include/sys/select.h /usr/include/bits/select.h
compute.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
compute.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
compute.o: /usr/include/alloca.h /usr/include/string.h
compute.o: /usr/include/sys/time.h linalg.h chull.h dual.h
dual.o: surf.h /usr/include/stdio.h /usr/include/features.h
dual.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
dual.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
dual.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
dual.o: /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h
dual.o: /usr/include/bits/wchar.h /usr/include/gconv.h
dual.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
dual.o: /usr/include/math.h /usr/include/bits/huge_val.h
dual.o: /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h
dual.o: /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h
dual.o: /usr/include/endian.h /usr/include/bits/endian.h
dual.o: /usr/include/sys/select.h /usr/include/bits/select.h
dual.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
dual.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
dual.o: /usr/include/alloca.h /usr/include/string.h /usr/include/sys/time.h
dual.o: linalg.h dual.h chull.h
utils.o: surf.h /usr/include/stdio.h /usr/include/features.h
utils.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
utils.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
utils.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
utils.o: /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h
utils.o: /usr/include/bits/wchar.h /usr/include/gconv.h
utils.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
utils.o: /usr/include/math.h /usr/include/bits/huge_val.h
utils.o: /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h
utils.o: /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h
utils.o: /usr/include/endian.h /usr/include/bits/endian.h
utils.o: /usr/include/sys/select.h /usr/include/bits/select.h
utils.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
utils.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
utils.o: /usr/include/alloca.h /usr/include/string.h /usr/include/sys/time.h
utils.o: linalg.h
lp.o: surf.h /usr/include/stdio.h /usr/include/features.h
lp.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
lp.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
lp.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
lp.o: /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h
lp.o: /usr/include/bits/wchar.h /usr/include/gconv.h
lp.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
lp.o: /usr/include/math.h /usr/include/bits/huge_val.h
lp.o: /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h
lp.o: /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h
lp.o: /usr/include/endian.h /usr/include/bits/endian.h
lp.o: /usr/include/sys/select.h /usr/include/bits/select.h
lp.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
lp.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
lp.o: /usr/include/alloca.h /usr/include/string.h /usr/include/sys/time.h
lp.o: linalg.h
chull.o: surf.h /usr/include/stdio.h /usr/include/features.h
chull.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
chull.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
chull.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
chull.o: /usr/include/libio.h /usr/include/_G_config.h /usr/include/wchar.h
chull.o: /usr/include/bits/wchar.h /usr/include/gconv.h
chull.o: /usr/include/bits/stdio_lim.h /usr/include/bits/sys_errlist.h
chull.o: /usr/include/math.h /usr/include/bits/huge_val.h
chull.o: /usr/include/bits/mathdef.h /usr/include/bits/mathcalls.h
chull.o: /usr/include/stdlib.h /usr/include/sys/types.h /usr/include/time.h
chull.o: /usr/include/endian.h /usr/include/bits/endian.h
chull.o: /usr/include/sys/select.h /usr/include/bits/select.h
chull.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
chull.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
chull.o: /usr/include/alloca.h /usr/include/string.h /usr/include/sys/time.h
chull.o: linalg.h chull.h
tessel_cases.o: surf.h /usr/include/stdio.h /usr/include/features.h
tessel_cases.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
tessel_cases.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
tessel_cases.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
tessel_cases.o: /usr/include/libio.h /usr/include/_G_config.h
tessel_cases.o: /usr/include/wchar.h /usr/include/bits/wchar.h
tessel_cases.o: /usr/include/gconv.h /usr/include/bits/stdio_lim.h
tessel_cases.o: /usr/include/bits/sys_errlist.h /usr/include/math.h
tessel_cases.o: /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h
tessel_cases.o: /usr/include/bits/mathcalls.h /usr/include/stdlib.h
tessel_cases.o: /usr/include/sys/types.h /usr/include/time.h
tessel_cases.o: /usr/include/endian.h /usr/include/bits/endian.h
tessel_cases.o: /usr/include/sys/select.h /usr/include/bits/select.h
tessel_cases.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
tessel_cases.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
tessel_cases.o: /usr/include/alloca.h /usr/include/string.h
tessel_cases.o: /usr/include/sys/time.h linalg.h dual.h
tessel_patches.o: surf.h /usr/include/stdio.h /usr/include/features.h
tessel_patches.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
tessel_patches.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
tessel_patches.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
tessel_patches.o: /usr/include/libio.h /usr/include/_G_config.h
tessel_patches.o: /usr/include/wchar.h /usr/include/bits/wchar.h
tessel_patches.o: /usr/include/gconv.h /usr/include/bits/stdio_lim.h
tessel_patches.o: /usr/include/bits/sys_errlist.h /usr/include/math.h
tessel_patches.o: /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h
tessel_patches.o: /usr/include/bits/mathcalls.h /usr/include/stdlib.h
tessel_patches.o: /usr/include/sys/types.h /usr/include/time.h
tessel_patches.o: /usr/include/endian.h /usr/include/bits/endian.h
tessel_patches.o: /usr/include/sys/select.h /usr/include/bits/select.h
tessel_patches.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
tessel_patches.o: /usr/include/sys/sysmacros.h
tessel_patches.o: /usr/include/bits/pthreadtypes.h /usr/include/alloca.h
tessel_patches.o: /usr/include/string.h /usr/include/sys/time.h linalg.h
tessel_convex.o: surf.h /usr/include/stdio.h /usr/include/features.h
tessel_convex.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
tessel_convex.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
tessel_convex.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
tessel_convex.o: /usr/include/libio.h /usr/include/_G_config.h
tessel_convex.o: /usr/include/wchar.h /usr/include/bits/wchar.h
tessel_convex.o: /usr/include/gconv.h /usr/include/bits/stdio_lim.h
tessel_convex.o: /usr/include/bits/sys_errlist.h /usr/include/math.h
tessel_convex.o: /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h
tessel_convex.o: /usr/include/bits/mathcalls.h /usr/include/stdlib.h
tessel_convex.o: /usr/include/sys/types.h /usr/include/time.h
tessel_convex.o: /usr/include/endian.h /usr/include/bits/endian.h
tessel_convex.o: /usr/include/sys/select.h /usr/include/bits/select.h
tessel_convex.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
tessel_convex.o: /usr/include/sys/sysmacros.h
tessel_convex.o: /usr/include/bits/pthreadtypes.h /usr/include/alloca.h
tessel_convex.o: /usr/include/string.h /usr/include/sys/time.h linalg.h
tessel_concave.o: surf.h /usr/include/stdio.h /usr/include/features.h
tessel_concave.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
tessel_concave.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
tessel_concave.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
tessel_concave.o: /usr/include/libio.h /usr/include/_G_config.h
tessel_concave.o: /usr/include/wchar.h /usr/include/bits/wchar.h
tessel_concave.o: /usr/include/gconv.h /usr/include/bits/stdio_lim.h
tessel_concave.o: /usr/include/bits/sys_errlist.h /usr/include/math.h
tessel_concave.o: /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h
tessel_concave.o: /usr/include/bits/mathcalls.h /usr/include/stdlib.h
tessel_concave.o: /usr/include/sys/types.h /usr/include/time.h
tessel_concave.o: /usr/include/endian.h /usr/include/bits/endian.h
tessel_concave.o: /usr/include/sys/select.h /usr/include/bits/select.h
tessel_concave.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
tessel_concave.o: /usr/include/sys/sysmacros.h
tessel_concave.o: /usr/include/bits/pthreadtypes.h /usr/include/alloca.h
tessel_concave.o: /usr/include/string.h /usr/include/sys/time.h linalg.h
tessel_torus.o: surf.h /usr/include/stdio.h /usr/include/features.h
tessel_torus.o: /usr/include/sys/cdefs.h /usr/include/bits/wordsize.h
tessel_torus.o: /usr/include/gnu/stubs.h /usr/include/gnu/stubs-64.h
tessel_torus.o: /usr/include/bits/types.h /usr/include/bits/typesizes.h
tessel_torus.o: /usr/include/libio.h /usr/include/_G_config.h
tessel_torus.o: /usr/include/wchar.h /usr/include/bits/wchar.h
tessel_torus.o: /usr/include/gconv.h /usr/include/bits/stdio_lim.h
tessel_torus.o: /usr/include/bits/sys_errlist.h /usr/include/math.h
tessel_torus.o: /usr/include/bits/huge_val.h /usr/include/bits/mathdef.h
tessel_torus.o: /usr/include/bits/mathcalls.h /usr/include/stdlib.h
tessel_torus.o: /usr/include/sys/types.h /usr/include/time.h
tessel_torus.o: /usr/include/endian.h /usr/include/bits/endian.h
tessel_torus.o: /usr/include/sys/select.h /usr/include/bits/select.h
tessel_torus.o: /usr/include/bits/sigset.h /usr/include/bits/time.h
tessel_torus.o: /usr/include/sys/sysmacros.h /usr/include/bits/pthreadtypes.h
tessel_torus.o: /usr/include/alloca.h /usr/include/string.h
tessel_torus.o: /usr/include/sys/time.h linalg.h
  
# DEPENDENCIES MUST END AT END OF FILE
# IF YOU PUT STUFF HERE IT WILL GO AWAY
# see make depend above
  
