This tutorial comprises two aspects: the html pages (including this one), and a collection of source code that represents the step-by-step construction of a set of demos.
The main source code directory is not intended to be used directly; you should not change the code in it. Instead, you should do your work in the 'work' directory.
The 'work' directory includes two special files: "env" and "makefile". Of these, makefile should also not be changed. The env file should be modified to include information that is needed to compile and link RepastHPC demos on your system. Setting the values in this file will allow you to use the makefile to build the demos for you.
While in the 'work' directory, performing a 'make' (typing 'make' and pressing return/enter) invokes the 'make' utility, which operates by processing the 'makefile'. This can do the following things:
Copy and comparison operations are done on individual steps of the tutorial. This allows you, for example, to copy the code from step '1' into the work directory and compare it with step '2'. This way you can see exactly what has been changed to go from step to step. Alternatively, you may wish to make the changes from one step to another yourself; you can do this, then compare with the stored version to see if you got the changes right.
The simplest way to use the makefile is to simply type something like:
make RepastHPC_Demo_00This will cause make to build either the step of the specified demo that is in the working directory or, if none is present, the final step of the specified demo. If there is a problem with it, it will tell you.
To perform a copy from the source to the work directory, you must specify the demo and step to be copied:
make copy_RepastHPC_Demo_00_Step_01To compare, specify the element in the source directory that you are comparing the work directory to. So, if the work directory contains RepastHPC_Demo_00_Step_01, typing:
make compare_RepastHPC_Demo_00_Step_02will compare it with Step 2.
Experienced users might be able to set the values for variables in the 'env' file right away. However, they are not all needed immediately, and this tutorial steps through some very basic initialization first, allowing individual variables to be set (and explained) as they are needed.