summaryrefslogtreecommitdiffstats
path: root/tmk_core/rules.mk
Commit message (Collapse)AuthorAgeFilesLines
* 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
|
* More general system for generating several outputsFred Sundvik2016-08-201-85/+40
|
* Move git submodule check and version generation to main MakefileFred Sundvik2016-08-201-11/+2
|
* Remove unneded code from tmk_core/rules.mkFred Sundvik2016-08-201-89/+2
|
* Remove the quick commands and add proper cleanFred Sundvik2016-07-311-26/+5
|
* Also depend on the gcc versionFred Sundvik2016-07-311-3/+5
|
* Force compilation and linking when options changesFred Sundvik2016-07-311-9/+28
|
* More reliable .d file generationFred Sundvik2016-07-311-8/+16
| | | | Also generated inside the obj dir instead of separate deps folder.
* Enable vpath seraching for source files onlyFred Sundvik2016-07-311-1/+11
|
* Speed up ChibiOS keymap compilationFred Sundvik2016-07-291-17/+33
| | | | | By sharing the external library object files between the whole keyboard, instead of re-compiling them for each keymap.
* tmk_core/rules.mk: Make PRINT_ERROR* stop on errorGergely Nagy2016-07-271-2/+2
| | | | | | | Instead of `&& false`, explicitly `exit 1` to make the rules using these macros fail. This fixes #571, and likely breaks Travis badly. Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>