Commit Graph
100 Commits
Author SHA1 Message Date
Fred Sundvik 13f3c73386 Fix the ldflags.txt and obj.txt checks
There was a minor typo, which caused the files to not be generated
and therefore the elf files were always linked.
2016-09-04 23:26:49 +03:00
Fred Sundvik 83eb9e4eed Fix the .travis.yml so that GH_TOKEN works properly 2016-08-28 01:10:14 +03:00
Fred Sundvik 3bdebd2270 Update list of community keyboards 2016-08-28 00:54:26 +03:00
Fred Sundvik 8ab9c5c55a Rename infinity_chibios to infinity60, and add readme 2016-08-27 23:55:33 +03:00
Fred Sundvik 53302328d0 Add dfu-util to the instructions 2016-08-27 23:43:49 +03:00
Fred Sundvik 1f5838a286 Fix the keyboard template with new make syntax
Also add proper link to the parent
2016-08-27 23:31:15 +03:00
Fred Sundvik 922c4ea3bc Add unit test documentation 2016-08-27 21:57:49 +03:00
Fred Sundvik ca51457327 Another attempt to make keyboards and tests in parallel 2016-08-27 21:57:49 +03:00
Fred Sundvik fd93a9bb29 Make tests and keyboards in two different jobs 2016-08-27 21:57:49 +03:00
Fred Sundvik 03b1d142f2 Add -p parameter to mkdir
So that it's created even when there's a deeper structure
2016-08-27 21:57:49 +03:00
Fred Sundvik 6b92b62802 Travis builds the default all target 2016-08-27 21:57:49 +03:00
Fred Sundvik 6410f0c021 The all target makes all keyboards and all tests 2016-08-27 21:57:49 +03:00
Fred Sundvik 1b963117fe Support for running and cleaning all tests 2016-08-27 21:57:49 +03:00
Fred Sundvik 42baa6cf43 Disable map file creation when building tests
It causes strange linker warnings on cygwin.
2016-08-27 21:57:49 +03:00
Fred Sundvik 7eefb34e7c Detect failures when running multiple tests
Also add better output.
2016-08-27 21:57:49 +03:00
Fred Sundvik ffb0a126f5 Convert tirple_buffered_object_tests to GTest 2016-08-27 21:57:49 +03:00
Fred Sundvik bcdf9ab76b Convert transport_tests to GTest 2016-08-27 21:57:49 +03:00
Fred Sundvik b3eba797af Convert frame_validator_tests to GTest 2016-08-27 21:57:49 +03:00
Fred Sundvik cdd0913bcc Convert frame_router_tests to GTest 2016-08-27 21:57:49 +03:00
Fred Sundvik c692fd1d55 More common settings for unit tests and keyboards 2016-08-27 21:57:49 +03:00
Fred Sundvik fc855cb30e Fix running multiple tests 2016-08-27 21:57:49 +03:00
Fred Sundvik f4429ba48c Running of unit tests
But only if the compilation has succeeded
2016-08-27 21:57:49 +03:00
Fred Sundvik 0a11460175 Build actual tests, convert byte_stuffer_tests 2016-08-27 21:57:49 +03:00
Fred Sundvik 8a9aac6e32 Rules for compiling and linking google test 2016-08-27 21:57:49 +03:00
Fred Sundvik 27a673f5cf The makefile actually calls build_test 2016-08-27 21:57:49 +03:00
Fred Sundvik 6d7cd639a5 Basic framework for parsing test targets 2016-08-27 21:57:49 +03:00
Fred Sundvik cfddec17d5 Add Google Test submodule 2016-08-27 21:57:49 +03:00
Fred Sundvik cff26bc484 Merge branch 'master' into fix_line_endings 2016-08-27 21:01:46 +03:00
Fred Sundvik 265df7d5da Fix travis_compiled_push 2016-08-27 20:18:26 +03:00
Fred Sundvik a5b1af4999 Normalize line endings 2016-08-27 18:40:50 +03:00
Fred Sundvik de58ec9738 Set eep files to binary mode 2016-08-27 18:37:28 +03:00
Fred Sundvik d1e4f2eb08 Merge remote-tracking branch 'upstream/master' into makefile_overhaul 2016-08-26 21:57:17 +03:00
Fred Sundvik 6cfdd077b5 Fix bad merge
Led should have been added to KC60, not GH60
2016-08-26 00:05:58 +03:00
Fred Sundvik 86ece64176 Fix minor typo in the readme 2016-08-25 23:54:05 +03:00
Fred Sundvik 3300203157 Remove google test submodule
It had been added for some strange reason, allthough it's supposed
to be there only in another branch.
2016-08-25 23:37:18 +03:00
Fred Sundvik fb8365a378 Split vision_division into Makefile/rules.mk 2016-08-25 23:28:10 +03:00
Fred Sundvik 523dff3005 Merge branch 'master' into makefile_overhaul 2016-08-25 23:26:02 +03:00
Fred Sundvik 2e3834edea Merge remote-tracking branch 'upstream/master' into makefile_overhaul 2016-08-24 10:37:02 +03:00
Fred Sundvik 7c9fff59d0 Fix slight inconsistency
When running make from either a keyboard folder or a subproject
it runs all keymaps for all subprojects and the selected subproject
respectively. Without this fix, the same doesn't happen if your
run make clean for example. As it would just provide you with an
error message. Now this will work as expected.
2016-08-24 10:29:01 +03:00
Fred Sundvik feebc58d32 Split kitten_paw into Makefile/rules.mk 2016-08-23 09:42:11 +03:00
Fred Sundvik 8f2af3c6bc Merge branch 'master' into makefile_overhaul 2016-08-23 09:38:05 +03:00
Fred Sundvik 8f16403179 Change order of variable assignment
BUILD_DIR and TARGET was assigned too late, so the dfu-util target,
which depends on them did not work.
2016-08-21 13:53:36 +03:00
Fred Sundvik 1c69acb7d5 Add longest match to the rule-checking
This fixes cases where you have several keyboards with a common
prefix, like algernon, and algernon-master
2016-08-21 13:10:34 +03:00
Fred Sundvik 2a5bdd81d4 Add warning about line endings 2016-08-20 19:11:22 +03:00
Fred Sundvik 704cbd1d2b Add instructions for Windows 10 subsystem for Linux
Also simplify the linux instructions
2016-08-20 19:02:19 +03:00
Fred Sundvik fd2f957a1a Normalize line endings 2016-08-20 17:59:18 +03:00
Fred Sundvik f0fd840a57 Add .gitattributes to ensure correct line endings
It also ensures that make files and shell script are checked out
with lf endings, for compability with the Windows 10 bash
2016-08-20 17:27:51 +03:00
Fred Sundvik b26ded3ab1 Comment the Makefile
Also move some messages to message.mk
2016-08-20 14:53:29 +03:00
Fred Sundvik 48f8ab1ae2 Fix the clean target
It now properly cleans all the outputs
2016-08-20 12:44:04 +03:00
Fred Sundvik da226e6126 Update keyboard readme files with new makefile instructions 2016-08-20 03:56:48 +03:00
Fred Sundvik b4c75569b0 Update readme with new instructions for make 2016-08-20 03:56:47 +03:00
Fred Sundvik e1243339ca Add diffutils to travis.yml and install_dependencies
It has been required for a while now, and now actually checked in
the makefiles. Before, if you didn't have it installed it would
just recompile everything.

