The past participle agrees with the subject with an "être" verb (so e.g. il est venu vs elle est venue).
Strictly speaking, I'd say that's the only time that agreement is made with the subject. Superficially, you also see agreement with the subject in the case of many "reflexive" verbs, e.g. elle s'est assise-- though strictly speaking, it probably makes more sense to say that it agrees with the se in this case.
(Reason: if you say it agrees with the subject, then the reasoning is inconsistent with examples such as Les mots qu'elles se sont écrit(s), where there's no possibility of makingécrit feminine, though in some formal usage it would be argued to be plural and agree with Les mots. The general pattern is that the past participle agrees with a direct object before the verb-- se in elle s'est assise, and Les mots in the latter example. Note that in the Les mots type example, the agreement is actually rare in everyday spontaneous speech, so people would tend to say e.g. La lettre qu'il a écrit, but the written norm would be écrite.)
Buuuut.... despite all that, in the poster's original sentence, fait is invariable. It "just is" with this construction, whatever the argument about direct objects. (Some speakers apparently do sometimes make the agreement, but it's essentially a hypercorrection-- as far as I'm aware, not even prescriptive grammars generally call for it in this case.)
A problem with that analysis is that the verb (infinitive) itself could actually take an object. For example: On lui a fait entrer les provisions. ("They made him/her bring the shopping in.")
(In this case, I think it's more of an academic question though-- if you just remember that in the construction faire + infinitive, the past participle fait is invariable, I think you don't need to worry too much about subjects, objects...)