Wow. So, you:
- moved to another country to be with him;
- are his own personal driver, dropping him off and picking him up at school;
- let him stay with you rent-free;
- do the laundry, clean up after him;
- gave him money to fix his car.

And he... sometimes pays for dinner. When he has cash on him.

You are being used. Do something about it if you want it to stop; otherwise, continue to be a doormat.