aboutsummaryrefslogtreecommitdiffstats
path: root/tmk_core/protocol/vusb.mk
blob: 5e564f748056dd6d16b81ced1e2aa7753a769aaa (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
VUSB_DIR = protocol/vusb

# Path to the V-USB library
VUSB_PATH = $(LIB_PATH)/vusb

SRC += $(VUSB_DIR)/main.c \
	$(VUSB_DIR)/vusb.c \
	$(VUSB_PATH)/usbdrv/usbdrv.c \
	$(VUSB_PATH)/usbdrv/usbdrvasm.S \
	$(VUSB_PATH)/usbdrv/oddebug.c

ifneq ($(strip $(CONSOLE_ENABLE)), yes)
ifndef NO_UART
SRC +=	$(COMMON_DIR)/sendchar_uart.c \
	$(COMMON_DIR)/uart.c
endif
endif

# Search Path
VPATH += $(TMK_PATH)/$(VUSB_DIR)
VPATH += $(VUSB_PATH)

OPT_DEFS += -DPROTOCOL_VUSB
Variable.Instance */ .highlight .vm { color: #336699 } /* Name.Variable.Magic */ .highlight .il { color: #0000DD; font-weight: bold } /* Literal.Number.Integer.Long */
#!/usr/bin/env bash
# This script will attempt to setup the Linux dependencies for compiling QMK/TMK

# This could probably go much lower, but since we are including an Arch vagrant,
# making it the first match makes sense

if [[ -n "$(type -P pacman )" ]]; then
  # Arch linux and derivatives like Apricity
  # Future improvements:
  # Allow user to speed up package installs using powerpill/wget tweaks
  # Always run the pacman mirror update script if possible when vagrant comes up
  # This will ensure that users never get stalled on a horribly slow mirror
  pacman -Syyu --needed --noconfirm
  pacman -S --needed --noconfirm \
    base-devel \
    avr-gcc \
    avr-binutils \
    avr-libc \
    dfu-util \
    arm-none-eabi-gcc \
    arm-none-eabi-binutils \
    arm-none-eabi-newlib \
    git

elif [[ -n "$(type -P apt-get)" ]]; then
  # Debian and derivatives
  # This block performs completely non-interactive updates {{
  export DEBIAN_FRONTEND=noninteractive
  export DEBCONF_NONINTERACTIVE_SEEN=true
  echo "grub-pc hold" | dpkg --set-selections
  apt-get -y update
  apt-get -y --allow-unauthenticated upgrade \
	  -o Dpkg::Options::="--force-confdef" \
	  -o Dpkg::Options::="--force-confold"
  # }}
  apt-get install -y \
    build-essential \
    gcc \
    unzip \
    wget \
    zip \
    gcc-avr \
    binutils-avr \
    avr-libc \
    dfu-programmer \
    dfu-util \
    gcc-arm-none-eabi \
    binutils-arm-none-eabi \
    libnewlib-arm-none-eabi \
    git

elif [[ -n "$(type -P yum)" ]]; then
  # Fedora, CentOS or RHEL and derivatives
  yum -y makecache && yum -y update
  yum -y install \
    gcc \
    glibc-headers \
    kernel-devel \
    kernel-headers \
    make \
    perl \
    git \
    wget \
    avr-binutils \
    avr-gcc \
    avr-libc \
    dfu-programmer \
    dfu-util \
    gcc-arm-none-eabi \
    binutils-arm-none-eabi \
    libnewlib-arm-none-eabi \
    git
  # The listed eabi pacackes do unfortunately not exist for CentOS,
  # But at least in Fedora they do, so try to install them anyway
  # TODO: Build them from sources, if the installation fails

elif [[ -n "$(type -P zypper)" ]]; then
  # openSUSE
  zypper --non-interactive refresh  && zypper --non-interactive update
  zypper --non-interactive install \
    git \
    make \
    gcc \
    kernel-devel \
    patch \
    wget \
    dfu-programmer \
    git
  # TODO: The avr and eabi tools are not available as default packages, so we need 
  # another way to install them

fi