The readme hasn't been updated to reflect this, I think we need
to go through that separately, and see what's really needed. Or
just instruct people to run the batch scripts.
2016-08-20 03:56:46 +03:00
Fred Sundvik ab4d7adbb9 Fix the template for the Makefile/rules.mk split 2016-08-20 03:56:45 +03:00
Fred Sundvik f29730da36 Better format for non-silent output 2016-08-20 03:56:44 +03:00
Fred Sundvik 03e31ef8b9 Continue on error 2016-08-20 03:56:43 +03:00
Fred Sundvik 3442e216dc Move bootloader_defs include to build_keyboard
Also fix it for subprojects
2016-08-20 03:56:42 +03:00
Fred Sundvik 9028a412ea Add output specific config file 2016-08-20 03:56:41 +03:00
Fred Sundvik 33fbd3be36 Output specific include paths 2016-08-20 03:56:40 +03:00
Fred Sundvik 3aac4e95c9 More general system for generating several outputs 2016-08-20 03:56:39 +03:00
Fred Sundvik 87bf34a5d3 Pass the target to submake 2016-08-20 03:56:38 +03:00
Fred Sundvik d924eb591e Fix variable name clash with builtin
This caused the submake to be called several times, messing up the
build.
2016-08-20 03:56:37 +03:00
Fred Sundvik 8732265928 Options for silent compilation
A single keyboard is always by default compiled in verbose mode.
While multiple keyboards are compiled in silent mode. This can be
overriden by the silent variable from the command line
2016-08-20 03:56:36 +03:00
Fred Sundvik e4c842de02 Don't run builtin rules for submake
To speed up the compilation
2016-08-20 03:56:35 +03:00
Fred Sundvik 881bde8258 Fix running make in parallel 2016-08-20 03:56:34 +03:00
Fred Sundvik dd8c1a7659 Don't add VERSION as a define
To avoid full recompilation when the git commit hash changes.
2016-08-20 03:56:33 +03:00
Fred Sundvik 60c6e79ecb Move git submodule check and version generation to main Makefile 2016-08-20 03:56:32 +03:00
Fred Sundvik cc2df445ab Remove unneded code from tmk_core/rules.mk 2016-08-20 03:56:31 +03:00
Fred Sundvik 67b294ca66 Actual compilation 2016-08-20 03:56:30 +03:00
Fred Sundvik db5c3b74fb Add color output 2016-08-20 03:56:29 +03:00
Fred Sundvik 0dd629a990 Fix running make from various subfolders 2016-08-20 03:56:28 +03:00
Fred Sundvik a04bb3a3ba Fixed the shortcut targets 2016-08-20 03:56:27 +03:00
Fred Sundvik 3fa6625869 Proper default goals when inside keyboard fodlers 2016-08-20 03:56:26 +03:00
Fred Sundvik 459ddaceda Add backwards compability with makefile variables 2016-08-20 03:56:25 +03:00
Fred Sundvik 4f20061f66 Proper handling for running make from a subproject or keymap dir 2016-08-20 03:56:24 +03:00
Fred Sundvik 051017c312 Split subproject make files into Makefile and rules.mk 2016-08-20 03:56:23 +03:00
Fred Sundvik c83af54513 Support for running from keyboard directory 2016-08-20 03:56:21 +03:00
Fred Sundvik 1ad5578d11 Print error when building non-existing keyboard 2016-08-20 03:56:20 +03:00
Fred Sundvik a6d3500024 Print error message when trying to build non-existing keymap 2016-08-20 03:56:20 +03:00
Fred Sundvik 2dd9c1edcd Proper parsing of keymaps inside subprojects 2016-08-20 03:56:19 +03:00
Fred Sundvik 44441de8ca Split keyboard makefiles into rules and Makefile 2016-08-20 03:56:08 +03:00
Fred Sundvik 0d5caead5a Add default subproject parsing 2016-08-20 03:24:40 +03:00
Fred Sundvik 091fab5103 Slight rearrange of the Makefile for easier readability 2016-08-20 03:24:40 +03:00
Fred Sundvik 286b3b8057 Slight refactoring to remove some verbosity 2016-08-20 03:24:40 +03:00
Fred Sundvik 1df6498721 Subproject parsing
Does not handle keyboards without subprojects correctly yet.
2016-08-20 03:24:40 +03:00
Fred Sundvik 9ee6d4a23d Proper looping for allkb and allkm 2016-08-20 03:24:40 +03:00
Fred Sundvik dfe510d5b8 Refactor common rule list parsing into own function 2016-08-20 03:24:40 +03:00
Fred Sundvik 9b02e66ce0 Add keymap parsing 2016-08-20 03:24:40 +03:00
Fred Sundvik f97ae2b199 Rule parsing to match kebyoards 2016-08-20 03:24:40 +03:00
Fred Sundvik e6e675335d First version of rule parsing
Only handles allkb at the moment.
2016-08-20 03:24:40 +03:00
Fred Sundvik 86706de036 Parsing of makefile variables from starting dir 2016-08-20 03:24:40 +03:00
Fred Sundvik fda29be3e7 Travis calls the normal build target, instead of quick 2016-07-31 14:18:51 +03:00
Fred Sundvik 87a1a095d0 Fix the readme for the removed quick target 2016-07-31 14:18:00 +03:00
Fred Sundvik a0dc622199 Remove the quick commands and add proper clean 2016-07-31 14:17:32 +03:00
Fred Sundvik d5a947b324 Also depend on the gcc version 2016-07-31 13:49:04 +03:00
Fred Sundvik 97817a773e Generate version information to version.h
So that only the files that really needs a version are recompiled.
2016-07-31 13:42:05 +03:00
Fred Sundvik 84bfb19554 Force compilation and linking when options changes 2016-07-31 13:42:04 +03:00
Fred Sundvik e58e9af2ab More reliable .d file generation
Also generated inside the obj dir instead of separate deps folder.
2016-07-31 13:36:30 +03:00
Fred Sundvik abdf42573a Put the build output inside the root/.build directory 2016-07-31 13:25:49 +03:00
Fred Sundvik f11a0275a8 Enable vpath seraching for source files only 2016-07-31 13:24:25 +03:00
Fred Sundvik 79067662c8 Better "include guards" for the makefiles
Checking for ARCH is not good enough, since some subprojects define it.
Ergodox Ez for example. The leads to running the make from
keyboards/ergodox/ez failing. The keyboard makefile will not be included
in that case, and therefore not the CUSTOM_MATRIX either.

Furthermore the output files are read from many different .build
directories, so it doesn't fail deterministically. For example on the
Travis CI the compilation passes, since there's no outdated objects that
needs recompilation.
2016-07-31 13:22:18 +03:00