@@ -333,7 +333,7 @@ MD5SUM_FILE := md5.sum
333333#
334334.PHONY : source-tarball elf-le-build elf-be-build elf-le elf-be \
335335 windows ide openocd-win \
336- openocd openocd-tar openocd-build openocd-install openocd-configure openocd-bootstrap
336+ openocd-linux
337337
338338BUILD_DEPS += \
339339 $O/.stamp_source_tarball \
@@ -744,16 +744,26 @@ openocd-linux: $O/$(OOCD_DIR_LINUX)$(TAR_EXT)
744744DIRS += $(OOCD_BUILD_DIR_LINUX )
745745
746746
747- # Bootstrap is common to Linux and Windows.
748- $(OOCD_SRC_DIR ) /configure :
749- cd $(OOCD_SRC_DIR ) && ./bootstrap
747+ # Git submodules are common to Linux and Windows. Note, that this is not a
748+ # standard approach - typically one should call openocd/bootstrap script that
749+ # will run autoconf and git sumbodules. But CentOS 6 doesn't have a required
750+ # version of autoconf, hence it cannot run bootstrap.
751+ $(OOCD_SRC_DIR ) /git2cl :
752+ cd $(OOCD_SRC_DIR ) && $(GIT ) submodule init
753+ cd $(OOCD_SRC_DIR ) && $(GIT ) submodule update
750754
751755
752756# Configure OpenOCD
753- $(OOCD_BUILD_DIR_LINUX ) /Makefile : $(OOCD_SRC_DIR ) /configure \
754- | $(OOCD_BUILD_DIR_LINUX)
755- cd $(OOCD_BUILD_DIR_LINUX) && $(OOCD_SRC_DIR)/configure \
757+ $(OOCD_BUILD_DIR_LINUX ) /Makefile : | $(OOCD_SRC_DIR ) /git2cl
758+ $(OOCD_BUILD_DIR_LINUX ) /Makefile : $(BUILD_DIR ) /libusb_linux_install/lib/libusb-1.0.a
759+ $(OOCD_BUILD_DIR_LINUX ) /Makefile : | $(OOCD_BUILD_DIR_LINUX )
760+
761+ $(OOCD_BUILD_DIR_LINUX ) /Makefile :
762+ cd $(OOCD_BUILD_DIR_LINUX ) && \
763+ PKG_CONFIG_PATH=$(abspath $(BUILD_DIR ) /libusb_linux_install) /lib/pkgconfig \
764+ $(OOCD_SRC_DIR ) /configure \
756765 --enable-ftdi --disable-werror \
766+ PKG_CONFIG=pkg-config \
757767 --prefix=$(abspath $O/$(OOCD_DIR_LINUX ) )
758768
759769
@@ -792,36 +802,52 @@ DIRS += $(OOCD_BUILD_DIR_WIN)
792802#
793803# Libusb for Windows
794804#
805+ $(BUILD_DIR ) /libusb-$(LIBUSB_VERSION ) .tar.bz2 : | $(BUILD_DIR )
806+
795807$(BUILD_DIR ) /libusb-$(LIBUSB_VERSION ) .tar.bz2 :
796808 $(WGET ) $(WGETFLAGS ) -O $@ \
797809 ' http://downloads.sourceforge.net/project/libusb/libusb-1.0/libusb-$(LIBUSB_VERSION)/libusb-$(LIBUSB_VERSION).tar.bz2?r=&use_mirror=kent'
798810
799811
800- $(BUILD_DIR ) /libusb_src : $(BUILD_DIR ) /libusb-$(LIBUSB_VERSION ) .tar.bz2
801- tar -C $(BUILD_DIR ) -xaf $< --transform=' s/libusb-$(LIBUSB_VERSION)/libusb_src/'
812+ $(BUILD_DIR ) /libusb_linux_src : $(BUILD_DIR ) /libusb-$(LIBUSB_VERSION ) .tar.bz2
813+ tar -C $(BUILD_DIR ) -xaf $< --transform=' s/libusb-$(LIBUSB_VERSION)/libusb_linux_src/'
814+
815+
816+ .PHONY : libusb-linux-install
817+ libusb-linux-install : $(BUILD_DIR ) /libusb_linux_install/lib/libusb-1.0.a
818+ $(BUILD_DIR ) /libusb_linux_install/lib/libusb-1.0.a : $(BUILD_DIR ) /libusb_linux_src
819+ cd $< && \
820+ ./configure --disable-shared --enable-static \
821+ --prefix=$(abspath $(BUILD_DIR ) /libusb_linux_install)
822+ $(MAKE ) -C $< -j1
823+ $(MAKE ) -C $< install
824+
825+
826+ $(BUILD_DIR ) /libusb_win_src : $(BUILD_DIR ) /libusb-$(LIBUSB_VERSION ) .tar.bz2
827+ tar -C $(BUILD_DIR ) -xaf $< --transform=' s/libusb-$(LIBUSB_VERSION)/libusb_win_src/'
802828
803829
804830# It looks like that libusb Makefile is not parallel-friendly, it fails with error
805831# mv: cannot stat `.deps/libusb_1_0_la-core.Tpo': No such file or directory
806832# in parallel build, therefore we have to force sequential build on it.
807- .PHONY : libusb-install
808- libusb-install : $(BUILD_DIR ) /libusb_install /lib/libusb-1.0.a
809- $(BUILD_DIR ) /libusb_install /lib/libusb-1.0.a : $(BUILD_DIR ) /libusb_src
833+ .PHONY : libusb-win- install
834+ libusb-win- install : $(BUILD_DIR ) /libusb_win_install /lib/libusb-1.0.a
835+ $(BUILD_DIR ) /libusb_win_install /lib/libusb-1.0.a : $(BUILD_DIR ) /libusb_win_src
810836 cd $< && \
811837 ./configure --host=$(WINDOWS_TRIPLET ) --disable-shared --enable-static \
812- --prefix=$(abspath $(BUILD_DIR ) /libusb_install )
838+ --prefix=$(abspath $(BUILD_DIR ) /libusb_win_install )
813839 $(MAKE ) -C $< -j1
814840 $(MAKE ) -C $< install
815841
816842
817843# Configure OpenOCD for Windows.
818- $(OOCD_BUILD_DIR_WIN ) /Makefile : $(OOCD_SRC_DIR ) /configure
819- $(OOCD_BUILD_DIR_WIN ) /Makefile : $(BUILD_DIR ) /libusb_install /lib/libusb-1.0.a
844+ $(OOCD_BUILD_DIR_WIN ) /Makefile : | $(OOCD_SRC_DIR ) /git2cl
845+ $(OOCD_BUILD_DIR_WIN ) /Makefile : $(BUILD_DIR ) /libusb_win_install /lib/libusb-1.0.a
820846$(OOCD_BUILD_DIR_WIN ) /Makefile : | $(OOCD_BUILD_DIR_WIN )
821847
822848$(OOCD_BUILD_DIR_WIN ) /Makefile :
823849 cd $(OOCD_BUILD_DIR_WIN ) && \
824- PKG_CONFIG_PATH=$(abspath $(BUILD_DIR ) /libusb_install ) /lib/pkgconfig \
850+ PKG_CONFIG_PATH=$(abspath $(BUILD_DIR ) /libusb_win_install ) /lib/pkgconfig \
825851 $(OOCD_SRC_DIR ) /configure \
826852 --enable-ftdi --disable-werror \
827853 --disable-shared --enable-static \
0 commit comments