"This too shall pass."
First thing--try to take a nap in the middle of the day when he naps. At least lie down and rest, even if you don't sleep. You'll feel more refreshed, and better able to deal with him. Maybe you can trade babysitting with somebody, and get out for a few hours without him, to also help refresh your batteries. When you get locked in to this kind of rut, you've got to break it up with a change for you, so you can change the way you deal with him.
Second, is it possible that he is sick? Has he just recently had a vaccine that may be causing irritability? He may not be getting enough sleep (or he may be oversleeping, tho that's not as usual in children), and is not quite ready to be awake, even if he wakes up. Is he hungry or thirsty? Maybe start offering him a bedtime snack, or tucking a water cup into bed with him, even if it's just so it will be there in the morning if he's thirsty.
Third, look at your own responses when he cries and whines. Is he getting his own way when he cries and whines? You may be reinforcing this negative behavior. What I did when my son was pre-verbal or barely verbal is to give him words to use. If your son whines and points to his juice cup, you understand that it means "I want more juice," but he doesn't know the words (or just can't say them), and needs to learn them. You can model what you want him to say. What I did when my son cried was to say "no" or "don't whine" sternly, and then in a pleasant voice say, "do you want juice?" (while holding the cup or something, so he understands better what I am saying) and maybe repeat it again, so that he can associate the words with the action and desire.
Lastly, he might just be going through a phase, where his world is expanding too much too soon, and he needs more reassurance from you. I know that the last thing you want to do when a child is clingy and whiny is to be around him more, but sometimes he just needs more comfort and assurance than he has been getting. Great him with a smile in the morning, and hold and snuggle with him until he wants to get down. Read him books and stories often throughout the day--put it on your to-do list if necessary to remind yourself; play toys with him without him asking you to.
If you already feel like you spend too much time with him, check your time to see if you're really spending all day *with* him. I don't have anything against telling a story while folding laundry, but if the whole day is spent with divided attention like that, your son may just be wanting a few minutes of undivided attention. If you really are spending too much time on him (and can't get houseword done, or something like that), then it's time to step up and firmly say, "I can't," and follow through with it. If you say it firmly enough and often enough (following through with discipline measures if necessary), he will respond. You do teach your kids how to treat you.