The build process will automatically download and build an appropriate version of sdcc. This will take a little while on the first build. For this to work you will need access to /usr/tmp; on some systems this may not exist. As the superuser: $ cd /usr $ ln -s /tmp to create a symbolic link from /usr/tmp to the /tmp directory. A default build (ie make) will build all devices and tools for the pic16f628 The output is put into the build subdirectory. A subdirectory will be created for each output architecture and within that a directory for each device. Build options: PROCESSOR Build for a different processor eg > PROCESSOR=16f627 make This will build for the 16f627 rather than the default 16f628 DEVICES Build only specific devices eg > DEVICES=stepmotor make This will only build the stepmotor device (no other devices or tools) Other examples > PROCESSOR=16f627 DEVICES=stepmotor make && PROCESSOR=16f628 DEVICES=stepmotorb make This will build one controller for the 16f627 and the other for a 16f628