# Build all the renderer client programs.
# Use
#     ..\make.exe
#
JAVA  = C:\Program Files\Java\jdk1.7.0_67\bin
JAVAC = $(JAVA)\javac.exe
JAR   = $(JAVA)\jar.exe
JAVAFLAGS = -g -cp .;SceneLib.jar;SceneRenderLib.jar;ShapeLib.jar
MAKE = ..\make.exe
CLASS  = MainOrthographicPerspective.class MainTriangle.class MainCube.class MainCubes.class MainCylinder.class MainGRS.class MainObjSimple.class MainSphere.class MainTorus.class
JARS = SceneRenderLib.jar SceneLib.jar ShapeLib.jar
#RM = rm -f
RM = cmd /c del

.PHONY: all clean

all: $(CLASS)

clean:
	${RM} *.class
	${RM} *.ppm
	${RM} SceneLib.jar SceneRenderLib.jar ShapeLib.jar
	cmd.exe /c "cd ..\Scene && $(MAKE) clean"
	cmd.exe /c "cd ..\SceneRender && $(MAKE) clean"
	cmd.exe /c "cd ..\Shapes && $(MAKE) clean"

MainOrthographicPerspective.class: MainOrthographicPerspective.java $(JARS)
	$(JAVAC) $(JAVAFLAGS) MainOrthographicPerspective.java

MainTriangle.class: MainTriangle.java $(JARS)
	$(JAVAC) $(JAVAFLAGS) MainTriangle.java

MainCube.class: MainCube.java $(JARS)
	$(JAVAC) $(JAVAFLAGS) MainCube.java

MainCubes.class: MainCubes.java $(JARS)
	$(JAVAC) $(JAVAFLAGS) MainCubes.java

MainCylinder.class: MainCylinder.java $(JARS)
	$(JAVAC) $(JAVAFLAGS) MainCylinder.java

MainGRS.class: MainGRS.java $(JARS)
	$(JAVAC) $(JAVAFLAGS) MainGRS.java

MainObjSimple.class: MainObjSimple.java $(JARS)
	$(JAVAC) $(JAVAFLAGS) MainObjSimple.java

MainSphere.class: MainSphere.java $(JARS)
	$(JAVAC) $(JAVAFLAGS) MainSphere.java

MainTorus.class: MainTorus.java $(JARS)
	$(JAVAC) $(JAVAFLAGS) MainTorus.java

SceneLib.jar: force_rebuild
	cmd.exe /c "cd ..\Scene && $(MAKE)"
	cmd.exe /c "copy /Y ..\Scene\SceneLib.jar ."

SceneRenderLib.jar: force_rebuild
	cmd.exe /c "cd ..\SceneRender && $(MAKE)"
	cmd.exe /c "copy /Y ..\SceneRender\SceneRenderLib.jar ."

ShapeLib.jar: force_rebuild
	cmd.exe /c "set DESTFOLDER=%CD%&& cd ..\Shapes && $(MAKE)"
	cmd.exe /c "copy /Y ..\Shapes\ShapeLib.jar ."

force_rebuild :