LUFA Library  120219
Compiling the Demos, Bootloaders and Projects

The following details how to compile the included LUFA demos, applications and bootloaders using AVR-GCC.


Before you can compile any of the LUFA library code or demos, you will need a recent distribution of avr-libc (1.6.2+) and the AVR-GCC (4.2+) compiler. For Windows users, the best way to obtain these is the WinAVR project ( as this provides a single-file setup for everything required to compile your own AVR projects.

Compiling a LUFA Application

Compiling the LUFA demos, applications and/or bootloaders is very simple. LUFA comes with makefile scripts for each individual demo, bootloader and project folder, as well as scripts in the /Demos/, /Bootloaders/, /Projects/ and the LUFA root directory. This means that compilation can be started from any of the above directories, with a build started from an upper directory in the directory structure executing build of all child directories under it. This means that while a build inside a particular demo directory will build only that particular demo, a build stated from the /Demos/ directory will build all LUFA demo projects sequentially.

To build a project from the source via the command line, the command "make all" should be executed from the command line in the directory of interest. To remove compiled files (including the binary output, all intermediately files and all diagnostic output files), execute "make clean". Once a "make all" has been run and no errors were encountered, the resulting binary will be located in the generated ".HEX" file. If your project makes use of pre-initialized EEPROM variables, the generated ".EEP" file will contain the project's EEPROM data.

 All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Defines