Have you ever had to run out in the morning in your slippers to get your dog because it is barking and it will not come when you call it?
I have a tried and true method on getting your dog to come. You need to get your dog on a mat about 10-20 feet away from you and hold out a treat then call it. You need to do that a couple of times and then move farther away.
By doing that your dog has associated coming to you with getting a treat. You need to do this many times a day reaching the point where you can be out of sight and your dog will come. This will take a while always starting for the day at the farthest point that the dog will come to you.
If your dog is a puppy it may take it a couple of months before it fully works. If it is really young it will take until about three years old until it has settled down enough to come really well. After a couple of months of working with the dog or until you believe that it is well trained you can put a treat jar inside the door and give you dog a treat every time it comes in.
I have found that my dogs consider a treat just a piece of dog food. If you always give the dog a treat when it comes inside when you call it then it will come very well. The exception being young excited puppies. I hope you try this method and have the same extraordinary success with it that I did.