Make Camera System Look at Empty
This is exactly what the Locked Track constraint is for.

First you need to set up your camera objects. Parent the lens to the mount. Then the mount to the base. This hierarchy will enable you to get the motion you are looking for in all the pieces.

Add a Locked Track constraint to the lens object.  Notice the axis the lens is pointing on (you may want to turn on axis display in the object tab of the properties window) in my example it is looking down the Y axis. So it is tracking along the Y, and rotation is locked to only the X axis.   




Add another Locked Track constraint, this time to the mount object. It has similar settings, except that the rotation is locked to only the Z axis.

Blend File





As a bonus step add a Limit Rotation constraint to the lens object, to stop it from rotating through the base. If your camera is looking along the same axis as mine, then you only need to limit the X axis.