Compare commits

..

5 Commits

Author SHA1 Message Date
Mark 01e1e510a0
Added build files 2022-07-09 14:25:45 -07:00
Mark 068134e368
added gitignore 2022-07-09 14:10:08 -07:00
Mark 3c9ddd89fa
Added submodules 2022-07-09 14:05:58 -07:00
Mark 754279cbfb
Moved files to subdir 2022-07-09 14:03:53 -07:00
Mark 238d32cf77
New version compatibility 2022-07-09 13:35:23 -07:00
39 changed files with 121 additions and 41 deletions

4
.gitignore vendored
View File

@ -1 +1,3 @@
*.gch /venv
/build
qmk/qmk.conf

6
.gitmodules vendored Normal file
View File

@ -0,0 +1,6 @@
[submodule "qmk/qmk_fw"]
path = qmk/qmk_fw
url = ssh://git@git.betalupi.com:33/mirrors-QMK/qmk_firmware.git
[submodule "qmk/qmk_cli"]
path = qmk/qmk_cli
url = ssh://git@git.betalupi.com:33/mirrors-QMK/qmk_cli.git

75
Makefile Normal file
View File

@ -0,0 +1,75 @@
QMK_REPO := ssh://git@git.betalupi.com:33/Mark/qmk_betalupi.git
# QMK command
QMK_CONF := $(shell pwd)/qmk/qmk.conf
QMK := qmk --config-file $(QMK_CONF)
# Where to create venv
VENV := $(shell pwd)/venv
# Where to build firmware
BUILD_DIR := $(shell pwd)/build
# Path to submodules
QMK_CLI := $(shell pwd)/qmk/qmk_cli
QMK_DIR := $(shell pwd)/qmk/qmk_fw
.PHONY: git-submodule
git-submodule:
@git submodule sync --recursive
@git submodule update --init --recursive --progress
@echo ""
# Link keyboards into qmk_fw
KEYBOARDS := $(notdir $(shell find keyboards -maxdepth 1 -mindepth 1 -type d))
.PHONY: $(KEYBOARDS)
$(KEYBOARDS):
@echo "Linking keyboards into $(QMK_DIR)/keyboards..."
@ln -s \
$(shell pwd)/keyboards/$@ \
$(QMK_DIR)/keyboards/$@
@echo ""
# Clone all repos and configure qmk
.PHONY: setup
setup: git-submodule $(KEYBOARDS)
@echo "Preparing venv..."
@python -m venv $(VENV) --prompt=qmk_venv
@echo "Building and installing qmk_cli"
@source $(VENV)/bin/activate && \
cd $(QMK_CLI) && \
python3 -m pip install build --quiet && \
python3 -m build > /dev/null && \
python3 -m pip install $$(find dist -name 'qmk-*.tar.gz') --quiet
@echo ""
@echo ""
@source $(VENV)/bin/activate && \
$(QMK) config user.qmk_home=$(QMK_DIR) && \
$(QMK) doctor
# Undo all changes done in setup
.PHONY: unsetup
unsetup:
-rm -drf $(VENV) $(BUILD_DIR)
-rm $(QMK_CONF)
-rm -dr $(QMK_CLI)/dist $(QMK_CLI)/qmk.egg-info
-rm $(KEYBOARDS:%=$(QMK_DIR)/keyboards/%)
# Compile and flash a keyboard
.PHONY: flash
flash:
@source $(VENV)/bin/activate && \
$(QMK) flash \
-e AVR_CFLAGS="-Wno-array-bounds" \
-e BUILD_DIR=$(BUILD_DIR) \
-kb betalupi_ergodox \
-km default

31
README.md Normal file
View File

