%.o: %.C
	g++ $(CFLAGS) $(INCS) -c $*.C
%: %.o
	g++ $(LFLAGS) -o $* 

CFLAGS = -g
LFLAGS =
#CFLAGS = -O3
#LFLAGS = -O3
#TARGETS = refenvshrm evaluate curetbrdf shrmdiag
TARGETS = refenvshrm 
CLEAN = $(TARGETS) *.o 

all: $(TARGETS)

refenvshrm: main.o shrm.o brdfs.o transforms.o write.o legendre.o
	g++ $(LFLAGS) -o refenvshrm $* $(filter %.o,$^) $(filter %.a,$^)

evaluate: evaluate.o legendre.o
	g++ $(LFLAGS) -o evaluate $* $(filter %.o,$^) $(filter %.a,$^)

curetbrdf: curetbrdf.o legendre.o
	g++ $(LFLAGS) -o curetbrdf $* $(filter %.o,$^) $(filter %.a,$^)

shrmdiag: shrmdiag.o legendre.o 
	g++ $(LFLAGS) -o shrmdiag $* $(filter %.o,$^) $(filter %.a,$^)

clean: 
	rm -f $(CLEAN)
# DO NOT DELETE

brdfs.o: brdfs.h globals.h legendre.h /usr/include/alloca.h
brdfs.o: /usr/include/assert.h /usr/include/bits/endian.h
brdfs.o: /usr/include/bits/huge_val.h /usr/include/bits/mathcalls.h
brdfs.o: /usr/include/bits/mathdef.h /usr/include/bits/nan.h
brdfs.o: /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h
brdfs.o: /usr/include/bits/select.h /usr/include/bits/sigset.h
brdfs.o: /usr/include/bits/stdio_lim.h /usr/include/bits/time.h
brdfs.o: /usr/include/bits/types.h /usr/include/bits/waitflags.h
brdfs.o: /usr/include/bits/waitstatus.h /usr/include/bits/wchar.h
brdfs.o: /usr/include/endian.h /usr/include/features.h
brdfs.o: /usr/include/g++-3/cmath /usr/include/g++-3/complex
brdfs.o: /usr/include/g++-3/std/complext.h /usr/include/g++-3/std/dcomplex.h
brdfs.o: /usr/include/g++-3/std/fcomplex.h /usr/include/g++-3/std/ldcomplex.h
brdfs.o: /usr/include/_G_config.h /usr/include/gconv.h
brdfs.o: /usr/include/gnu/stubs.h /usr/include/libio.h /usr/include/math.h
brdfs.o: /usr/include/stdio.h /usr/include/stdlib.h /usr/include/string.h
brdfs.o: /usr/include/sys/cdefs.h /usr/include/sys/select.h
brdfs.o: /usr/include/sys/sysmacros.h /usr/include/sys/types.h
brdfs.o: /usr/include/time.h /usr/include/wchar.h /usr/include/xlocale.h
brdfs.o: /usr/lib/gcc-lib/i386-redhat-linux/2.96/include/stdarg.h
brdfs.o: /usr/lib/gcc-lib/i386-redhat-linux/2.96/include/stddef.h vectors.h
curetbrdf.o: legendre.h /usr/include/alloca.h /usr/include/assert.h
curetbrdf.o: /usr/include/bits/confname.h /usr/include/bits/endian.h
curetbrdf.o: /usr/include/bits/environments.h /usr/include/bits/huge_val.h
curetbrdf.o: /usr/include/bits/mathcalls.h /usr/include/bits/mathdef.h
curetbrdf.o: /usr/include/bits/nan.h /usr/include/bits/posix_opt.h
curetbrdf.o: /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h
curetbrdf.o: /usr/include/bits/select.h /usr/include/bits/sigset.h
curetbrdf.o: /usr/include/bits/stdio_lim.h /usr/include/bits/time.h
curetbrdf.o: /usr/include/bits/types.h /usr/include/bits/waitflags.h
curetbrdf.o: /usr/include/bits/waitstatus.h /usr/include/bits/wchar.h
curetbrdf.o: /usr/include/bits/wordsize.h /usr/include/endian.h
curetbrdf.o: /usr/include/features.h /usr/include/g++-3/cmath
curetbrdf.o: /usr/include/g++-3/complex /usr/include/g++-3/fstream.h
curetbrdf.o: /usr/include/g++-3/iomanip.h /usr/include/g++-3/iostream.h
curetbrdf.o: /usr/include/g++-3/std/complext.h
curetbrdf.o: /usr/include/g++-3/std/dcomplex.h
curetbrdf.o: /usr/include/g++-3/std/fcomplex.h
curetbrdf.o: /usr/include/g++-3/std/ldcomplex.h /usr/include/g++-3/streambuf.h
curetbrdf.o: /usr/include/_G_config.h /usr/include/gconv.h
curetbrdf.o: /usr/include/getopt.h /usr/include/gnu/stubs.h
curetbrdf.o: /usr/include/libio.h /usr/include/math.h /usr/include/stdio.h
curetbrdf.o: /usr/include/stdlib.h /usr/include/sys/cdefs.h
curetbrdf.o: /usr/include/sys/select.h /usr/include/sys/sysmacros.h
curetbrdf.o: /usr/include/sys/time.h /usr/include/sys/types.h
curetbrdf.o: /usr/include/time.h /usr/include/unistd.h /usr/include/wchar.h
curetbrdf.o: /usr/include/xlocale.h
curetbrdf.o: /usr/lib/gcc-lib/i386-redhat-linux/2.96/include/stdarg.h
curetbrdf.o: /usr/lib/gcc-lib/i386-redhat-linux/2.96/include/stddef.h
evaluate.o: legendre.h /usr/include/alloca.h /usr/include/assert.h
evaluate.o: /usr/include/bits/endian.h /usr/include/bits/huge_val.h
evaluate.o: /usr/include/bits/mathcalls.h /usr/include/bits/mathdef.h
evaluate.o: /usr/include/bits/nan.h /usr/include/bits/pthreadtypes.h
evaluate.o: /usr/include/bits/sched.h /usr/include/bits/select.h
evaluate.o: /usr/include/bits/sigset.h /usr/include/bits/stdio_lim.h
evaluate.o: /usr/include/bits/time.h /usr/include/bits/types.h
evaluate.o: /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h
evaluate.o: /usr/include/bits/wchar.h /usr/include/endian.h
evaluate.o: /usr/include/features.h /usr/include/g++-3/cmath
evaluate.o: /usr/include/g++-3/complex /usr/include/g++-3/std/complext.h
evaluate.o: /usr/include/g++-3/std/dcomplex.h
evaluate.o: /usr/include/g++-3/std/fcomplex.h
evaluate.o: /usr/include/g++-3/std/ldcomplex.h /usr/include/_G_config.h
evaluate.o: /usr/include/gconv.h /usr/include/gnu/stubs.h /usr/include/libio.h
evaluate.o: /usr/include/math.h /usr/include/stdio.h /usr/include/stdlib.h
evaluate.o: /usr/include/sys/cdefs.h /usr/include/sys/select.h
evaluate.o: /usr/include/sys/sysmacros.h /usr/include/sys/types.h
evaluate.o: /usr/include/time.h /usr/include/wchar.h /usr/include/xlocale.h
evaluate.o: /usr/lib/gcc-lib/i386-redhat-linux/2.96/include/stdarg.h
evaluate.o: /usr/lib/gcc-lib/i386-redhat-linux/2.96/include/stddef.h vectors.h
legendre.o: legendre.h /usr/include/assert.h /usr/include/bits/endian.h
legendre.o: /usr/include/bits/huge_val.h /usr/include/bits/mathcalls.h
legendre.o: /usr/include/bits/mathdef.h /usr/include/bits/nan.h
legendre.o: /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h
legendre.o: /usr/include/bits/types.h /usr/include/bits/wchar.h
legendre.o: /usr/include/endian.h /usr/include/features.h
legendre.o: /usr/include/g++-3/cmath /usr/include/g++-3/complex
legendre.o: /usr/include/g++-3/iostream.h /usr/include/g++-3/std/complext.h
legendre.o: /usr/include/g++-3/std/dcomplex.h
legendre.o: /usr/include/g++-3/std/fcomplex.h
legendre.o: /usr/include/g++-3/std/ldcomplex.h /usr/include/g++-3/streambuf.h
legendre.o: /usr/include/_G_config.h /usr/include/gconv.h
legendre.o: /usr/include/gnu/stubs.h /usr/include/libio.h /usr/include/math.h
legendre.o: /usr/include/sys/cdefs.h /usr/include/wchar.h
legendre.o: /usr/lib/gcc-lib/i386-redhat-linux/2.96/include/stdarg.h
legendre.o: /usr/lib/gcc-lib/i386-redhat-linux/2.96/include/stddef.h
main.o: brdfs.h globals.h legendre.h shrm.h transforms.h /usr/include/alloca.h
main.o: /usr/include/assert.h /usr/include/bits/confname.h
main.o: /usr/include/bits/endian.h /usr/include/bits/environments.h
main.o: /usr/include/bits/huge_val.h /usr/include/bits/mathcalls.h
main.o: /usr/include/bits/mathdef.h /usr/include/bits/nan.h
main.o: /usr/include/bits/posix_opt.h /usr/include/bits/pthreadtypes.h
main.o: /usr/include/bits/sched.h /usr/include/bits/select.h
main.o: /usr/include/bits/sigset.h /usr/include/bits/stdio_lim.h
main.o: /usr/include/bits/time.h /usr/include/bits/types.h
main.o: /usr/include/bits/waitflags.h /usr/include/bits/waitstatus.h
main.o: /usr/include/bits/wchar.h /usr/include/bits/wordsize.h
main.o: /usr/include/endian.h /usr/include/features.h /usr/include/g++-3/cmath
main.o: /usr/include/g++-3/complex /usr/include/g++-3/fstream.h
main.o: /usr/include/g++-3/iomanip.h /usr/include/g++-3/iostream.h
main.o: /usr/include/g++-3/std/complext.h /usr/include/g++-3/std/dcomplex.h
main.o: /usr/include/g++-3/std/fcomplex.h /usr/include/g++-3/std/ldcomplex.h
main.o: /usr/include/g++-3/streambuf.h /usr/include/_G_config.h
main.o: /usr/include/gconv.h /usr/include/getopt.h /usr/include/gnu/stubs.h
main.o: /usr/include/libio.h /usr/include/math.h /usr/include/stdio.h
main.o: /usr/include/stdlib.h /usr/include/string.h /usr/include/sys/cdefs.h
main.o: /usr/include/sys/select.h /usr/include/sys/sysmacros.h
main.o: /usr/include/sys/time.h /usr/include/sys/types.h /usr/include/time.h
main.o: /usr/include/unistd.h /usr/include/wchar.h /usr/include/xlocale.h
main.o: /usr/lib/gcc-lib/i386-redhat-linux/2.96/include/stdarg.h
main.o: /usr/lib/gcc-lib/i386-redhat-linux/2.96/include/stddef.h vectors.h
main.o: write.h
shrm.o: globals.h legendre.h transforms.h /usr/include/assert.h
shrm.o: /usr/include/bits/endian.h /usr/include/bits/huge_val.h
shrm.o: /usr/include/bits/mathcalls.h /usr/include/bits/mathdef.h
shrm.o: /usr/include/bits/nan.h /usr/include/bits/pthreadtypes.h
shrm.o: /usr/include/bits/sched.h /usr/include/bits/stdio_lim.h
shrm.o: /usr/include/bits/types.h /usr/include/bits/wchar.h
shrm.o: /usr/include/endian.h /usr/include/features.h /usr/include/g++-3/cmath
shrm.o: /usr/include/g++-3/complex /usr/include/g++-3/std/complext.h
shrm.o: /usr/include/g++-3/std/dcomplex.h /usr/include/g++-3/std/fcomplex.h
shrm.o: /usr/include/g++-3/std/ldcomplex.h /usr/include/_G_config.h
shrm.o: /usr/include/gconv.h /usr/include/gnu/stubs.h /usr/include/libio.h
shrm.o: /usr/include/math.h /usr/include/stdio.h /usr/include/sys/cdefs.h
shrm.o: /usr/include/wchar.h
shrm.o: /usr/lib/gcc-lib/i386-redhat-linux/2.96/include/stdarg.h
shrm.o: /usr/lib/gcc-lib/i386-redhat-linux/2.96/include/stddef.h
sigma.o: brdfs.h globals.h legendre.h /usr/include/alloca.h
sigma.o: /usr/include/assert.h /usr/include/bits/endian.h
sigma.o: /usr/include/bits/huge_val.h /usr/include/bits/mathcalls.h
sigma.o: /usr/include/bits/mathdef.h /usr/include/bits/nan.h
sigma.o: /usr/include/bits/pthreadtypes.h /usr/include/bits/sched.h
sigma.o: /usr/include/bits/select.h /usr/include/bits/sigset.h
sigma.o: /usr/include/bits/stdio_lim.h /usr/include/bits/time.h
sigma.o: /usr/include/bits/types.h /usr/include/bits/waitflags.h
sigma.o: /usr/include/bits/waitstatus.h /usr/include/bits/wchar.h
sigma.o: /usr/include/endian.h /usr/include/features.h
sigma.o: /usr/include/g++-3/cmath /usr/include/g++-3/complex
sigma.o: /usr/include/g++-3/std/complext.h /usr/include/g++-3/std/dcomplex.h
sigma.o: /usr/include/g++-3/std/fcomplex.h /usr/include/g++-3/std/ldcomplex.h
sigma.o: /usr/include/_G_config.h /usr/include/gconv.h
sigma.o: /usr/include/gnu/stubs.h /usr/include/libio.h /usr/include/math.h
sigma.o: /usr/include/stdio.h /usr/include/stdlib.h /usr/include/sys/cdefs.h
sigma.o: /usr/include/sys/select.h /usr/include/sys/sysmacros.h
sigma.o: /usr/include/sys/types.h /usr/include/time.h /usr/include/wchar.h
sigma.o: /usr/include/xlocale.h
sigma.o: /usr/lib/gcc-lib/i386-redhat-linux/2.96/include/stdarg.h
sigma.o: /usr/lib/gcc-lib/i386-redhat-linux/2.96/include/stddef.h vectors.h
transforms.o: globals.h legendre.h transforms.h /usr/include/assert.h
transforms.o: /usr/include/bits/endian.h /usr/include/bits/huge_val.h
transforms.o: /usr/include/bits/mathcalls.h /usr/include/bits/mathdef.h
transforms.o: /usr/include/bits/nan.h /usr/include/bits/pthreadtypes.h
transforms.o: /usr/include/bits/sched.h /usr/include/bits/stdio_lim.h
transforms.o: /usr/include/bits/types.h /usr/include/bits/wchar.h
transforms.o: /usr/include/endian.h /usr/include/features.h
transforms.o: /usr/include/g++-3/cmath /usr/include/g++-3/complex
transforms.o: /usr/include/g++-3/std/complext.h
transforms.o: /usr/include/g++-3/std/dcomplex.h
transforms.o: /usr/include/g++-3/std/fcomplex.h
transforms.o: /usr/include/g++-3/std/ldcomplex.h /usr/include/_G_config.h
transforms.o: /usr/include/gconv.h /usr/include/gnu/stubs.h
transforms.o: /usr/include/libio.h /usr/include/math.h /usr/include/stdio.h
transforms.o: /usr/include/sys/cdefs.h /usr/include/wchar.h
transforms.o: /usr/lib/gcc-lib/i386-redhat-linux/2.96/include/stdarg.h
transforms.o: /usr/lib/gcc-lib/i386-redhat-linux/2.96/include/stddef.h
write.o: globals.h legendre.h transforms.h /usr/include/assert.h
write.o: /usr/include/bits/endian.h /usr/include/bits/huge_val.h
write.o: /usr/include/bits/mathcalls.h /usr/include/bits/mathdef.h
write.o: /usr/include/bits/nan.h /usr/include/bits/pthreadtypes.h
write.o: /usr/include/bits/sched.h /usr/include/bits/stdio_lim.h
write.o: /usr/include/bits/types.h /usr/include/bits/wchar.h
write.o: /usr/include/endian.h /usr/include/features.h
write.o: /usr/include/g++-3/cmath /usr/include/g++-3/complex
write.o: /usr/include/g++-3/std/complext.h /usr/include/g++-3/std/dcomplex.h
write.o: /usr/include/g++-3/std/fcomplex.h /usr/include/g++-3/std/ldcomplex.h
write.o: /usr/include/_G_config.h /usr/include/gconv.h
write.o: /usr/include/gnu/stubs.h /usr/include/libio.h /usr/include/math.h
write.o: /usr/include/stdio.h /usr/include/sys/cdefs.h /usr/include/wchar.h
write.o: /usr/lib/gcc-lib/i386-redhat-linux/2.96/include/stdarg.h
write.o: /usr/lib/gcc-lib/i386-redhat-linux/2.96/include/stddef.h vectors.h
write.o: write.h
