Browse Source

Added another test build configuration

git-svn-id: svn://svn.berlios.de/openocd/trunk@1290 b42882b7-edfa-0310-969c-e2dbd0fdcd60
tags/v0.1.0
duane 12 years ago
parent
commit
e5e561157c
3 changed files with 413 additions and 0 deletions
  1. +193
    -0
      testing/build.test2/Makefile
  2. +59
    -0
      testing/build.test2/README.txt
  3. +161
    -0
      testing/build.test2/local.uses

+ 193
- 0
testing/build.test2/Makefile View File

@@ -0,0 +1,193 @@
# -*- 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 ""

+ 59
- 0
testing/build.test2/README.txt View File

@@ -0,0 +1,59 @@
This makefile is how I Duane Ellis (openocd@duaneellis.com) builds
openocd test purposes on Cygwin. I have included it here so others
might also make use of the same configuration that I use to develop
Openocd.
--Duane Ellis
To make use of it do the following:
(1) Check out openocd in the standard way.
For example - in cygwin, type this:
bash$ mkdir -p /home/duane/test
bash$ cd /home/duane/test
bash$ svn co https://svn.berlios.de/svnroot/repos/openocd/trunk openocd
(2) COPY this folder "right above" where you have OpenOCD.
bash$ cd /home/duane/test
bash$ cp ./openocd/testing/build.test2/* /home/duane/test/.
(3) OPTIONALLY
You might want to review the file "local.uses"
Change options and so forth at the top of the file.
(4) Initially, you need to download some additional files.
These include "libftdi", "libconfuse", and the ftd2xx drivers.
(5) You also need to build the supporting libraries and install them
(They are installed "locally" only)
Type this command:
bash$ cd /home/duane/test
bash$ make initial.build
which: (1) downloads files
(2) builds the libs
(3) builds OpenOCD
(6) As you hack upon OpenOCD... to rebuild OpenOCD...
bash$ cd /home/duane/test
bash$ make remake
which: (1) re-bootstraps
(2) re-configures
(3) re-builds
(4) re-installs.
=======
**END**
=======

+ 161
- 0
testing/build.test2/local.uses View File

@@ -0,0 +1,161 @@
# -*- mode: makefile -*-
#========================================
# DO NOT REMOVE THE LINE BELOW
HERE := $(shell pwd)
# DO NOT REMOVE THE LINE ABOVE
#========================================

# These are common CYGWIN build settings.
# Comment out things you do not want.
# Or unComment things you want.

# PCs always have printer ports...
X86_PRINTER_PORT ?= y

# Chose *ONE* of these three solutions.
#FTD2232_DRIVER = none
FT2232_DRIVER = ftd2xx
#FT2232_DRIVER = libftdi

# Do you have "libusb" installed?
ifeq (x"${FT2232_DRIVER}",x"libftdi")
# With LIBFTDI... LIBUSB is manditory.
USE_LIBUSB = y
endif

# By default... we assume libusb not present.
USE_LIBUSB ?= n

#========================================
# DO NOT EDIT SETTINGS BELOW THIS LINE
#========================================



#========================================
# House keeping...

# Solve problems on systems with DASH.. Grrr...
SHELL=/bin/bash
export SHELL

VIRGINS ?= ${HERE}/virgins
INSTALL_DIR ?= $(HERE)/install
PREFIX ?= ${INSTALL_DIR}

# Determine the build platform.
BUILD_SYSNAME_Linux =linux
BUILD_SYSNAME_linux =linux
BUILD_SYSNAME_CYGWIN_NT =cygwin
BUILD_SYSNAME_MINGW32_NT =mingw32
BUILD_SYSNAME_Darwin =darwin
BUILD_SYSNAME_darwin =darwin
BUILD_SYSNAME :=$(BUILD_SYSNAME_$(shell uname --sysname | cut -d'-' -f1))

# And machine (ie: i686, x86_64, or what ever)
BUILD_MACHINE :=$(BUILD_SYSNAME).$(shell uname -m)


#========================================
#

FTD2XX_LINUX_VERSION=0.4.16
FTD2XX_LINUX_DIR = ${HERE}/libftd2xx${FTD2XX_LINUX_VERSION}
FTD2XX_LINUX_64_DIR = ${HERE}/libftd2xx${FTD2XX_LINUX_VERSION}_x86_64


# Wiggler type interfaces are here.
OPENOCD_CONFIG_OPTIONS_printer_y += --enable-parport
OPENOCD_CONFIG_OPTIONS_printer_y += --enable-parport-giveio
OPENOCD_CONFIG_OPTIONS_printer_y += --enable-gw16012
OPENOCD_CONFIG_OPTIONS_printer_y += --enable-parport-giveio
OPENOCD_CONFIG_OPTIONS_printer_y += --enable-amtjtagaccel


# FTD2XX only supports these
OPENOCD_CONFIG_OPTIONS_ft2232_none =
OPENOCD_CONFIG_OPTIONS_ft2232_ftd2xx = --enable-ft2232_ftd2xx --enable-presto_ftd2xx --with-ftd2xx-win32-zipdir=${FTD2XX_WIN32_DIR}
OPENOCD_CONFIG_OPTIONS_ft2232_libftdi = --enable-ft2232_libftdi --enable-presto_libftdi

# LIBUSB - adds support for these.
OPENOCD_CONFIG_OPTIONS_libusb_y += --enable-jlink
OPENOCD_CONFIG_OPTIONS_libusb_y += --enable-usbprog
OPENOCD_CONFIG_OPTIONS_libusb_y += --enable-rlink
OPENOCD_CONFIG_OPTIONS_libusb_y += --enable-vsllink
OPENOCD_CONFIG_OPTIONS_libusb_y += --enable-usbprog

#========================================
# EXPLICITY NOT SUPPORTED INTERFACES
#
# zy1000.c
# This is a standalone hardware box
# it is *NOT* a cygwin thing.
#
# at91rm9200.c
# This is a uC/Linux (or linux) that
# runs uC/Linux and uses the gpio pins
# to bit-bang JTAG stuff.
#
# ep93xx.c
# Just like at91rm9200 - different chip.

#========================================
# Build OPENOCD config options...
# Always enable "dummy"
OPENOCD_CONFIG_OPTIONS += --enable-dummy
#
# Today: Cannot enable 'oocd_trace' on cygwin.
# it assumes/uses termios functions like
# cfmakeraw() which do not exist on cygwin.
#
#OPENOCD_CONFIG_OPTIONS += --enable-oocd-trace
#
# Add printer options..
OPENOCD_CONFIG_OPTIONS += ${OPENOCD_CONFIG_OPTIONS_printer_${X86_PRINTER_PORT}}

# Add the FTD2232 based options.
OPENOCD_CONFIG_OPTIONS += ${OPENOCD_CONFIG_OPTIONS_ft2232_${FT2232_DRIVER}}

# Add LIBUSB based options.
OPENOCD_CONFIG_OPTIONS += ${OPENOCD_CONFIG_OPTIONS_libusb_${USE_LIBUSB}}


#========================================
# WARNING... the file on the ftdi chip site has a SPACE in the filename GRRR!!!
# We fix that with the "-O" option to wget.
FTD2XX_WIN32_VERSION=2.04.14
FTD2XX_WIN32_DIR = ${HERE}/ftd2xx.win32

FTD2XX_ZIPFILE_LOCAL=${VIRGINS}/cdm.${FTD2XX_WIN32_VERSION}.zip
# Damn thing has a space in the F-ing filename!
FTD2XX_ZIPFILE_URL ="http://www.ftdichip.com/Drivers/CDM/CDM ${FTD2XX_WIN32_VERSION}.zip"


#========================================
# LIBCONFUSE - used by LIBFTDI..
LIBCONFUSE_VERSION=2.5
LIBCONFUSE_TARFILE_LOCAL=${VIRGINS}/confuse-${LIBCONFUSE_VERSION}.tar.gz
LIBCONFUSE_TARFILE_URL =http://www.intra2net.com/de/produkte/opensource/ftdi/TGZ/confuse-${LIBCONFUSE_VERSION}.tar.gz

LIBCONFUSE_SRC_DIR =${HERE}/confuse-${LIBCONFUSE_VERSION}
LIBCONFUSE_BUILD_DIR =${HERE}/confuse-build


#========================================
# LIBFTDI... (which uses libusb, and libconfuse)
LIBFTDI_VERSION=0.14
LIBFTDI_TARFILE_LOCAL = ${VIRGINS}/libftdi-${LIBFTDI_VERSION}.tar.gz
LIBFTDI_TARFILE_URL = http://www.intra2net.com/de/produkte/opensource/ftdi/TGZ/libftdi-${LIBFTDI_VERSION}.tar.gz

LIBFTDI_SRC_DIR = ${HERE}/libftdi-${LIBFTDI_VERSION}
LIBFTDI_BUILD_DIR= ${HERE}/libftdi-build

#========================================
# Finally - OpenOCD...
#
OPENOCD_BUILD_DIR =${HERE}/openocd-build
OPENOCD_SRC_DIR =${HERE}/openocd

#========================================
# END ..
#========================================

Loading…
Cancel
Save