
BIN_SUFFIX	= .exe
BIN_DIR		= bin
CSC		= csc

PROGRAMS 	= splunc raytracer gcbench gcold

BIN_FILES	= ${PROGRAMS:%=${BIN_DIR}/%${BIN_SUFFIX}}

all: ${BIN_DIR} ${BIN_FILES}

clean:
	${RM} ${BIN_FILES};

${BIN_DIR}:
	${MKDIR} $@;

${BIN_DIR}/splunc${BIN_SUFFIX}: splunc/splunc.cs
	${CSC} /out:$@ splunc\\splunc.cs;

${BIN_DIR}/raytracer${BIN_SUFFIX}: \
  raytracer/jgfutil/*.cs \
  raytracer/section3/JGFRayTracerBenchSizeA.cs \
  raytracer/section3/raytracer/*.cs
	${CSC} /out:$@ raytracer\\jgfutil\\*.cs \
	  raytracer\\section3\\JGFRayTracerBenchSizeA.cs \
	  raytracer\\section3\\raytracer\\*.cs;

${BIN_DIR}/gcbench${BIN_SUFFIX}: gcbench/GCBench.cs
	${CSC} /out:$@ gcbench\\GCBench.cs;

${BIN_DIR}/gcold${BIN_SUFFIX}: gcold/gcold.cs
	${CSC} /out:$@ gcold\\gcold.cs;
