Here is an example how to build a small map from scratch, using mkgmap and my style files. In this example I will make an openfietsmap for the Kärnten/Slovenia area. The example scripts are stored here

1) Determine bounding box in the export tab on http://www.openstreetmap.org for the osm map you want to create

(Select the area manually, choose HTML output and copy the bbox string from the Iframe output)

2)  Open in your browser and the following URL:
save the xapi output as name.osm (for example karintie.osm)

3) install mkgmap from http://www.mkgmap.org.uk/snapshots/
I've installed it in the directory C:\Garmin\mkgmap\
Copy all the style files folder to the directory C:\Garmin\mkgmap\Styles
Make sure the style files don't have any extention (like *.txt)!

4) edit karintie.args:
   - choose a family-id for the map (ex. 30010)
   - overview-mapname: 30010000
mapname: 30010001
description: Karintië-Slovenië
input-file: karintie.osm

If karintie.osm is too big, split up the osm file using the splitter and then create several mapnames,
like 30010001, 30010002, 30010003 etc for the indivual osm files

5) I've copied the openfietsmap TYP file 10010.TYP and renamed it to 30010.TYP

6) Run karintie.bat:

java -Xms1024m -Xmx1024m -jar C:\Garmin\mkgmap\mkgmap\mkgmap.jar -c karintie.args 30010.TYP

8) Install the map files with mapsettoolkit in mapsource

9) If the FID fields and the Productcode does not correspond with TYP file: answer yes

10) run mapsource and use the map :-)