From 5eef65f9b470f99b42b4a0aae6544d7e776d6ff7 Mon Sep 17 00:00:00 2001 From: Adrian L Lange Date: Wed, 27 Jan 2016 13:40:02 +0100 Subject: [PATCH] Created Embedding (markdown) --- Embedding.md | 62 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 62 insertions(+) create mode 100644 Embedding.md diff --git a/Embedding.md b/Embedding.md new file mode 100644 index 0000000000..e747b027dc --- /dev/null +++ b/Embedding.md @@ -0,0 +1,62 @@ +If you want to use TMK for your own keyboard project, you've got three options for embedding the [core][1]. +The recommended option is [subtrees](#1-git-subtree). + +After adding the embed you'll need to [modify the Makefile](#modifications-to-the-makefile) of your project to point to the core correctly. + +## 1. git subtree + +In order to set up the subtree in your project, first add the core repository as a remote: +``` +git remote add -f core https://github.com/tmk/tmk_core +``` + +Then add the core as a subtree (directory) in your local repository: +``` +git subtree add -P tmk_core core master --squash +``` + +And that's it! + +When you want to update the subtree in your repository to match the master on [tmk_core][1], do this: +``` +git subtree pull -P tmk_core core master --squash +``` + +## 2. git submodule + +In order to set up the submodule in your project, first add a new submodule: +``` +git submodule add https://github.com/tmk/tmk_core tmk_core +``` + +Then pull, sync and update the submodule: +``` +git pull +git submodule sync --recursive +git submodule update --init --recursive +``` + +And that's it! + +When you want to update the subtree in your repository to match the master on [tmk_core][1], follow the same steps as above. + +If you want to clone a repository from GitHub that has submodule(s) in it, pass --recursive when cloning, like so: +`git clone --recursive https://github.com//` + +## 3. Manually (without git) + +*Note: This is not recommended in any way, but it's still possible.* + +Download a zipped version of the [tmk_core][1] repository using this link: + + +Extract the zip in your project's directory, then rename the folder to tmk_core. + +## Modifications to the *Makefile* + +The one thing you have to make sure to change in the *Makefile* (compared to [tmk_keyboard](https://github.com/tmk/tmk_keyboard) drivers' *[Makefile](https://github.com/tmk/tmk_keyboard/blob/master/keyboard/gh60/Makefile#L45)*) is the "TMK_DIR" variable, which needs to point to the embed directory: +```Makefile +TMK_DIR = ./tmk_core +``` + +[1]: https://github.com/tmk/tmk_core \ No newline at end of file