rules.mk 3.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384
  1. # Copyright 2012 Jun Wako <wakojun@gmail.com>
  2. # 2017 Jack Humbert
  3. # This program is free software: you can redistribute it and/or modify
  4. # it under the terms of the GNU General Public License as published by
  5. # the Free Software Foundation, either version 2 of the License, or
  6. # (at your option) any later version.
  7. # This program is distributed in the hope that it will be useful,
  8. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  9. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  10. # GNU General Public License for more details.
  11. # You should have received a copy of the GNU General Public License
  12. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  13. # MCU name
  14. # MCU = at90usb1286
  15. MCU = atmega32u4
  16. # Processor frequency.
  17. # This will define a symbol, F_CPU, in all source code files equal to the
  18. # processor frequency in Hz. You can then use this symbol in your source code to
  19. # calculate timings. Do NOT tack on a 'UL' at the end, this will be done
  20. # automatically to create a 32-bit value in your source code.
  21. #
  22. # This will be an integer division of F_USB below, as it is sourced by
  23. # F_USB after it has run through any CPU prescalers. Note that this value
  24. # does not *change* the processor frequency - it should merely be updated to
  25. # reflect the processor speed set externally so that the code can use accurate
  26. # software delays.
  27. F_CPU = 16000000
  28. #
  29. # LUFA specific
  30. #
  31. # Target architecture (see library "Board Types" documentation).
  32. ARCH = AVR8
  33. # Input clock frequency.
  34. # This will define a symbol, F_USB, in all source code files equal to the
  35. # input clock frequency (before any prescaling is performed) in Hz. This value may
  36. # differ from F_CPU if prescaling is used on the latter, and is required as the
  37. # raw input clock is fed directly to the PLL sections of the AVR for high speed
  38. # clock generation for the USB and other AVR subsections. Do NOT tack on a 'UL'
  39. # at the end, this will be done automatically to create a 32-bit value in your
  40. # source code.
  41. #
  42. # If no clock division is performed on the input clock inside the AVR (via the
  43. # CPU clock adjust registers or the clock division fuses), this will be equal to F_CPU.
  44. F_USB = $(F_CPU)
  45. # Interrupt driven control endpoint task(+60)
  46. OPT_DEFS += -DINTERRUPT_CONTROL_ENDPOINT
  47. # Boot Section Size in *bytes*
  48. # Teensy halfKay 512
  49. # Teensy++ halfKay 1024
  50. # Atmel DFU loader 4096
  51. # LUFA bootloader 4096
  52. # USBaspLoader 2048
  53. OPT_DEFS += -DBOOTLOADER_SIZE=4096
  54. # Build Options
  55. # change yes to no to disable
  56. #
  57. BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000)
  58. MOUSEKEY_ENABLE = yes # Mouse keys(+4700)
  59. EXTRAKEY_ENABLE = yes # Audio control and System control(+450)
  60. CONSOLE_ENABLE = yes # Console for debug(+400)
  61. COMMAND_ENABLE = yes # Commands for debug and configuration
  62. # Do not enable SLEEP_LED_ENABLE. it uses the same timer as BACKLIGHT_ENABLE
  63. SLEEP_LED_ENABLE = no # Breathing sleep LED during USB suspend
  64. # if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work
  65. NKRO_ENABLE = no # USB Nkey Rollover
  66. RGBLIGHT_ENABLE = no # Enable keyboard underlight functionality (+4870)
  67. BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality by default
  68. MIDI_ENABLE = no # MIDI controls
  69. UNICODE_ENABLE = no # Unicode
  70. BLUETOOTH_ENABLE = no # Enable Bluetooth with the Adafruit EZ-Key HID
  71. AUDIO_ENABLE = no # Audio output on port C6