Thaw turkey and remove giblets. Discard liver; refrigerate rest of giblets until ready to use.
Put giblets, celery, and onion in large saucepan. Cover with water (at least 3 cups). Bring to a boil, then simmer, covered, over low heat for 90 minutes.
Remove giblets, set aside to cool. Strain broth. Discard vegetables and reserve broth.
When giblets are cool enough to handle, dice heart and gizzard. Pull meat off neck and dice.
In a saucepan, heat butter until melted and bubbly. Whisk in flour to form a paste.
Add 2 cups of reserved broth, salt, and pepper. Cook, stirring continuously, over medium heat until gravy has thickened and is bubbly.