The Vikings used a method called a bearing dial.
First you need a fixed height gnomen on a disk. Mark off a point on the edge (any point will do for now) place it on a level surface in the sun with the mark pointing at a fixed object (this is to make sure all your readings are taken without moving the dial).
Now as the sun rises the sun will cast a long shadow roughly westwards. When the lenght of the shadow is short enough that it's point just touches the edge of the dial make a mark at that point. As the day proceeds, the shadow will get shorter and pass the gnomen before starting to get longer again. eventually it will drop of the edge on the eastern side of the dial.
All through this process you are going to mark the point of the shadow's position, say every 30 minutes or so. The western and eastern points are very important, make sure you get them both. You should now be able to joint the dots to make a continuous, curved line from east to west.
The north south line will now be at right angles to an imaginary straight line between the east and west edge marks. These points can now be marked on the dial. All other points can now be marked, geometricly from north / south.
That is how it is made, so how does it work.
Firstly it will only work at aproximately the same latitude and time of year that it was made. So short term use really.
Take the dial, hold it level and rotate it until the length of the shadow is just the right length to touch the curved line. It will of course touch in one of two places so you need to know if it is morning or afternoon. in the morning use the westerly side of the dial and pm. use the easterly side.
When the shadow tip touches the line on the correct side of the dial, all points of the compass should now line up perfectly.