Commit graph

72 commits

Author SHA1 Message Date
Fred Sundvik
d956dd1248 Run each sumbmake in a separate shell
This will fix the situation where the commandline gets too long when
there are many keyboards and keymaps.
2016-10-30 17:03:01 +02: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
7eefb34e7c Detect failures when running multiple tests
Also add better output.
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
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
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
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
b26ded3ab1 Comment the Makefile
Also move some messages to message.mk
2016-08-20 14:53:29 +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
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
60c6e79ecb Move git submodule check and version generation to main Makefile 2016-08-20 03:56:32 +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
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
Gergely Nagy
fa06a16360 process_unicode: Add a way to enter unicode symbols by name
The purpose of this change is to allow keymaps to specify a dictionary
of unicode symbol name to code mappings, and let the person at the
keyboard enter unicode symbols by name.

This is done by having a way to trigger unicode symbol input mode, when
all keys are cached until Esc, Enter or Space are pressed. Once that
happens, we try to look up the symbol from our lookup table. If found,
we erase back, and type the unicode magic in to get that symbol. If not
found, we still erase back, start unicode input mode, and replay what
the user typed in.

Signed-off-by: Gergely Nagy <algernon@madhouse-project.org>
2016-08-15 10:08:53 +02: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
abdf42573a Put the build output inside the root/.build directory 2016-07-31 13:25:49 +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
Jack Humbert
8b94e26d7c Fixes midi functionality 2016-07-24 22:07:43 -04:00
Fred Sundvik
70797bb8f2 Makefile changes and files to compile Visualizer 2016-07-07 00:20:20 +03:00
Fred Sundvik
e5726b017a Add setting of the master side to the makefile 2016-07-06 16:06:53 +03:00
Fred Sundvik
4b45deb652 Enable serial_link support for ChibiOS 2016-07-06 16:06:53 +03:00
Fred Sundvik
a7e3e4e652 Add serial_link compilation to Infinity Ergodox 2016-07-06 16:06:53 +03:00