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