# # Place all generated files (object files, libraries, executables, etc) # in the "obj" directory under the top of the project. # # We do this by setting the ALL_LOCATE_TARGET variable to the directory in # which we want to place them. # # Because we wish to make our builds as portable as possible, we use the # FDirName utility rule to compose the name of ALL_LOCATE_TARGET directory. # FDirName composes an operating-system friendly path from a list of sub # directory names. For example: # # ALL_LOCATE_TARGET = [ FDirName $(TOP) obj foo bar ] ; # # will set ALL_LOCATE_TARGET to "$(TOP)/obj/foo/bar" on Unix systems, # to "$(TOP)\\obj\\foo\\bar" on Windows, and "$(TOP):obj:foo:bar" on Mac. # (By the way, Jam understands directories well enough to create the # directory you specify - go ahead and experiment with this!) # # The brackets ('[' and ']') tell jam to call the FDirName rule; without # them Jam would treat FDirName as any other name. # ALL_LOCATE_TARGET = [ FDirName $(TOP) obj ] ; # # Since this is a demonstration Jam file, we'll demonstrate the Echo # rule: # Echo "--- Intermediate files will be placed in $(ALL_LOCATE_TARGET)" ;