In all three command, anything that starts with a -D sets a system property, which is a value that can be used within the Ant build script. Doing this is a good way to write a single generalized build script that can handle multiple build task, or build multiple things. It also enables a build on one PC to be easily adapted to another PC where files might be in different locations (that appears to be the case here since the properties are being set to file locations.) For example, this property:
-Dbuild.mods=C:\AmFam_Custom\build\build_mods.xml
sets the build.mods property to the value "C:\AmFam_Custom\build\build_mods.xml". Thus the build will expect to find that file in that location.
The items without a -D are build targets. For example, in the first command PrepareBuildFiles is a target. There will be a <target> directive in the build.xml file that has this name. That is where the build starts.
Hendra Kurniawan wrote:and what does build.mods do? what's that? some sort of parameter? is it custom or native?
I have no idea. This is specific that build.xml, it is not something inherent in Ant. You will have to ask the person who created the build.xml what this means.