| LUFA Library 140302 |

All Data Structures Files Functions Variables Typedefs Enumerations Enumerator Macros Groups Pages
The LUFA Build System

# Overview of the LUFA Build System

The LUFA build system is an attempt at making a set of re-usable, modular build make files which can be referenced in a LUFA powered project, to minimize the amount of code required in an application makefile. The system is written in GNU Make, and each module is independent of one-another.

For details on the prerequisites needed for Linux and Windows machines to be able to use the LUFA build system, see Prerequisites.

To use a LUFA build system module, simply add an include to your project makefile. All user projects should at a minimum include The CORE build module for base functionality:

include $(LUFA_PATH)/Build/lufa_core.mk

Once included in your project makefile, the associated build module targets will be added to your project's build makefile targets automatically. To call a build target, run `make {TARGET_NAME}` from the command line, substituting in the appropriate target name.

See also
  The Default Application Makefile Template for a copy of the sample LUFA project makefile.

Each build module may have one or more mandatory parameters (GNU Make variables) which must be supplied in the project makefile for the module to work, and one or more optional parameters which may be defined and which will assume a sensible default if not.

# Available Modules

The following modules are included in this LUFA release:

- The ATPROGRAM build module - Device Programming
- The AVRDUDE build module - Device Programming
- The BUILD build module - Compiling/Assembling/Linking
- The CORE build module - Core Build System Functions
- The CPPCHECK build module - Static Code Analysis
- The DFU build module - Device Programming
- The DOXYGEN build module - Automated Source Code Documentation
- The HID build module - Device Programming
- The SOURCES build module - LUFA Module Source Code Variables

If you have problems building using the LUFA build system, see Troubleshooting Information for resolution steps.