summaryrefslogtreecommitdiff
path: root/build_keyboard.mk
AgeCommit message (Collapse)Author
2020-03-21Initial arm->chibios pass - simplify some platform logic (#8450)Joel Challis
2019-07-15add 'objs-size' target into tmk_core/avr.mk (#5490)Takeshi ISHII
2019-07-15QMK CLI and JSON keymap support (#6176)skullydazed
* Script to generate keymap.c from JSON file. * Support for keymap.json * Add a warning about the keymap.c getting overwritten. * Fix keymap generating * Install the python deps * Flesh out more of the python environment * Remove defunct json2keymap * Style everything with yapf * Polish up python support * Hide json keymap.c into the .build dir * Polish up qmk-compile-json * Make milc work with positional arguments * Fix a couple small things * Fix some errors and make the CLI more understandable * Make the qmk wrapper more robust * Add basic QMK Doctor * Clean up docstrings and flesh them out as needed * remove unused compile_firmware() function
2019-05-03Fix LIB_SRC insert position (#5731)Takeshi ISHII
The insertion point for `$(patsubst %.c,%.clib,$(LIB_SRC))` must be after all normal `SRC += ..` . I modified it to be so. Because LIB_SRC and SRC are assumed to be used in pairs. Similarly, QUANTUM_LIB_SRC and QUANTUM_SRC are assumed to be used in pairs.
2019-05-02Change VPATH path addition order (#5754)Drashna Jaelre
Specifically, to fix some edge cases, and keep the handling consistent, the userspace folder should not actually be added at the end. Ideally, it should be added after the keymap paths, but before the keyboard's path. This issue was discovered in #5484, and the fix created by mtei.
2019-04-19Change split_common to use RGBLIGHT_SPLIT (#5509)Takeshi ISHII
* add I2C_slave_buffer_t to quantum/split_common/transport.c Improvements to ease the maintenance of the I2C slave buffer layout. And this commit does not change the compilation results. * add temporary pdhelix(Patched Helix) code * temporary cherry-pick from #5020 add new version(#5020) quantum/rgblight.[ch], quantum/rgblight_modes.h * add post_config.h support to build_keyboard.mk * add quantum/rgblight_post_config.h, quantum/split_common/post_config.h Add quantum/rgblight_post_config.h and quantum/split_common/post_config.h using POST_CONFIG_H variable of build_keyboard.mk. quantum/rgblight_post_config.h additionally defines RGBLIGHT_SPLIT if RGBLED_SPIT is defined. quantum/split_common/post_config.h defines RGBLIGHT_SPLIT additionally when master-slave communication is I2C. * Change split_common's transport.c I2C to use the synchronization feature of rgblight.c * Change split_common's transport.c serial to use the synchronization feature of rgblight.c * test RGBLIGHT_SPLIT on keyboards/handwired/pdhelix * Test End Revert "test RGBLIGHT_SPLIT on keyboards/handwired/pdhelix" This reverts commit 80118a6bbd3d9fc4c7797fef0c34bc67aa73aa98. [x] make RGBLIGHT_TEST=1 handwired/pdhelix/i2c:default [x] make RGBLIGHT_TEST=2 handwired/pdhelix/i2c:default (same RGBLIGHT_TEST=3) [x] make RGBLIGHT_TEST=3 handwired/pdhelix/i2c:default [x] make RGBLIGHT_TEST=1 handwired/pdhelix/pd2:default [x] make RGBLIGHT_TEST=2 handwired/pdhelix/pd2:default [x] make RGBLIGHT_TEST=3 handwired/pdhelix/pd2:default [x] make RGBLIGHT_TEST=1 handwired/pdhelix/pd2_2oled:default [x] make RGBLIGHT_TEST=2 handwired/pdhelix/pd2_2oled:default [x] make RGBLIGHT_TEST=3 handwired/pdhelix/pd2_2oled:default * Test End, Revert "temporary cherry-pick from #5020" This reverts commit d35069f68bda0c50370442a5c7aae60c2f4ce5c0. * Test End, Revert "add temporary pdhelix(Patched Helix) code" This reverts commit aebddfc1a879796afae297ef0723a4fe73af3660. * temporarily cherry-pick from #5020 to see if it passes the travis-ci test. add new version(#5020) quantum/rgblight.[ch], quantum/rgblight_modes.h * Passed the travis-ci test. Revert "temporarily cherry-pick from #5020 to see if it passes the travis-ci test." This reverts commit 647c0a9755eb6a05f76d09b2d59bce67b85a841f. * update docs/config_options.md * update split_common/transport.c, improves maintainability of serial transaction IDs. No change in build result. * temporary cherry-pick from #5020 * fix build fail keebio/iris/rev3:default * fix build fail lets_split_eh/eh:default * Revert "temporary cherry-pick from #5020" This reverts commit be48ca1b4515366a097af8dd1cd7b28b7ee09947. * temporary cherry-pick from #5020 (0.6.336) * Revert "temporary cherry-pick from #5020 (0.6.336)" This reverts commit 978d26a8b3cf0acc485838a7d76d6128b77c630c. * temporary cherry-pick from #5020 (0.6.336)
2019-02-14Add a mechanism for force building a particular community layout (#5027)zvecr
* Add a mechanism for force building a particular community layout * Add docs for FORCE_LAYOUT argument * Update output name when FORCE_LAYOUT is enabled
2019-02-14Add makefile target 'show_build_options' and 'show_all_features' (#5048)Takeshi ISHII
* Add makefile target 'show_build_options' and 'show_all_features' Example: ``` $ make planck:default:show_all_features QMK Firmware 0.6.266 Making planck/rev5 with keymap default and target show_all_features PLATFORM = AVR FIRMWARE_FORMAT = hex Build Options: BOOTMAGIC_ENABLE = no MOUSEKEY_ENABLE = no EXTRAKEY_ENABLE = yes CONSOLE_ENABLE = yes COMMAND_ENABLE = no SLEEP_LED_ENABLE = no NKRO_ENABLE = yes BACKLIGHT_ENABLE = no RGBLIGHT_ENABLE = no MIDI_ENABLE = no UNICODE_ENABLE = no BLUETOOTH_ENABLE = no AUDIO_ENABLE = yes FAUXCLICKY_ENABLE = HD44780_ENABLE = Other Features: API_SYSEX_ENABLE = no RGB_MATRIX_ENABLE = no ``` * remove duplicate 'SPLIT_KEYBOARD' * add .PHONY, change 'echo' -> '@echo' * update show_options.mk: useing variable BUILD_OPTION_NAMES, HARDWARE_OPTION_NAMES and OTHER_OPTION_NAMES * update show_options.mk: add KEYBOARD,KEYMAP * update show_options.mk: add sorting * update show_options.mk: add show_full_features, add $(origin XXX) * update show_options.mk: Macro names was collected from keyboards/. * update show_options.mk: add some Macro Names
2019-01-30Fix file size check for parallel make (#5012)zvecr
2019-01-10Adds Proton C Conversion (#4661)Jack Humbert
* adds proton c base * fixes custom matrix include * adds readme.md * initial proton coversion, no pin mapping * start of mcu selection * add pin mapping and sweet16 test * add at90 to list * disable backlight, fix d7 * update flag names * doc updates * proton c update for mcu selection
2018-12-14Refactor quantum/split_common/i2c.c, quantum/split_common/serial.c (#4522)Takeshi ISHII
* add temporary compile test shell script * Extended support of SKIP_VERSION to make invariant compile results during testing. * build_keyboard.mk, tmk_core/rules.mk: add LIB_SRC, QUANTUM_LIB_SRC support Support compiled object enclosed in library. e.g. ``` LIB_SRC += xxxx.c xxxx.c --> xxxx.o ---> xxxx.a ``` * remove 'ifdef/ifndef USE_I2C' from quantum/split_common/{i2c|serial}.c * add SKIP_DEBUG_INFO into tmk_core/rules.mk When SKIP_DEBUG_INFO=yes is specified, do not use the -g option at compile time. * tmk_core/rules.mk: Library object need -fno-lto * add SKIP_DEBUG_INFO=yes * remove temporary compile test shell script * add '#define SOFT_SERIAL_PIN D0' to keyboards/lets_split/rev?/config.h * quantum/split_common/serial.c: Changed not to use USE_I2C.
2018-10-16Fix LAYOUT define generation (#4148)Drashna Jaelre
* Fix LAYOUT define generation Prior to this, only the full keyboard path was defined. Eg `KEYBOARD_planck_rev6`. But the docs mention `KEYBOAD_planck`, which never actually gets defined. This addresses this, and creates a define for each level of the keyboard folder, so that stuff like `KEYBOARD_planck` actually exists. * Clean up changes to make it more readable
2018-08-29Massdrop keyboard support (#3780)patrickmt
* Massdrop SAMD51 Massdrop SAMD51 keyboards initial project upload * Removing relocated files Removing files that were relocated and not deleted from previous location * LED queue fix and cleaning Cleaned some white space or comments. Fix for LED I2C command queue. Cleaned up interrupts. Added debug function for printing numbers to scope through m15 line. * Factory programmed serial usage Ability to use factory programmed serial in hub and keyboard usb descriptors * USB serial number and bugfix Added support for factory programmed serial and usage. Incorporated bootloader's conditional compiling to align project closer. Fixed issue when USB device attempted to send before enabled. General white space and comment cleanup. * Project cleanup Cleaned up project in terms of white space, commented code, and unecessary files. NKRO keyboard is now using correct setreport although KBD was fine to use. Fixed broken linkage to __xprintf for serial debug statements. * Fix for extra keys Fixed possible USB hang on extra keys report set missing * I2C cleanup I2C cleanup and file renames necessary for master branch merge * Boot tracing and clocks cleanup Added optional boot debug trace mode through debug LED codes. General clock code cleanup. * Relocate ARM/Atmel headers Moved ARM/Atmel header folder from drivers to lib and made necessary makefile changes. * Pull request changes Pull request changes * Keymap and compile flag fix Keymap fix for momentary layer. Potential compile flag fix for Travis CI failure. * va_list include fix Fix for va_list compile failure * Include file case fixes Fixes for include files with incorrect case * ctrl and alt67 keyboard readme Added ctrl and alt67 keyboard readme files
2018-08-11Comment and organize build_keyboard.mk a bitskullY
2018-05-22Import userspace config.h according to USER_NAME (#2983)WillyPillow
* Import userspace config.h according to USER_NAME * Use USER_PATH instead of directly using USER_NAME
2018-04-21Talljoe's layout with common keymap. (#2764)Joe Wasson
* Add userspace to talljoe layout. * Move more authority to userspace and create Bananasplit layout. * Move more things into userspace. * Common Core example * More work on common layout. * Num layer. * talljoe-ansi layout * Updates for Zeal60 * Add Zeal60 to 60_ansi_split_bs_rshift * Swap Escape and Grave * Num-layer tweaks * More tweaks. * Add 1up60rgb to world of layouts. * Rename ansi_split_bs_rshift layout to hhkb. * Control RGB Backlight. * change capslock led * Remove obsolete line from rules.mk. * Add user-friendly userspace override. * Fix enter for 1uprgb60 * Revert "Rename ansi_split_bs_rshift layout to hhkb." This reverts commit 53133719db25c7cb6a199108bbf5d980481a45f4.
2018-04-03Update whitefox to use the K-Type teensy workaroundKaleb Elwert
2018-04-01Add userspace config.h handling to build script (#2640)Drashna Jaelre
* Add userspace 'config.h' file * Add more robust docs * Remove config.h code from drashna userspace * Spelling error * Include links to Config Options page * Remove config.h documentation from userspace doc, as it's no longer needed
2018-02-08Merge ChibiOS and LUFA descriptor support (#2362)fredizzimo
* Move lufa descriptor to protocol/usb_descriptor * Try to compile usb_descriptor on ChibiOS * Add lufa_utils for ChibiOS Lufa USB descriptors for ChibiOS * More lufa_util compatibility fixes * First compiling version of shared USB descriptor * Send the usb descriptors * Fix the CONSOLE output on ChibiOS * Add errors for unsupported interfaces * Enable support for vitual serial port USB descriptors * Implement virtual serial port for ChibiOS * Cleanup the lufa_utils Use the default lufa header files * Add raw hid support for ChibiOS This is completely untested * Enable midi compilation on ChibiOS * Move midi functionality out of lufa.c * Don't register sysex callback when not needed * ChibiOS compilation fixes * Update ChibiOS submodule * Fix the Midi USB descriptor It didn't work properly when both Midi and Virtual serial port was enabled. * Add MIDI support for ChibiOS * Fix USB descriptor strings on ChibiOS * Use serial usb driver for raw hid * Generalize the ChibiOS stream like drivers This makes the initialization much more simple and eliminates a lot of the code duplication. * Convert console output to chibios stream driver * Fixes for ChibiOS update * Update the ChibiOS contrib submodule To include the usb data toggle synchronization fixes * Fix duplicate reset enumeration on ChibiOS * Add missing include * Add number of endpoints check for ChibiOS * Enable serial USB driver on all keyboards * Add missing includes when API is enabled withot midi * Add another missing inlcude
2018-01-28Always copy the firmware file to the root qmk_firmware directory (#2314)skullydazed
* Always copy the firmware file to the root qmk_firmware directory * remove circular dependency
2017-11-27Updates bootloader settings, adds file size check (#2029)Jack Humbert
* pull fuse settings for bootloader jump * fix 32a chips * make automatic bootloader selection optional * quantify bootloaders * fixs #164, speeds up dfu reset * fix for chips w/o usb * missing an n * fix bootloader sizes, use words for addresses * fix bmini, pearl, and [[ issue, make things quiet * ignore avr errors on arm for now * update settings for the light * document bootloader stuff * add bootloader title
2017-11-14QMK DFU bootloader generation (#2009)Jack Humbert
* adds :bootloader target * update planck and preonic revisions * remove references to .h files for planck * update preonic keymap * only add keyboard.h files that exist * add production target * hook things up with the new lufa variables * update rules for planck/preonic * back backlight key turn of status led when pressed * add manufacturer/product strings to bootloader
2017-10-21Creates a userspace for keymaps (#1559)Jack Humbert
* create a user space * adds example * document, add readme.md * jackhumbert userspace, ergodox keymap
2017-10-14Make arguments redo, subproject elimination (#1784)Jack Humbert
* redo make args to use colons, better folder structuring system [skip ci] * don't put spaces after statements - hard lessons in makefile development * fix-up some other rules.mk * give travis a chance * reset KEYMAPS variable * start converting keyboards to new system * try making all with travis * redo make args to use colons, better folder structuring system [skip ci] * don't put spaces after statements - hard lessons in makefile development * fix-up some other rules.mk * give travis a chance * reset KEYMAPS variable * start converting keyboards to new system * try making all with travis * start to update readmes and keyboards * look in keyboard directories for board.mk * update visualizer rules * fix up some other keyboards/keymaps * fix arm board ld includes * fix board rules * fix up remaining keyboards * reset layout variable * reset keyboard_layouts * fix remainging keymaps/boards * update readmes, docs * add note to makefile error * update readmes * remove planck keymap warnings * update references and docs * test out tarvis build stages * don't use stages for now * don't use stages for now
2017-09-08Remove all Makefiles from the keyboards directory. (#1660)skullydazed
* Remove all Makefiles from the keyboards directory. * update keymaps added in the last 8 days * Ignore keyboard/keymap makefiles * update hand_wire to reflect our new Makefile-less reality * Update the make guide to reflect the new reality * move planck keymap options to rules.mk * update planck keymaps 4real * trigger travis * add back build_keyboard.mk * restore changes to build_keyboard
2017-08-23Creates a layouts/ folder for keymaps shared between keyboards (#1609)Jack Humbert
* include variables and .h files as pp directives * start layout compilation * split ergodoxes up * don't compile all layouts for everything * might seg fault * reset layouts variable * actually reset layouts * include rules.mk instead * remove includes from rules.mk * update variable setting * load visualizer from path * adds some more examples * adds more layouts * more boards added * more boards added * adds documentation for layouts * use lowercase names for LAYOUT_ * add layout.json files for each layout * add community folder, default keymaps for layouts * touch-up default layouts * touch-up layouts, some keyboard rules.mk * update documentation for layouts * fix up serial/i2c switches
2017-06-18Split common.mk into common.mk and common_features.mkFred Sundvik
To support including keyboard/keymap specific rules before it
2017-06-18Try to build tmk_commonFred Sundvik
2017-06-03Let BACKLIGHT_ENABLE control the Infinity LEDsFred Sundvik
2017-04-13Fix process_unicode_common.c being included twiceFred Sundvik
2017-04-12Fix code formatting in build_keyboard.mkFred Sundvik
2017-04-09Move CIE1931 and breathing tables to its own fileFred Sundvik
2017-04-09UGFX is compiled once per keyboard instead of keymapFred Sundvik
2017-02-25Fix redundant process_music.c in sourcesGabriel Young
2017-02-25Factor basic note processing into respective processorsGabriel Young
2017-02-25Split MIDI functionality into MIDI_BASIC and MIDI_ADVANCEDGabriel Young
MIDI_ENABLE = no text data bss dec hex filename 0 17080 0 17080 42b8 satan_midi.hex MIDI_ENABLE = yes MIDI_BASIC undefined MIDI_ADVANCED undefined text data bss dec hex filename 0 19494 0 19494 4c26 satan_midi.hex MIDI_ENABLE = yes #define MIDI_BASIC MIDI_ADVANCED undefined text data bss dec hex filename 0 19788 0 19788 4d4c satan_midi.hex MIDI_ENABLE = yes MIDI_BASIC undefined #define MIDI_ADVANCED text data bss dec hex filename 0 20846 0 20846 516e satan_midi.hex MIDI_ENABLE = yes #define MIDI_BASIC #define MIDI_ADVANCED text data bss dec hex filename 0 21140 0 21140 5294 satan_midi.hex
2017-02-15add unicode common file, get names rightJack Humbert
2017-02-15split up unicode systems into different filesJack Humbert
2017-02-13Implement faux-clicky featurePriyadi Iman Nurcahyo
2017-02-06Merge pull request #960 from ofples/feature/combosJack Humbert
Keyboard combination triggers
2017-01-21Got ps2avrGB to work with the V-USB protocolLuiz Ribeiro
2016-12-10Implemented basic key combination featureOfer Plesser
2016-11-28Merge branch 'master' of github.com:jackhumbert/qmk_firmware into wu5y7Jack Humbert
2016-11-26separated into api files/folderJack Humbert
2016-11-25Added protocol.mk to buildofples
2016-11-12mergingJack Humbert
2016-11-06Add possibility to control variable trace from makeFred Sundvik
2016-11-06Add variable traceFred Sundvik
For debugging changes to variables, either normally or as a result of a memory corruption.
2016-10-16working with power limitJack Humbert
2016-10-10Unicode map framework. Allow unicode up to 0xFFFFF using separatePriyadi Iman Nurcahyo
mapping table