Put the meat onto a board and, using a meat mallet, beat to flatten slightly, then score the meat gently with a knife.
To make the first marinade, put the pastes, vinegar, and oil into a large shallow dish, season with salt, and mix well. Add the meat and spread the mixture evenly over to coat. Cover and allow to marinate in the refrigerator for at least 2 hours.
Mix the yoghurt with all the other ingredients for the second marinade in a large shallow dish. Remove the meat from the first marinade, wiping off any excess moisture from the first marinade, and add it to the second marinade. Cover and allow to marinate in the refrigerator for a further 3 hours.
Prepare a moderately hot charcoal grill or preheat the oven to 190°C / 375°F / Gas Mark 5.
If you would like to smoke the meat, place the marinated meat pieces in a large, heavy-based pan leaving a hole in the centre. Set the remaining marinade aside.
Put 3-4 pieces of burning charcoal into a small heatproof bowl and place it in the middle of the pan. Add the cloves and pour over hot ghee, then immediately cover the pan with a lid and leave for 3-5 minutes so that the smoke imparts its unique flavour to the meat.
Thread the meat onto several metal skewers, making sure there is a 2.5-cm / 1-inch gap between each piece of meat. Coat with the remaining marinade.
Roast over a moderately hot charcoal grill or in the oven for about 15 minutes, or until the meat is cooked.
Remove the skewers from the heat and hang up to drain out any excess moisture. Put the skewers into a dish and baste with the melted butter, then roast for a further 3-4 minutes. Serve hot.