Rigged Mainsail
I tried to do this as selfexplanatory as possible.
There are three Emptys you should use. One to hoist, one to define where the folding area is (you can also scale this empty for wider folds), and one that defines where wind is blowing into the sail.
The Root Empty controls the whole rig and can be rotated in every axis.
Also there is a wind empty which i chose to animate with a driver in its rotations-value. This Empty changes the texture that is used to generate smaller wind-ripples in the sail.
The Sail is generated from a very low-poly mesh using a lot of modifiers. This ensures good topology, crank the Subdivides as much as you like. If you want to change things go right ahead!
The Material is a simple Sail-texture and a Logo on top. You can easily swap these textures out.