]> git.sur5r.net Git - openocd/commitdiff
Added another test build configuration
authorduane <duane@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Sat, 27 Dec 2008 23:23:06 +0000 (23:23 +0000)
committerduane <duane@b42882b7-edfa-0310-969c-e2dbd0fdcd60>
Sat, 27 Dec 2008 23:23:06 +0000 (23:23 +0000)
git-svn-id: svn://svn.berlios.de/openocd/trunk@1290 b42882b7-edfa-0310-969c-e2dbd0fdcd60

testing/build.test2/Makefile [new file with mode: 0755]
testing/build.test2/README.txt [new file with mode: 0755]
testing/build.test2/local.uses [new file with mode: 0755]

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