rules.mk 3.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687
  1. #----------------------------------------------------------------------------
  2. # On command line:
  3. #
  4. # make = Make software.
  5. #
  6. # make clean = Clean out built project files.
  7. #
  8. # That's pretty much all you need. To compile, always go make clean,
  9. # followed by make.
  10. #
  11. # For advanced users only:
  12. # make teensy = Download the hex file to the device, using teensy_loader_cli.
  13. # (must have teensy_loader_cli installed).
  14. #
  15. #----------------------------------------------------------------------------
  16. # # project specific files
  17. SRC = twimaster.c \
  18. matrix.c
  19. # MCU name
  20. MCU = atmega32u4
  21. # Processor frequency.
  22. # This will define a symbol, F_CPU, in all source code files equal to the
  23. # processor frequency in Hz. You can then use this symbol in your source code to
  24. # calculate timings. Do NOT tack on a 'UL' at the end, this will be done
  25. # automatically to create a 32-bit value in your source code.
  26. #
  27. # This will be an integer division of F_USB below, as it is sourced by
  28. # F_USB after it has run through any CPU prescalers. Note that this value
  29. # does not *change* the processor frequency - it should merely be updated to
  30. # reflect the processor speed set externally so that the code can use accurate
  31. # software delays.
  32. F_CPU = 16000000
  33. #
  34. # LUFA specific
  35. #
  36. # Target architecture (see library "Board Types" documentation).
  37. ARCH = AVR8
  38. # Input clock frequency.
  39. # This will define a symbol, F_USB, in all source code files equal to the
  40. # input clock frequency (before any prescaling is performed) in Hz. This value may
  41. # differ from F_CPU if prescaling is used on the latter, and is required as the
  42. # raw input clock is fed directly to the PLL sections of the AVR for high speed
  43. # clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
  44. # at the end, this will be done automatically to create a 32-bit value in your
  45. # source code.
  46. #
  47. # If no clock division is performed on the input clock inside the AVR (via the
  48. # CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
  49. F_USB = $(F_CPU)
  50. # Bootloader
  51. # This definition is optional, and if your keyboard supports multiple bootloaders of
  52. # different sizes, comment this out, and the correct address will be loaded
  53. # automatically (+60). See bootloader.mk for all options.
  54. BOOTLOADER = halfkay
  55. # Interrupt driven control endpoint task(+60)
  56. OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
  57. # If you have Left LEDs (see
  58. # https://geekhack.org/index.php?topic=22780.msg873819#msg873819 for
  59. # details), include the following define:
  60. # OPT_DEFS += -DLEFT_LEDS
  61. # Build Options
  62. # comment out to disable the options.
  63. #
  64. BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
  65. MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
  66. EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
  67. CONSOLE_ENABLE = no # Console for debug(+400)
  68. COMMAND_ENABLE = yes # Commands for debug and configuration
  69. CUSTOM_MATRIX = yes # Custom matrix file for the ErgoDox EZ
  70. NKRO_ENABLE = yes # USB Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
  71. UNICODE_ENABLE = yes # Unicode
  72. ONEHAND_ENABLE = yes # Allow swapping hands of keyboard
  73. SLEEP_LED_ENABLE = no
  74. API_SYSEX_ENABLE = no
  75. RGBLIGHT_ENABLE = yes
  76. LAYOUTS = ergodox