194 lines
4.1 KiB
Makefile
194 lines
4.1 KiB
Makefile
# -*- mode: makefile -*-
|
|
#========================================
|
|
# DO NOT DELETE THE LINE BELOW
|
|
_default: default
|
|
# DO NOT DELETE THE LINE_ABOVE
|
|
#========================================
|
|
|
|
#========================================
|
|
#
|
|
# There are no user configurable options here.
|
|
#
|
|
# All user configurable options are in local.uses
|
|
#
|
|
include ./local.uses
|
|
#
|
|
#========================================
|
|
|
|
#========================================
|
|
# This is the USB driver for the FTDI2XX chips.
|
|
# It is a "closed" solution from FTDICHIP.COM
|
|
# Some claim it is faster then the open/free
|
|
# solution: win32-libusb+libftdi.
|
|
#
|
|
ftd2xx.download:
|
|
mkdir -p ${VIRGINS}
|
|
wget -O ${FTD2XX_ZIPFILE_LOCAL} \
|
|
${FTD2XX_ZIPFILE_URL}
|
|
|
|
ftd2xx.unpack:
|
|
rm -rf ${FTD2XX_WIN32_DIR}
|
|
mkdir -p ${FTD2XX_WIN32_DIR}
|
|
cd ${FTD2XX_WIN32_DIR} && unzip \
|
|
${FTD2XX_ZIPFILE_LOCAL}
|
|
|
|
ftd2xx.build:
|
|
@echo "Nothing to do for: $@"
|
|
|
|
ftd2xx.configure:
|
|
@echo "Nothing to do for: $@"
|
|
|
|
ftd2xx.install:
|
|
@echo "Nothing to do for: $@"
|
|
|
|
clean::
|
|
rm -rf ${FTD2XX_WIN32_DIR}
|
|
|
|
ftd2xx.all: ftd2xx.unpack ftd2xx.configure \
|
|
ftd2xx.build ftd2xx.install
|
|
|
|
|
|
#========================================-
|
|
# LIBFTDI - requires LIBCONFUSE..
|
|
# So we handle it here :-(
|
|
|
|
libconfuse.download:
|
|
mkdir -p virgins
|
|
wget -O ${LIBCONFUSE_TARFILE_LOCAL} \
|
|
${LIBCONFUSE_TARFILE_URL}
|
|
|
|
libconfuse.unpack:
|
|
tar xfz ${LIBCONFUSE_TARFILE_LOCAL}
|
|
|
|
clean::
|
|
rm -rf ${LIBCONFUSE_SRC_DIR}
|
|
|
|
libconfuse.configure:
|
|
rm -rf ${LIBCONFUSE_BUILD_DIR}
|
|
mkdir -p ${LIBCONFUSE_BUILD_DIR}
|
|
cd ${LIBCONFUSE_BUILD_DIR} && \
|
|
${LIBCONFUSE_SRC_DIR}/configure \
|
|
--prefix=${PREFIX}
|
|
|
|
clean::
|
|
rm -rf ${LIBCONFUSE_BUILD_DIR}
|
|
|
|
libconfuse.build:
|
|
cd ${LIBCONFUSE_BUILD_DIR} && ${MAKE}
|
|
|
|
libconfuse.install:
|
|
cd ${LIBCONFUSE_BUILD_DIR} && ${MAKE} install
|
|
|
|
libconfuse.all: libconfuse.unpack libconfuse.configure \
|
|
libconfuse.build libconfuse.install
|
|
|
|
#========================================
|
|
# LIBFTDI - the open source (and free)
|
|
# alternative to (closed) FTD2XX drivers.
|
|
|
|
libftdi.download:
|
|
mkdir -p virgins
|
|
wget -O ${LIBFTDI_TARFILE_LOCAL} \
|
|
${LIBFTDI_TARFILE_URL}
|
|
|
|
libftdi.unpack:
|
|
tar xfz ${LIBFTDI_TARFILE_LOCAL}
|
|
|
|
clean::
|
|
rm -rf ${LIBFTDI_SRC_DIR}
|
|
|
|
libftdi.configure:
|
|
rm -rf ${LIBFTDI_BUILD_DIR}
|
|
mkdir -p ${LIBFTDI_BUILD_DIR}
|
|
cd ${LIBFTDI_BUILD_DIR} && \
|
|
${LIBFTDI_SRC_DIR}/configure \
|
|
--prefix=${PREFIX}
|
|
|
|
clean::
|
|
rm -rf ${LIBFTDI_BUILD_DIR}
|
|
|
|
libftdi.build:
|
|
cd ${LIBFTDI_BUILD_DIR} && ${MAKE}
|
|
|
|
libftdi.install:
|
|
cd ${LIBFTDI_BUILD_DIR} && ${MAKE} install
|
|
|
|
libftdi.all: libftdi.unpack libftdi.configure \
|
|
libftdi.build libftdi.install
|
|
|
|
#========================================
|
|
# Openocd...
|
|
|
|
openocd.bootstrap:
|
|
cd ${OPENOCD_SRC_DIR} && bash ./bootstrap
|
|
|
|
openocd.configure:
|
|
rm -rf ${OPENOCD_BUILD_DIR}
|
|
mkdir -p ${OPENOCD_BUILD_DIR}
|
|
cd ${OPENOCD_BUILD_DIR} && ${OPENOCD_SRC_DIR}/configure \
|
|
--prefix=${INSTALL_DIR} \
|
|
${OPENOCD_CONFIG_OPTIONS}
|
|
|
|
openocd.build:
|
|
cd ${OPENOCD_BUILD_DIR} && ${MAKE}
|
|
|
|
openocd.docs:
|
|
cd ${OPENOCD_BUILD_DIR}/docs && ${MAKE}
|
|
|
|
openocd.docs.pdf:
|
|
cd ${OPENOCD_BUILD_DIR}/docs && ${MAKE} pdf
|
|
|
|
openocd.docs.html:
|
|
cd ${OPENOCD_BUILD_DIR}/docs && ${MAKE} html
|
|
|
|
# fixme:
|
|
# need to add a "make one huge html file target"
|
|
|
|
openocd.install:
|
|
cd ${OPENOCD_BUILD_DIR} && ${MAKE} install
|
|
|
|
#========================================
|
|
# The world...
|
|
|
|
# Manual step.
|
|
download.all: \
|
|
ftd2xx.download \
|
|
libconfuse.download \
|
|
libftdi.download
|
|
|
|
ifeq (x"${FT2232_DRIVER}",x"ftd2xx")
|
|
prebuild: ftd2xx.all
|
|
endif
|
|
|
|
ifeq (x"${FT2232_DRIVER}",x"libftdi")
|
|
prebuild: libconfuse.all libftdi.all
|
|
endif
|
|
|
|
remake: \
|
|
openocd.bootstrap \
|
|
openocd.configure \
|
|
openocd.build \
|
|
openocd.install
|
|
|
|
initial.build : download.all prebuild remake
|
|
|
|
all:
|
|
@echo ""
|
|
@echo " This makefile does not support an 'all' target"
|
|
@echo ""
|
|
@echo " If this is your *FIRST* time building... "
|
|
@echo " Then use this command: \"make initial.build\""
|
|
@echo ""
|
|
@echo " The \"default\" target is for openocd developers"
|
|
@echo " and rebuilds openocd completely.."
|
|
@echo ""
|
|
|
|
default:
|
|
test -d ${OPENOCD_SRC_DIR} || (echo "Where is: The OPENOCD source?"; exit 1)
|
|
${MAKE} remake
|
|
|
|
whatis_%:
|
|
@echo ""
|
|
@echo "Makevariable: $* => ${${*}}"
|
|
@echo ""
|