makefile 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. #
  2. # LUFA Library
  3. # Copyright (C) Dean Camera, 2018.
  4. #
  5. # dean [at] fourwalledcubicle [dot] com
  6. # www.lufa-lib.org
  7. #
  8. # Makefile for the module build test. This test
  9. # attempts to build as many modules as possible
  10. # under all supported architectures, and include
  11. # all module headers in a simple C and C++
  12. # application.
  13. # Path to the LUFA library core
  14. LUFA_PATH := ../../LUFA/
  15. # Build test cannot be run with multiple parallel jobs
  16. .NOTPARALLEL:
  17. # List of device families per architecture, one device per architecture sub-family
  18. AVR8_FAMILIES := at90usb1287 at90usb1286 atmega16u4 atmega16u2 at90usb162
  19. XMEGA_FAMILIES := atxmega128a1u atxmega128a3u atxmega256a3bu atxmega128a4u atxmega128b1 atxmega128b3 atxmega128c3 atxmega32c4
  20. UC3_FAMILIES := uc3a0256 uc3a1256 uc3a3256 uc3a4256 uc3b0256 uc3b1256
  21. # List of all device families, with a family postfix
  22. DEVICE_FAMILIES := $(AVR8_FAMILIES:%=%.avr8) $(XMEGA_FAMILIES:%=%.xmega) $(UC3_FAMILIES:%=%.uc3)
  23. all: begin $(DEVICE_FAMILIES) clean end
  24. arch_avr8: begin $(AVR8_FAMILIES:%=%.avr8) end
  25. arch_xmega: begin $(XMEGA_FAMILIES:%=%.xmega) end
  26. arch_uc3: begin $(UC3_FAMILIES:%=%.uc3) end
  27. begin:
  28. @echo Executing build test "ModuleTest".
  29. @echo
  30. end:
  31. @echo Build test "ModuleTest" complete.
  32. @echo
  33. %.avr8:
  34. @echo Building ModuleTest for ARCH=AVR8 MCU=$(@:%.avr8=%)...
  35. $(MAKE) -f makefile.test clean elf ARCH=AVR8 MCU=$(@:%.avr8=%)
  36. %.xmega:
  37. @echo Building ModuleTest for ARCH=XMEGA MCU=$(@:%.xmega=%)...
  38. $(MAKE) -f makefile.test clean elf ARCH=XMEGA MCU=$(@:%.xmega=%)
  39. %.uc3:
  40. @echo Building ModuleTest for ARCH=UC3 MCU=$(@:%.uc3=%)...
  41. $(MAKE) -f makefile.test clean elf ARCH=UC3 MCU=$(@:%.uc3=%)
  42. clean:
  43. $(MAKE) -f makefile.test clean ARCH=AVR8 MCU=$(firstword $(AVR8_FAMILIES))
  44. $(MAKE) -f makefile.test clean ARCH=XMEGA MCU=$(firstword $(XMEGA_FAMILIES))
  45. $(MAKE) -f makefile.test clean ARCH=UC3 MCU=$(firstword $(UC3_FAMILIES))
  46. %:
  47. .PHONY: all arch_avr8 arch_xmega arch_uc3 begin end
  48. # Include common DMBS build system modules
  49. DMBS_PATH ?= $(LUFA_PATH)/Build/DMBS/DMBS
  50. include $(DMBS_PATH)/core.mk