]> git.donarmstrong.com Git - qmk_firmware.git/blob - util/new_project.sh
i2c fix
[qmk_firmware.git] / util / new_project.sh
1 #!/bin/sh
2 # Script to make a new quantum project
3 # Jack Humbert 2015
4
5 KEYBOARD=$1
6 KEYBOARD_TYPE=$2
7
8 if [ -z "$KEYBOARD" ]; then
9     echo "Usage:   $0 <keyboard_name> <keyboard_type>"
10     echo "Example: $0 gh60 avr"
11     echo "Example: $0 bfake ps2avrgb"
12     exit 1
13 elif [ -z "$KEYBOARD_TYPE" ]; then
14   KEYBOARD_TYPE=avr
15 fi
16
17 if [ $KEYBOARD_TYPE != "avr" -a $KEYBOARD_TYPE != "ps2avrgb" ]; then
18   echo "Invalid keyboard type target"
19   exit 1
20 fi
21
22 if [ -e "keyboards/$1" ]; then
23         echo "Error! keyboards/$1 already exists!"
24         exit 1
25 fi
26
27 cd "$(dirname "$0")/.."
28
29 KEYBOARD_UPPERCASE=$(echo $1 | awk '{print toupper($0)}')
30 KEYBOARD_NAME=$(basename $1)
31 KEYBOARD_NAME_UPPERCASE=$(echo $KEYBOARD_NAME | awk '{print toupper($0)}')
32
33
34 cp -r quantum/template/base keyboards/$KEYBOARD
35 cp -r quantum/template/$KEYBOARD_TYPE/. keyboards/$KEYBOARD
36
37 mv keyboards/${KEYBOARD}/template.c keyboards/${KEYBOARD}/${KEYBOARD_NAME}.c
38 mv keyboards/${KEYBOARD}/template.h keyboards/${KEYBOARD}/${KEYBOARD_NAME}.h
39 find keyboards/${KEYBOARD} -type f -exec sed -i '' -e "s;%KEYBOARD%;${KEYBOARD_NAME};g" {} \;
40 find keyboards/${KEYBOARD} -type f -exec sed -i '' -e "s;%KEYBOARD_UPPERCASE%;${KEYBOARD_NAME_UPPERCASE};g" {} \;
41
42 echo "######################################################"
43 echo "# /keyboards/$KEYBOARD project created. To start"
44 echo "# working on things, cd into keyboards/$KEYBOARD"
45 echo "######################################################"