Calibration of Compass:
1) Get a high accuracy GPS and calibrate against that...
2) "Swing" the Compass and find magnetic north...
3) You will need a topographical / navigation map for your location if you like method 2
Marine maps are great if you are near the water as they usually have the compass rose.
Get the navigation/topical map.
Find the rose or the magnetic declination at the time the map was printed.
Note the "Rate of Change per Year" -- whatever it is called.
Calculate where magnetic North is this year.
Now you know the deviation between true North and Magnetic North.
These maps are often in UTM (square grids) with a local DATUM and with the lat and long as a secondary measurement. They should still have some description of how to find magnetic north -- this years.
Your GPS is usually WGS84 and can often be set to the DATUM of any map.
I mention the DATUM business because it is easy to lose confidence in the map if measurements don't make sense.
Plus I don't know what your knowledge level is on maps and magnetic vs true north and how to "swing" a compass.
See marine Navigation/Power squadron for dead reckoning and "how to swing a compass" (google that).
Just so you don't think I'm "nuts"http://www.bellanca.us/compass.pdfhttp://www.ybw.com/forums/showthread.php?t=107421
There is one link for aircraft one for boating...