# Class main-target

    class main-target : abstract-target {
        rule generate ( property-set )

        # Methods inherited from abstract-target
        rule name ( )
        rule project ( )
        rule location ( )
        rule full-name ( )
    }

A main-target represents a named top-level target in a Jamfile.

1. `rule generate ( property-set )`

   Overrides abstract-target.generate.

   Select an alternative for this main target, by finding all alternatives whose requirements are satisfied by `property-set` and picking the one with the longest requirements set. Returns the result of calling generate on that alternative.

   On success, returns:

   - a property-set with the usage requirements to be applied to dependents
   - a list of produced virtual targets, which may be empty.