While macaroni cooks, melt butter over low heat; add flour, whisking until smooth. Cook 1 minute, whisking constantly. Gradually add milk; cook over medium heat, whisking constantly, until thickened and bubbly.
Stir in cheeses, cook, whisking until cheese melts. Stir in macaroni and hame; spoon into a lightly greased baking dish.
Bake, covered, at 350 degrees for 20 minutes.
*Add 3 cups cooked, broccoli flowerets, if desired.
**May be frozen. Thaw in refrigerator 24 hours. Bake, covered, at 350 for 30 minutes.