In a large bowl, whisk together all the dry ingredients. Next, add the oil and yogurt (if using). Mix well, then slowly add some lukewarm water, a few tablespoons at a time (up to 1/4 cup), until a dough forms.
Cover with a dishtowel and set aside for at least 20 minutes.
When ready to make the roti, knead the dough. Then divide it into equal pieces, about the size of tennis balls.
Preheat a frying pan, cast iron skillet or a tawa on medium-high heat.
Sprinkle some flour on the countertop, and roll out one ball of dough, about 6-8 inches in diameter.
Dust off the excess flour and place the roti on the heated pan. Cook the roti for a minute. Flip the roti, and let the other side cook for a minute. Add oil /ghee on the cooked side, flip and add ghee/oil on the other side and cook till both sides are fully cooked (about a couple of minutes).