For all odors, the first thing you should do is to remove the cause of the odor.
To remove smoke film from washable surfaces, use a solution of heavy-duty cleaner or degrease. A dash of water soluble deodorizer from a janitorial supply store added to the solution will help neutralize the odor. For smoky windows, add one part isopropyl alcohol to five parts window cleaner to help cut the oily film.
Smoke on porous surfaces is a tougher proposition. Light smoke film on acoustic ceiling tile can be removed by professional ceiling cleaners, but heavy buildup usually requires painting or replacement of the tile. Upholstered furniture, draperies and carpeting can be wet or dry cleaned, as appropriate, after a thorough vacuuming, with water soluble deodorizer added to the cleaning solution to control; residual smoke odor.
If you smoke in the home, change the filter in their air circulation systems often.
Also, make sure you let sun in to help dissipate smoke and other odors as you try to eliminate the cause. Try to increase air flow by opening windows, turning on fans or even putting particularly smelly items outside for awhile. You can fill small dishes with vanilla, vinegar or activated charcoal for an easy, inexpensive smoke eater. Or, you can purchase odor neutralizer from a janitorial supply house which will work more effectively.