Start your recall at only several feet away. While your dog is learning "come" *always* have VERY yummy treats that REALLY motivate your dog. (Cheese, hotdogs, peanut butter, etc) Coming to you should be the best thing imagineable to your dog.
If you have to, at first lure your dog into you while saying come. When the dog reaches you, TONS of praise and give him that jackpot. Eventually let the line get longer. I would only go at 2 feet intervals, and ONLY ever increase the distance when the dog is *solid* on the recall from the stage before the next. Eventually, you will have a dog that will do a recall over at least 20 feet away from you. Once that is rock solid, you can start adding distractions. But, once you start adding those distractions, start back from square one. Only allow a few feet first. Continue progressing with the distance. This process shoudl go faster than at first(even with the small distraction), because your dog should get the idea early on because he's already gone through this teaching before.
Goodluck!