################################################################################ # # openocd # ################################################################################ OPENOCD_VERSION = 0.12.0 OPENOCD_SOURCE = openocd-$(OPENOCD_VERSION).tar.bz2 OPENOCD_SITE = http://sourceforge.net/projects/openocd/files/openocd/$(OPENOCD_VERSION) OPENOCD_LICENSE = \ BSD-1-clause, \ BSD-2-clause, \ BSD-2-Clause-Views, \ BSD-3-clause, \ BSD-Source-Code, \ GFDL-1.2-no-invariants-or-later (docs), \ GPL-2.0+ with eCos-exception-2.0 (code), \ GPL-3.0+ (stand-alone code), \ MIT OPENOCD_LICENSE_FILES = \ COPYING \ LICENSES/license-rules.txt \ LICENSES/exceptions/eCos-exception-2.0 \ LICENSES/preferred/BSD-1-Clause \ LICENSES/preferred/BSD-2-Clause \ LICENSES/preferred/BSD-2-Clause-Views \ LICENSES/preferred/BSD-3-Clause \ LICENSES/preferred/BSD-Source-Code \ LICENSES/preferred/GFDL-1.2 \ LICENSES/preferred/gfdl-1.2.texi.readme \ LICENSES/preferred/GPL-2.0 \ LICENSES/preferred/MIT \ LICENSES/stand-alone/GPL-3.0 # 0001-configure-enable-build-on-uclinux.patch patches configure.ac OPENOCD_AUTORECONF = YES OPENOCD_CONF_ENV = CFLAGS="$(TARGET_CFLAGS) -std=gnu99" OPENOCD_CONF_OPTS = \ --oldincludedir=$(STAGING_DIR)/usr/include \ --includedir=$(STAGING_DIR)/usr/include \ --disable-doxygen-html \ --disable-internal-jimtcl \ --disable-shared \ --enable-dummy \ --disable-werror # Rely on the Config.in options of each individual adapter selecting # the dependencies they need. OPENOCD_DEPENDENCIES = \ host-pkgconf \ jimtcl \ $(if $(BR2_PACKAGE_LIBFTDI1),libftdi1) \ $(if $(BR2_PACKAGE_LIBUSB),libusb) \ $(if $(BR2_PACKAGE_LIBUSB_COMPAT),libusb-compat) \ $(if $(BR2_PACKAGE_LIBHID),libhid) \ $(if $(BR2_PACKAGE_HIDAPI),hidapi) \ $(if $(BR2_PACKAGE_LIBGPIOD),libgpiod) # Adapters OPENOCD_CONF_OPTS += \ $(if $(BR2_PACKAGE_OPENOCD_FTDI),--enable-ftdi,--disable-ftdi) \ $(if $(BR2_PACKAGE_OPENOCD_STLINK),--enable-stlink,--disable-stlink) \ $(if $(BR2_PACKAGE_OPENOCD_TI_ICDI),--enable-ti-icdi,--disable-ti-icdi) \ $(if $(BR2_PACKAGE_OPENOCD_ULINK),--enable-ulink,--disable-ulink) \ $(if $(BR2_PACKAGE_OPENOCD_UBLASTER2),--enable-usb-blaster-2,--disable-usb-blaster-2) \ $(if $(BR2_PACKAGE_OPENOCD_JLINK),--enable-jlink,--disable-jlink) \ $(if $(BR2_PACKAGE_OPENOCD_OSDBM),--enable-osbdm,--disable-osbdm) \ $(if $(BR2_PACKAGE_OPENOCD_OPENDOUS),--enable-opendous,--disable-opendous) \ $(if $(BR2_PACKAGE_OPENOCD_AICE),--enable-aice,--disable-aice) \ $(if $(BR2_PACKAGE_OPENOCD_VSLLINK),--enable-vsllink,--disable-vsllink) \ $(if $(BR2_PACKAGE_OPENOCD_USBPROG),--enable-usbprog,--disable-usbprog) \ $(if $(BR2_PACKAGE_OPENOCD_RLINK),--enable-rlink,--disable-rlink) \ $(if $(BR2_PACKAGE_OPENOCD_XDS110),--enable-xds110,--disable-xds110) \ $(if $(BR2_PACKAGE_OPENOCD_ARMEW),--enable-armjtagew,--disable-armjtagew) \ $(if $(BR2_PACKAGE_OPENOCD_CMSIS_DAP),--enable-cmsis-dap,--disable-cmsis-dap) \ $(if $(BR2_PACKAGE_OPENOCD_PARPORT),--enable-parport,--disable-parport) \ $(if $(BR2_PACKAGE_OPENOCD_VPI),--enable-jtag_vpi,--disable-jtag_vpi) \ $(if $(BR2_PACKAGE_OPENOCD_UBLASTER),--enable-usb-blaster,--disable-usb-blaster) \ $(if $(BR2_PACKAGE_OPENOCD_AMTJT),--enable-amtjtagaccel,--disable-amjtagaccel) \ $(if $(BR2_PACKAGE_OPENOCD_EP93XX),--enable-ep93xx,--disable-ep93xx) \ $(if $(BR2_PACKAGE_OPENOCD_AT91RM),--enable-at91rm9200,--disable-at91rm9200) \ $(if $(BR2_PACKAGE_OPENOCD_BCM2835),--enable-bcm2835gpio,--disable-bcm2835gpio) \ $(if $(BR2_PACKAGE_OPENOCD_GW16012),--enable-gw16012,--disable-gw16012) \ $(if $(BR2_PACKAGE_OPENOCD_PRESTO),--enable-presto,--disable-presto) \ $(if $(BR2_PACKAGE_OPENOCD_OPENJTAG),--enable-openjtag,--disable-openjtag) \ $(if $(BR2_PACKAGE_OPENOCD_BUSPIRATE),--enable-buspirate,--disable-buspirate) \ $(if $(BR2_PACKAGE_OPENOCD_SYSFS),--enable-sysfsgpio,--disable-sysfsgpio) # Enable all configuration options for host build. # # Note that deprecated options have been removed. CMSIS_DAP needs # hidapi (currently not included in buildroot) and zy1000 stuff fails # to build, so they've been removed too. # HOST_OPENOCD_CONF_OPTS = \ --enable-ftdi \ --enable-stlink \ --enable-ti-icdi \ --enable-ulink \ --enable-usb-blaster-2 \ --enable-jlink \ --enable-osbdm \ --enable-opendous \ --enable-aice \ --enable-vsllink \ --enable-usbprog \ --enable-rlink \ --enable-armjtagew \ --enable-parport \ --enable-jtag_vpi \ --enable-usb-blaster \ --enable-amtjtagaccel \ --enable-gw16012 \ --enable-presto \ --enable-openjtag \ --enable-buspirate \ --enable-sysfsgpio \ --oldincludedir=$(HOST_DIR)/include \ --includedir=$(HOST_DIR)/include \ --disable-doxygen-html \ --disable-internal-jimtcl \ --disable-shared \ --enable-dummy \ --disable-werror HOST_OPENOCD_DEPENDENCIES = host-jimtcl host-libftdi host-libusb host-libusb-compat # Avoid documentation rebuild. On PowerPC64(le), we patch the # configure script. Due to this, the version.texi files gets # regenerated, and then since it has a newer date than openocd.info, # openocd build system rebuilds the documentation. Unfortunately, this # documentation rebuild fails on old machines. We work around this by # faking the date of the generated version.texi file, to make the # build system believe the documentation doesn't need to be # regenerated. define OPENOCD_FIX_VERSION_TEXI touch -r $(@D)/doc/openocd.info $(@D)/doc/version.texi endef OPENOCD_POST_BUILD_HOOKS += OPENOCD_FIX_VERSION_TEXI HOST_OPENOCD_POST_BUILD_HOOKS += OPENOCD_FIX_VERSION_TEXI $(eval $(autotools-package)) $(eval $(host-autotools-package))