As far as my knowledge goes, (and it goes far because I am staying in UK on a visa, so Europe's kinda' my backyard!), when applying for the visa you just have to think one thing:
Which is going to be the most important and longest stay destination of your trip?
That pretty much answers your question. Having said that, common sense prevails from that point onwards. If more than one destination fits the bill, and one of them also happens to be the intended port of entry, then that's where you apply. If even this doesn't solve the dilemma, or things change at the last minute, don't worry, as long as you have a plausible story for applying, staying and dining in three different countries, border control will let you off!
Some others on the wild wild web who think the same:
Plainly put; it makes sense that if you're arriving in Frankfurt,
you'd go to the German Embassy for a Schengen visa. Having said that,
and when you've got a visa: plans could change and you could decide to
arrive in Greece, for example. They don't punish you for doing that!
Your port of entry can be anywhere in the Schengen zone. The
prerequisite of obtaining a Schengen visa via a particular country,
say France, is that France would be the main destination (i.e. where
you spend the most amount of time) and it is only if the amount of
time is equal with one or more Schengen countries that then it would
be the port of entry.
Generally speaking with a Schengen visa, you may enter one country and
travel freely throughout the Schengen region during the validity of
the visa. Internal border controls are limited with no or few stops