@ -0,0 +1,31 @@
# Betalupi QMK environment
This repository contains everything required to build qmk firmware.
### TODO
[ ] Better build/flash command
[ ] Warning when directory is moved
-------------------------------------------------
## Setup
To initialize the build environment, run `make setup`. This does a few things:
- Updates all submodules
- Symlinks all directories in `keyboards` into `qmk/qmk_fm/keyboards`
- Creates a python virtualenv in `venv`
- Builds and installs `qmk/qmk_cli` into that venv
- Creates a QMK config file in `qmk/qmk.conf`
- Runs `qmk doctor` to make sure everything worked.
ONCE `make setup` has been run, this directory (or its parents) CANNOT BE RENAMED OR MOVED! \\
If you want to move this directory, run `make unsetup`, then run `make setup` again. No data should be lost.
## Using QMK
Run `make flash` to build and flash firmware. If you want to execute qmk manually, activate the virtualenv and use `./qmk.sh`.

View File

@ -139,16 +139,3 @@
// ZSA says: "fixes space cadet rollover issue" // ZSA says: "fixes space cadet rollover issue"
#define DISABLE_SPACE_CADET_ROLLOVER #define DISABLE_SPACE_CADET_ROLLOVER
// Disable unnecessary features
//#define NO_DEBUG
//#define NO_PRINT
//#define DEBUG_MATRIX_SCAN_RATE
//#define NO_ACTION_LAYER
//#define NO_ACTION_TAPPING
//#define NO_ACTION_ONESHOT
#define NO_ACTION_MACRO
#define NO_ACTION_FUNCTION

View File

@ -93,7 +93,7 @@ void set_layer_color(int layer) {
} }
void rgb_matrix_indicators_user(void) { void rgb_matrix_indicators_user(void) {
if (g_suspend_state || keyboard_config.disable_layer_led) { if (keyboard_config.disable_layer_led) {
return; return;
} }

View File

@ -2,31 +2,7 @@
#include "betalupi_ergodox.h" #include "betalupi_ergodox.h"
#include "version.h" #include "version.h"
//#include "keymap_german.h"
//#include "keymap_nordic.h"
//#include "keymap_french.h"
//#include "keymap_spanish.h"
//#include "keymap_hungarian.h"
//#include "keymap_swedish.h"
//#include "keymap_br_abnt2.h"
//#include "keymap_canadian_multilingual.h"
//#include "keymap_german_ch.h"
//#include "keymap_jp.h"
//#include "keymap_korean.h"
//#include "keymap_bepo.h"
//#include "keymap_italian.h"
//#include "keymap_slovenian.h"
//#include "keymap_lithuanian_azerty.h"
//#include "keymap_danish.h"
//#include "keymap_norwegian.h"
//#include "keymap_portuguese.h"
//#include "keymap_contributions.h"
//#include "keymap_czech.h"
//#include "keymap_romanian.h"
#include "keymap_russian.h" #include "keymap_russian.h"
//#include "keymap_uk.h"
//#include "keymap_estonian.h"
//#include "keymap_belgian.h"
#include "keymap_us_international.h" #include "keymap_us_international.h"
@ -102,7 +78,6 @@
extern int current_lang; extern int current_lang;
extern bool g_suspend_state;
extern rgb_config_t rgb_matrix_config; extern rgb_config_t rgb_matrix_config;
void set_lang(int lang); void set_lang(int lang);

View File

@ -33,7 +33,7 @@ API_SYSEX_ENABLE = no
# to save space # to save space
MAGIC_ENABLE = no MAGIC_ENABLE = no
DEBOUNCE_TYPE = eager_pr DEBOUNCE_TYPE = sym_eager_pr
SRC += \ SRC += \
matrix.c \ matrix.c \

2
qmk.sh Executable file
View File

@ -0,0 +1,2 @@
#!/bin/bash
qmk --config-file qmk/qmk.conf "$@"

1
qmk/qmk_cli Submodule

@ -0,0 +1 @@
Subproject commit 7cb41c2daa0e90ced9bbb25e46df810aded78d9c

1
qmk/qmk_fw Submodule

@ -0,0 +1 @@
Subproject commit 2106acc24a5c223a5429ea5413bd78f6f0ad038c