Thank you Silvia,
You write that "for" in
"she has made many sacrifices for her children"
implies a cause / an originating reason.
If so, why "for" in
"she has made many books for her children"
does not imply a cause?
Also, is the following ungrammatical:
"Ha hecho muchos sacrificios para sus hijos."