Sounds just like Charlie when he was younger. Nothing motivated him so I had to learn how to be his motivator and teach him that I motivated him. I had to learn to be the best thing around for him. Eventually we found that the chuck it was his toy of choice but it's still important to be in charge and be your dogs' motivation. Here are some tips. Also an E collar might be an option for you, I have never used one though.
Training a Reliable Recall
If you are having trouble with your recall, whether you are just teaching this or you are revisiting it, here are some tips to help reinforce the command.
First, take ten minutes a day to go for a strict training walk. Put your dog on leash, use this to focus on heeling, sitting at stops, and throw in some random obedience drills. For example, walk a bit, do a down stay, walk to the end of your leash and say 'heel' to get your dog back up to the heel position and continue moving. Stop in a parking lot and use each line marker to stop and do some puppy pushups (down-sit-stand in whatever order you choose). Continue your walk and intermittently, without warning, quickly start to walk backwards (continue to face the direction you were walking in). As you step back, call your dog, get eye contact, say 'come'. You want your end result to be your dog sitting nicely right in front you at your feet, looking up at you. Reward with praise and/or treats. Do this maybe 5 or 6 times throughout your training walk. Do this every day no matter how comfortable you might be with your dog's recall.
Secondly, twice a day, take ten treats or pieces of kibble. Stand next to your dog or in front of your dog, anywhere near your dog, and say his/her name. Once you get eye contact, say good and reward with a treat. You want to get that eye contact on the name. Increase the duration that your dog keeps eye contact with you. As soon as you get eye contact, tell them how good they are, keep the eye contact and treat/reward after 2 seconds, 3, seconds, 5 seconds, etc. Do this every day, no matter the age of your dog. It really works wonders.
Once you have a solid recall on leash, continue to work off leash in your home or yard. Start practicing on leash with stays in public/busy places to proof your stay and your recall. Once you have mastered this, get yourself a long line (30 feet is good) and start practicing with this. With the line you are able to make corrections much easier/faster than without. You can even use this while you are out for a hike/off leash walk and stop for a short training session using the long line. Once you have mastered this you can move off the leash and work the recall as much as possible. Be sure to ALWAYS praise the dog regardless of how long it took them or how difficult it was to get them to do what you wanted. As soon as they do the command you have asked, tell them they are good!
Remember to offer life rewards when training a recall. If you are practicing in a safe area, you can do your recall then release to let your dog play again. Otherwise, you can get into the habit of leashing up your dog and taking away all the fun, which will create a dog that won't want to come and get leashed up when he is called because he knows it means play time is over. You want your recall to mean really great things, great rewards etc. It's good to leash them up randomly, then unleash and release them again to keep them guessing.
Another good tool to have is a solid stay. If you can get your dog to do distance sits, downs and stands and ask them to stay you won't always need to rely on a recall to back them off of a distraction. Put them in a solid stay (I prefer the sit stay so that they aren't vulnerable should another dog approach them in a down and the stand is usually the easiest to break) and that will give you time to come to your dog rather than always calling them to you.
Lastly, I like to also teach an emergency recall. This is for those times when you just don't trust that your recall is going to be rock solid and you desperately need your dog to come back to you. This recall is taught to be light and fun. No formal sit required, no immediate leashing up, a collar grab is permitted. I have learned to train this two ways, one way you use the same, unique treats every time you use the command, the other is just that you jackpot with whatever you want. You can chose to do either as long as there is major reward for this every time you use it.
Emergency Recall:
Grab a handful of treats. While your dog is distracted or playing or in another room, you shout out a word unique to you. We use 'cha-ching' because it sounds like winning a jackpot. You can say the word once or you can repeat the word over and over, whichever you'd like. As soon as your dog gets to you, you reward with your jackpot treats. You can do a collar grab and say 'gotcha' while you reward. Practice this 3x in the morning and 3x at night. Eventually you can just do this once a day, then once a week.
You can proof this several ways. You can train it in public places. You can train it at home with a 'helper' (spouse, friend, child, etc). Have the helper hold treats while you yell your unique word. You want your dog to know the helper has treats but still come to you anyway, so at first you should also have the same treats and offer them as soon as your pup arrives to you. Once this is proofed you can have only the helper have treats, and once your pup heads toward you, have the helper rush to you and offer the treats to the pup.
This is something where I think dog parks can be helpful. You can bring your dog in to proof your recall. The area is fenced and there are lots of distractions. It's even better if you have a controlled play group with people/dogs that you know so you can allow your pup to play either before or afterward. If you are leery of dog parks you can just utilize this place for your training purposes and avoid the dogs altogether.
Remember the three D's. Distance, duration and distractions. Once you've mastered a recall at a certain distance, add some more time or distractions before you add more distance again. And repeat.
Good luck, I hope this was helpful to you!