# a simple Makfile for the Robot Motion Planning Laboratory JC = javac JR = java .PHONY : all clean #listing of every source file that must be compiled all : laboratory.class \ Algorithms/ComputeMinkowski.class \ Algorithms/Crawaller.class \ Algorithms/LineOfSight.class \ Algorithms/StraightLine.class \ Algorithms/Voronoi.class \ Algorithms/Trapezoids.class \ edu/carleton/motion/cEdge.class \ edu/carleton/motion/cFace.class \ edu/carleton/motion/ConvexHull2D.class \ edu/carleton/motion/cPointd.class \ edu/carleton/motion/cPointi.class \ edu/carleton/motion/cVertex.class \ edu/carleton/motion/cVertexList.class \ edu/carleton/motion/DrawingScreen.class \ edu/carleton/motion/GoodPoint.class \ edu/carleton/motion/Minkowski.class \ edu/carleton/motion/MPAlgorithm.class \ edu/carleton/motion/MPException.class \ edu/carleton/motion/MPFunctions.class \ edu/carleton/motion/Obstacle.class \ edu/carleton/motion/PolyOps.class \ edu/carleton/motion/polyRobot.class \ edu/carleton/motion/Robot.class \ edu/carleton/motion/MPTableModel.class \ edu/carleton/motion/Scenario.class \ edu/carleton/motion/SolutionPath.class \ edu/carleton/motion/UserInterface.class \ edu/carleton/motion/Worldspace.class\ #edu/carleton/motion/Vertex.class #list the directories that need to be cleaned clean : rm -f laboratory.class rm -f Algorithms/*.class rm -f edu/carleton/motion/*.class #general compilation dependancy -- each .class file depends on the existence #of the .java file with the same name. The cool thing about the javac compiler #is that this is all we need. The compiler will attempt to compile the source #file make determines below, and it will find and compile all other source #files that this one requires. %.class : %.java ${JC} $<