When thinking about protagonists and antagonists it is helpful to think of the hero vs. villain scenario. Brother is the sole narrator of the story as well as the only dynamic character so we can safely assume he is the intended protagonist. A dynamic character exhibits a change through the course of the story because of something he learns through experience. Brother pushes his little brother so hard that Doodle physically dies. It takes that tragic event for Brother to be able to really see how selfish he was being, caring only about himself and disregarding the well-being of his little brother.
With that knowledge you can begin to consider who or what the antagonist is. Conflict arises because of the presence of that antagonist, and consists of: man vs. man, man vs. nature, or man vs. himself. In the story we do not actually see any people that truly pose a conflict for brother, nor do we see nature playing a large antagonistic role until the very end. Therefore, it is Brother himself that plays protagonist as well as antagonist. More precisely, Brother’s pride, which enables him to battle with himself and be so cruel towards Doodle. Brother realizes early on that Doodle will never be the little brother he wants, yet his overdeveloped pride keeps Brother from accepting that fact and allows him to continue pushing Doodle beyond what he well knows surpasses Doodle’s physical limits.
Doodle’s whole purpose during his short life is to make his brother proud. He looks up to Brother and wants to go everywhere with him and do everything he is asked. Doodle is a static character because he exhibits the same traits and never changes, learns, or grows.
Mama, Daddy, and Aunt Nicey remain exactly the same throughout the whole story and therefore static and flat characters. Their purpose is to help the story move forward and contribute towards helping the protagonist and dynamic character learn what they need to learn.