In a large casserole, melt the butter over medium heat and brown the lamb on all sides. Mix in the aubergine, tomato, onion, green pepper and garlic. Cook and stir until tender and lightly browned.
In a small bowl, blend the tomato puree and water. Mix into the casserole with the lamb. Season lamb with allspice, salt and pepper. Reduce heat, and simmer about 1 1/2 hours, stirring occasionally, until the meat falls apart easily with a fork. Add a little water as necessary to keep the ingredients moist.