summaryrefslogtreecommitdiffstats
path: root/tmk_core/rules.mk
Commit message (Collapse)AuthorAgeFilesLines
* Move LTO logic from common.mk (#14973)Joel Challis2021-10-281-0/+9
|
* Fix ccache default (#14906)Joel Challis2021-10-221-1/+1
|
* Move USE_CCACHE logic to common location (#14899)Joel Challis2021-10-211-2/+5
|
* Added semicolons to rules.mk to allow symlinks from /bin/sh to /bin/zsh to ↵remanifest2021-10-061-2/+2
| | | | | complete the filesize check without error. (#14718) Co-authored-by: John Beard <jbeard@pipelinerx.com>
* Move "firmware size check skipped" note to message.mk (#14632)Ryan2021-09-291-1/+1
|
* Fixes for clang not being able to run unit tests (#13546)Donald Kjer2021-08-181-0/+7
|
* Fix firmware size check with avr-libc 1:2.0.0+Atmel3.6.2-1.1 (Debian ↵Sergey Vlasov2021-06-061-1/+1
| | | | | | | | | | | | | | | | | | | | | bullseye) (#12951) Debian bullseye (testing at the moment, but seems close to release) has avr-libc 1:2.0.0+Atmel3.6.2-1.1 with some changes taken from the Atmel-distributed toolchain. In particular, the <avr/io.h> header for ATmega32A (avr/iom32a.h) now defines the FLASHEND constant as `0x7FFFU`, and that `U` suffix breaks the firmware size check code, because the shell arithmetic expansion that is used to calculate `MAX_SIZE` does not support those C-specific suffixes. As a workaround, add `-D__ASSEMBLER__` to the C preprocessor invocation that is used to expand those macros; in this case avr/iom32a.h defines `FLASHEND` without the `U` suffix, and everything works as it did before with older avr-libc versions. The exact same code is present in two places; they are both changed, even though the code in `tmk_core/avr.mk` is actually never used for ATmega32A (and the header for ATmega32U4 does not add that `U` suffix to `FLASHEND` for some reason).
* Fix syntax error when compiling for ARM (#12866)Ryan2021-05-111-1/+1
|
* Add support for producing UF2-format binaries. (#12435)Nick Brassel2021-04-061-6/+25
| | | | | * First stab at enabling builds of UF2-format binaries. * Add description on producing a UF2 file.
* Modified tmk_core/rules.mk to avoid linking errors (#10728)Fabián González Martín2021-02-281-0/+5
| | | | | | | * Modified tmk_core/rules.mk to avoid linking errors Added -fcommon flag to avoid linking errors due to multiple variable definitions. Though this is neither a definitive nor good solution, proper changes and use of extern keyword to avoid those multiple definitions must be made * Comment updated
* Add build debug option to tmk_core/rules.mk (#11324)Takeshi ISHII2021-01-061-1/+18
| | | | | | | | | | | * Add DUMP_C_MACROS to tmk_core/rules.mk * update DUMP_C_MACROS * add VERBOSE_LD_CMD, VERBOSE_AS_CMD * add VERBOSE_C_CMD, VERBOSE_C_INCLUDE * update DUMP_C_MACROS, VERBOSE_C_INCLUDE, VERBOSE_C_CMD
* Add target 'check-md5' to `build_keyboard.mk` (#11338)Takeshi ISHII2020-12-311-4/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Add target 'build-for-compare' to `build_keyboard.mk` The `build-for-compare` target provides an easy way to check the md5 checksum of the generated binary. You can easily see if there is any change in the generated binaries between the two versions, as in the example below. ``` $ git checkout 0.11.0 M build_keyboard.mk M tmk_core/rules.mk Note: checking out '0.11.0'. HEAD is now at c66df1664 2020 November 28 Breaking Changes Update (#11053) $ make helix:all:build-for-compare | grep ^MD5 MD5 (.build/helix_rev2_default.hex) = 5c3606562c944bb4d18832e601b45d4a MD5 (.build/helix_rev2_edvorakjp.hex) = 9e43d13d389d518ba7e99cd7337e28d6 MD5 (.build/helix_rev2_five_rows.hex) = 8bcb61c2fd5d237c2997f2fa007d4934 MD5 (.build/helix_rev2_five_rows_jis.hex) = b97cd818d52f73ca2d4e78c86d90a791 MD5 (.build/helix_rev2_froggy.hex) = c492172364188f4e2918b10bf0f3a0a6 MD5 (.build/helix_rev2_froggy_106.hex) = b0861fd735a8f81881a8c02730641a2b MD5 (.build/helix_rev2_led_test.hex) = 5c97d982a5da5cfb3dacb28a8934b81d MD5 (.build/helix_rev2_xulkal.hex) = 01f603dc46bcf9094d7e106831d8f5b1 MD5 (.build/helix_rev2_yshrsmz.hex) = 5a008bca2d0c5790a151c02834c529ba $ git checkout 0.11.1 M build_keyboard.mk M tmk_core/rules.mk Previous HEAD position was c66df1664 2020 November 28 Breaking Changes Update (#11053) HEAD is now at cc08e3082 nix-shell: add milc dependency (#11086) $ make helix:all:build-for-compare | grep ^MD5 MD5 (.build/helix_rev2_default.hex) = 5c3606562c944bb4d18832e601b45d4a MD5 (.build/helix_rev2_edvorakjp.hex) = 9e43d13d389d518ba7e99cd7337e28d6 MD5 (.build/helix_rev2_five_rows.hex) = 8bcb61c2fd5d237c2997f2fa007d4934 MD5 (.build/helix_rev2_five_rows_jis.hex) = b97cd818d52f73ca2d4e78c86d90a791 MD5 (.build/helix_rev2_froggy.hex) = c492172364188f4e2918b10bf0f3a0a6 MD5 (.build/helix_rev2_froggy_106.hex) = b0861fd735a8f81881a8c02730641a2b MD5 (.build/helix_rev2_led_test.hex) = 5c97d982a5da5cfb3dacb28a8934b81d MD5 (.build/helix_rev2_xulkal.hex) = d848383adfd7463b138c6da179cf1436 MD5 (.build/helix_rev2_yshrsmz.hex) = 5a008bca2d0c5790a151c02834c529ba ``` * make builds reproducable by default * update build_keyboard.mk: remove 'build-for-compare' target * GNU make (3.81) on macOS 10.14(Mojave) does not have the 'undefine' directive. * Adopted fauxpark's suggestion. * Update tmk_core/rules.mk Co-authored-by: Ryan <fauxpark@gmail.com> * update tmk_core/rules.mk * fix tmk_core/rules.mk Co-authored-by: Zach White <skullydazed@gmail.com> Co-authored-by: Ryan <fauxpark@gmail.com>
* Add ability to dump all makefile variables for the specified target. (#8256)Nick Brassel2020-08-291-1/+7
|
* Fix ChibiOS FPU build logic (#9132)Joel Challis2020-05-201-1/+1
|
* Remove Atmel FLIP from install scripts and documentation (#8822)Ryan2020-04-171-1/+1
|
* Add support for hardware and board initialisation overrides. (#8330)Nick Brassel2020-04-131-5/+11
| | | | | | | | | | | | | | | | | | | | | | | | | * Add support for hardware and board initialisation overrides. * qmk cformat. * Add some documentation. * Docs clarity. * Make early_hardware_init_pre a no-op for now, until migrations occur. * Doco update * Make distinction between keyboard and ChibiOS board in docs * Doc anchors. * Update tmk_core/protocol/chibios/main.c Co-Authored-By: Joel Challis <git@zvecr.com> * Rework bootloader entry to be off by default, allow opting-in. Co-authored-by: Joel Challis <git@zvecr.com>
* Fix misunderstanding of CPPFLAGS and CXXFLAGS.Nick Brassel2020-01-311-27/+27
|
* Remove CR when computing BOOTLOADER_SIZE. (#7453)a_p_u_r_o2019-11-241-1/+1
|
* Add a universal flash command for cli (#6224)Drashna Jaelre2019-08-201-1/+4
| | | | | | | | | | | | | | | | | | | | * Add universal flash command * Add bootloader info to I:C boards * Add support for ATSAM * Add messages for flash target * Message cleanup * Add USB ASP Flashing target * Make usbasp target more universal * Add phoney target for usbasp * Clarify error message when bootloader isn't matched
* Skip unsupported firmware check message in silent mode (#5765)Drashna Jaelre2019-07-151-1/+1
|
* add 'objs-size' target into tmk_core/avr.mk (#5490)Takeshi ISHII2019-07-151-0/+3
|
* Display firmware size percentage (#6307)fauxpark2019-07-111-0/+1
|
* Fix chibios so the dfu-suffix is only applied once. (#6270)skullydazed2019-07-071-0/+8
|
* fix LIB_SRC and QUANTUM_LIB_SRC for ARM (#5623)Takeshi ISHII2019-04-221-1/+1
| | | | | | | | * fix LIB_SRC and QUANTUM_LIB_SRC for ARM(chibios) * remove ARFLAGS * tmk_core/arm_atsam.mk:AR: remove 'rcs'
* build size-check enhancement (#5485)Takeshi ISHII2019-03-271-1/+11
| | | | | | | | | | | | | | | | | | | | | | * build size-check enhancement Changed to display a warning when the free size of compilation result is less than 512 bytes. * update message.mk * add SIZE_MARGIN variable, change default margin 512 to 1024 for Example. ``` $ make SIZE_MARGIN=2048 crkbd:all $ make crkbd:all ## mergin is 1024 ``` * Update message.mk change message to ‘approaching the maximum’ Co-Authored-By: mtei <2170248+mtei@users.noreply.github.com>
* Remove AUTOGEN and fix Travis Compiled Push scripts (#5077)Drashna Jaelre2019-02-121-10/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * Grab HEX and BIN files from autogen And push them to qmk.fm/compiled * Make autogen copy extension agnostic This way, when travis cl scrpit looks for hex files, it will actually grab bin files, and not hex files for ARM boards * Handle the AUTOGEN in :bin target to properly handle edge cases Both the TADA68 and ATSAM boards generate the hex file and then convert it to a bin file. The changes I made does not handle this well, at all. This removes the hex and replaces it with a bin, if a bin is normally generated. * Revert hex target to original copy command * Check hex and bin separately in compile push script Since I don't know how to script this, well * Simplify push to compiled folder * Further simplify compiled push script * Move AUTOGEN parsing to a more sane location to prevent tech debt Thanks to skully! * Remove AUTOGEN completely, as it's not needed This has the benefit of making everything super simple, since we can pull every hex and bin from the root of the qmk_firmware folder, and move that to th compiled folder. This also removes old and unneeded code, and removes some tech debt that has been accrued, without adding more, in theory.
* Refactor quantum/split_common/i2c.c, quantum/split_common/serial.c (#4522)Takeshi ISHII2018-12-141-8/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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.
* Made a userspace that allows you to use your keyboard as an order of ↵Ajax2018-10-231-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | operations based calculator (#2864) * Made DZ60 layout with calculator * Cleaned up and commented, preparing to fix bug with negative in front of open parenthesis as first character * Fixed bug where negative sign infront of parenthesis as first character was parsed incorrectly * Made a better solution for the bug from the previous commit * Modularized and added a userfile so that this code can be used on various keyboards, found in doogle999 * Removed commented code from keymap * Made the layer that is used for calculations a define so that it can be changed per keyboard * Made the readme * Made the readme in the correct place * Revert "Made the readme in the correct place" This reverts commit 7f8b59ed9e59c77401a48be3a7ac1e8fd8e84e32. * Manually synced with qmk upstream * Stopped repeat, made keys print character that they are defined as rather than what the keyboard wants them to do * Added support for numpad, might make all keycodes custom so that there is no need to change doogle999.c if you want to change the keycode that is associated with a function, also made numpad automatically activating an option * Fixed some bugs with backspacing, updated the readme * Fixed some bugs with numlock turning on at the wrong times when a shift key was down * Made the return to layer work automatically instead of just forcing it to layer 0 * fixes and style changes, 20% decreased binary size * Fixed some bugs with double printing and compilation errors on my side * Fixed bug with exceeding the buffer size * Removed changes that added const-ness * Made changes so that backspace does not repeat to remove backspace bugs, still some bugs with recalculating without having typed anything * Fixed obo error with calc main loop * Made includes more accurate in keymap for dz60 * Moved flags to user makefile
* Treat too-large firmwares as an error, not a warning (#3956)skullydazed2018-09-271-1/+1
| | | | | | | | | | * Treat too-large firmwares as an error, not a warning * switch the order of printing * I think I have it * adjust the formatting some more
* change messege at 'check-size' targetmtei2018-08-161-0/+2
|
* Better non-Linux support (#2524)dankm2018-03-261-2/+2
| | | | | | | | | | | | | * grep -> $(GREP) Some UNIXy systems (FreeBSD for example) don't use GNU grep by default. Allow the user to specify which grep implementation to use so that GNU grep can be specified. * Allow using versioned avr-gcc command Don't hardcode "avr-gcc", and allow strings such as "avr-gcc8", or "avr-gcc-7.3.0" to match checks for "avr-gcc".
* add conditional to perform check-size only for supported architecturesMichael F. Lamb2018-02-081-0/+5
|
* make check_size work across platformsMichael F. Lamb2018-02-081-1/+1
|
* Use perl directly instead of grep -PErin Call2018-02-021-1/+1
| | | | | BSD grep (the one on OSX) lacks a -P flag. The grep -P command thus fails and prints a usage message to the terminal. This fixes that.
* Always copy the firmware file to the root qmk_firmware directory (#2314)skullydazed2018-01-281-4/+4
| | | | | | * Always copy the firmware file to the root qmk_firmware directory * remove circular dependency
* Updates bootloader settings, adds file size check (#2029)Jack Humbert2017-11-271-8/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Make arguments redo, subproject elimination (#1784)Jack Humbert2017-10-141-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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
* Clueboard 60% support (#1746)skullydazed2017-09-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | * initial clueboard_60 support * LED lighting support * fix the clueboard->clueboard_66 rename * Add layout support to clueboard_60 * Fix the 60_iso layout so it's actually iso * add a default keymap for AEK layout * fix clueboard_17 * Fixup the ISO layouts * Fix the `wait_ms()/wait_us()` definitions for chibios * Fix up the wait_ms/wait_us hack. Reduce stack size. * Add a missing #include "wait.h" * commit files that should have already been comitted
* update building for .hex, secrets movingJack Humbert2017-08-211-2/+2
|
* move version info to the top of the outputJack Humbert2017-08-081-5/+1
|
* add version to make outputJack Humbert2017-08-081-3/+7
|
* Add make option for allowing warningsFred Sundvik2017-04-131-2/+6
|
* Enable warnings as errorsFred Sundvik2017-04-131-0/+2
|
* Fix the ldflags.txt and obj.txt checksFred Sundvik2016-09-041-2/+4
| | | | | There was a minor typo, which caused the files to not be generated and therefore the elf files were always linked.
* Add -p parameter to mkdirFred Sundvik2016-08-271-2/+2
| | | | So that it's created even when there's a deeper structure
* Disable map file creation when building testsFred Sundvik2016-08-271-1/+5
| | | | It causes strange linker warnings on cygwin.
* Rules for compiling and linking google testFred Sundvik2016-08-271-10/+9
|
* Fix the clean targetFred Sundvik2016-08-201-2/+1
| | | | It now properly cleans all the outputs
* Add output specific config fileFred Sundvik2016-08-201-14/+6
|
* Output specific include pathsFred Sundvik2016-08-201-13/+5
|