11##############################################################################
22# Copyright (C) 2014-2015 Synopsys Inc.
33#
4- # Contributor Anton Kolesov <
[email protected] >
5- #
64# This program is free software; you can redistribute it and/or modify it
75# under the terms of the GNU General Public License as published by the Free
86# Software Foundation; either version 3 of the License, or (at your option)
1513#
1614# You should have received a copy of the GNU General Public License along
1715# with this program. If not, see <http://www.gnu.org/licenses/>.
18- # This is a script to create prebuilt packages of GNU Toolchain
1916#
2017##############################################################################
2118
2623#
2724# 1. Checkout toolchain directory to desired branch. Create tags if needed.
2825#
29- # 2. Run "make -f Makefile.release RELEASE=<release>". If you do not want
30- # build-all.sh to checkout directories, then do "touch
31- # ../release_output/.stamp_checked_out
26+ # 2. Run "make -f Makefile.release RELEASE=<release> toolchain". If you do not
27+ # want build-all.sh to checkout directories, then do "touch
28+ # ../release_output/.stamp_checked_out before running makefile. Note that
29+ # "toolchain" target will build only toolchain prebuilts, nothing else, but it
30+ # also doesn't have other prerequisites. Target "all" will also build IDE and
31+ # OpenOCD, however this also requires additional preparations.
3232#
3333
3434BUILDALLFLAGS := --disable-werror --strip --rel-rpaths --no-auto-pull \
@@ -38,35 +38,48 @@ BUILDALLFLAGS := --disable-werror --strip --rel-rpaths --no-auto-pull \
3838# Output artifacts
3939#
4040O := ../release_output
41- OS_NAME := linux
42- SOURCE_TARBALL_CONTENTS :=$(addprefix ../,binutils cgen gcc gdb newlib toolchain uClibc)
43- SOURCE_TARBALL_TGZ := $O/arc_gnu_$(RELEASE)_sources.tar.gz
44- # Baremetal toolchain
45- ELF_LE_NAME := arc_gnu_$(RELEASE)_prebuilt_elf32_le_$(OS_NAME)_install
46- ELF_BE_NAME := arc_gnu_$(RELEASE)_prebuilt_elf32_be_$(OS_NAME)_install
47- ELF_LE_DIR := arc-elf32
48- ELF_BE_DIR := arceb-elf32
49- ELF_LE_TGZ := $(ELF_LE_NAME).tar.gz
50- ELF_BE_TGZ := $(ELF_BE_NAME).tar.gz
51- # Linux toolchain
52- LINUX_LE_700_NAME := arc_gnu_$(RELEASE)_prebuilt_uclibc_le_arc700_$(OS_NAME)_install
53- LINUX_LE_HS_NAME := arc_gnu_$(RELEASE)_prebuilt_uclibc_le_archs_$(OS_NAME)_install
54- LINUX_BE_700_NAME := arc_gnu_$(RELEASE)_prebuilt_uclibc_be_arc700_$(OS_NAME)_install
55- LINUX_BE_HS_NAME := arc_gnu_$(RELEASE)_prebuilt_uclibc_be_archs_$(OS_NAME)_install
56- LINUX_LE_700_DIR := arc700-linux
57- LINUX_BE_700_DIR := arceb700-linux
58- LINUX_LE_HS_DIR := archs-linux
59- LINUX_BE_HS_DIR := arcebhs-linux
60- LINUX_LE_700_TGZ := $(LINUX_LE_700_NAME).tar.gz
61- LINUX_BE_700_TGZ := $(LINUX_BE_700_NAME).tar.gz
62- LINUX_LE_HS_TGZ := $(LINUX_LE_HS_NAME).tar.gz
63- LINUX_BE_HS_TGZ := $(LINUX_BE_HS_NAME).tar.gz
64- # Baremetal for Windows
65- WIN_ELF_NAME := arc_gnu_$(RELEASE)_prebuilt_elf32_windows_install
66- WIN_ELF_LE_DIR := arc_gnu_$(RELEASE)_prebuilt_elf32_windows_install
67- WIN_ELF_TGZ := $(WIN_ELF_NAME).tar.gz
68- # Big endian toolchain is installed to same directory as little endian
69- #WIN_ELF_BE_DIR := $O/arceb-elf32_windows
41+ # Use -a when invoking tar, then we can easily change to .tar.xz if we want.
42+ TAR_EXT := .tar.gz
43+
44+ # Toolchain: source tarball
45+ TOOLS_SOURCE_CONTENTS := $(addprefix ../,binutils cgen gcc gdb newlib toolchain uClibc)
46+ TOOLS_SOURCE_DIR := $O/arc_gnu_$(RELEASE)_sources
47+
48+ # Toolchain: baremetal for Linux hosts
49+ TOOLS_ELFLE_DIR_LINUX := arc_gnu_$(RELEASE)_prebuilt_elf32_le_linux_install
50+ TOOLS_ELFBE_DIR_LINUX := arc_gnu_$(RELEASE)_prebuilt_elf32_be_linux_install
51+
52+ # Toolchain: baremetal for Windows hosts
53+ TOOLS_ELFLE_DIR_WIN := arc_gnu_$(RELEASE)_prebuilt_elf32_le_win_install
54+ TOOLS_ELFBE_DIR_WIN := arc_gnu_$(RELEASE)_prebuilt_elf32_be_win_install
55+
56+ # Toolchain: linux
57+ TOOLS_LINUXLE_700_DIR_LINUX := arc_gnu_$(RELEASE)_prebuilt_uclibc_le_arc700_linux_install
58+ TOOLS_LINUXBE_700_DIR_LINUX := arc_gnu_$(RELEASE)_prebuilt_uclibc_be_arc700_linux_install
59+ TOOLS_LINUXLE_HS_DIR_LINUX := arc_gnu_$(RELEASE)_prebuilt_uclibc_le_archs_linux_install
60+ TOOLS_LINUXBE_HS_DIR_LINUX := arc_gnu_$(RELEASE)_prebuilt_uclibc_be_archs_linux_install
61+
62+ # IDE: vanilla Eclipse variables
63+ ECLIPSE_VERSION := luna-SR2
64+ ECLIPSE_VANILLA_ZIP_WIN := eclipse-cpp-$(ECLIPSE_VERSION)-win32.zip
65+ ECLIPSE_VANILLA_TGZ_LINUX := eclipse-cpp-$(ECLIPSE_VERSION)-linux-gtk-x86_64.tar.gz
66+ # Coma separated list
67+ ECLIPSE_REPO := http://download.eclipse.org/releases/luna
68+ # Coma separated list
69+ ECLIPSE_PREREQ := org.eclipse.tm.terminal.serial,org.eclipse.tm.terminal.view
70+ ECLIPSE_DL_LINK_BASE := http://www.eclipse.org/downloads/download.php?file=/technology/epp/downloads/release/luna/SR2
71+ # IDE: output related variables
72+ IDE_INSTALL_LINUX := arc_gnu_$(RELEASE)_ide_linux_install
73+ IDE_TGZ_LINUX := $(IDE_INSTALL_LINUX).tar.gz
74+ IDE_PLUGINS_DIR := arc_gnu_$(RELEASE)_ide_plugins
75+ IDE_PLUGINS_ZIP := $(IDE_PLUGINS_DIR).zip
76+
77+ # OpenOCD
78+ OOCD_DIR_WIN := arc_gnu_$(RELEASE)_openocd_win_install
79+ OOCD_DIR_LINUX := arc_gnu_$(RELEASE)_openocd_linux_install
80+ # Should be created and checked out manually before running this Makefile.
81+ OOCD_SRC_DIR_LINUX := ../openocd
82+
7083# md5sum
7184MD5SUM_FILE := md5.sum
7285
@@ -77,19 +90,32 @@ endif
7790#
7891# Human friendly aliases
7992#
80- .PHONY: checkout source-tarball elf-le-build elf-be-build elf-le elf-be all
93+ .PHONY: checkout source-tarball elf-le-build elf-be-build elf-le elf-be all \
94+ windows ide openocd-win \
95+ openocd openocd-tar openocd-build openocd-install openocd-configure openocd-bootstrap \
96+ toolchain
8197
8298all: $O/$(MD5SUM_FILE)
8399 @echo "MD5 sums:"
84100 @cat $<
85101
102+ toolchain: \
103+ $O/.stamp_source_tarball \
104+ $O/.stamp_elf_le_tarball $O/.stamp_elf_be_tarball \
105+ $O/.stamp_linux_le_700_tarball $O/.stamp_linux_be_700_tarball \
106+ $O/.stamp_linux_le_hs_tarball $O/.stamp_linux_be_hs_tarball \
107+ $O/.stamp_elf_le_windows_tarball $O/.stamp_elf_be_windows_tarball
108+
86109$O/$(MD5SUM_FILE): \
87110 $O/.stamp_source_tarball \
88111 $O/.stamp_elf_le_tarball $O/.stamp_elf_be_tarball \
89112 $O/.stamp_linux_le_700_tarball $O/.stamp_linux_be_700_tarball \
90113 $O/.stamp_linux_le_hs_tarball $O/.stamp_linux_be_hs_tarball \
91- $O/.stamp_elf_windows_tarball
92- cd $O && md5sum *linux_install.tar.gz *sources.tar.gz *.zip > $@
114+ $O/.stamp_elf_le_windows_tarball $O/.stamp_elf_be_windows_tarball \
115+ $O/$(OOCD_DIR_WIN).zip $O/$(OOCD_DIR_WIN).tar.gz \
116+ $O/.stamp_ide_linux_tar $O/$(IDE_PLUGINS_ZIP) \
117+ $O/$(OOCD_DIR_LINUX).tar.gz
118+ cd $O && md5sum *linux_install.tar.gz *sources.tar.gz *win_install.zip *plugins.zip > $@
93119
94120
95121checkout: $O/.stamp_checked_out
@@ -104,6 +130,11 @@ elf-le: $O/.stamp_elf_le_tarball
104130
105131elf-be: $O/.stamp_elf_be_tarball
106132
133+ windows: $O/.stamp_elf_le_windows_tarball $O/.stamp_elf_be_windows_tarball
134+
135+ ide: $O/.stamp_ide_linux_tar $O/$(IDE_PLUGINS_ZIP)
136+
137+
107138#
108139# Real targets
109140#
@@ -119,90 +150,170 @@ $O/.stamp_checked_out: | $O
119150# Create source tarball
120151.NOTPARALLEL: $O/.stamp_source_tarball
121152$O/.stamp_source_tarball: $O/.stamp_checked_out
122- tar --exclude-vcs -c -z -f $(SOURCE_TARBALL_TGZ) --exclude=$O --transform="s|^|arc_gnu_$(RELEASE)_sources/|" $(SOURCE_TARBALL_CONTENTS)
153+ tar --exclude-vcs -c -z -f $(TOOLS_SOURCE_DIR)$(TAR_EXT) --exclude=$O \
154+ --transform="s|^|arc_gnu_$(RELEASE)_sources/|" $(TOOLS_SOURCE_CONTENTS)
123155 touch $@
124156
125157$O/.stamp_elf_le_built: $O/.stamp_checked_out
126- ./build-all.sh $(BUILDALLFLAGS) --install-dir $O/$(ELF_LE_DIR ) \
158+ ./build-all.sh $(BUILDALLFLAGS) --install-dir $O/$(TOOLS_ELFLE_DIR_LINUX ) \
127159 --no-uclibc --release-name $(RELEASE)
128160 touch $@
129161
130162$O/.stamp_elf_be_built: $O/.stamp_checked_out
131- ./build-all.sh $(BUILDALLFLAGS) --install-dir $O/$(ELF_BE_DIR ) \
163+ ./build-all.sh $(BUILDALLFLAGS) --install-dir $O/$(TOOLS_ELFBE_DIR_LINUX ) \
132164 --no-uclibc --release-name $(RELEASE) --big-endian
133165 touch $@
134166
135167$O/.stamp_elf_le_tarball: $O/.stamp_elf_le_built
136- cd $O && tar czf $(ELF_LE_TGZ) --transform='s#$(ELF_LE_DIR)#$(ELF_LE_NAME)#' $(ELF_LE_DIR )/
168+ cd $O && tar czf $(TOOLS_ELFLE_DIR_LINUX)$(TAR_EXT) $(TOOLS_ELFLE_DIR_LINUX )/
137169 touch $@
138170
139171$O/.stamp_elf_be_tarball: $O/.stamp_elf_be_built
140- cd $O && tar czf $(ELF_BE_TGZ) --transform='s#$(ELF_BE_DIR)#$(ELF_BE_NAME)#' $(ELF_BE_DIR )/
172+ cd $O && tar czf $(TOOLS_ELFBE_DIR_LINUX)$(TAR_EXT) $(TOOLS_ELFBE_DIR_LINUX )/
141173 touch $@
142174
143175$O/.stamp_linux_le_700_built: $O/.stamp_checked_out
144- ./build-all.sh $(BUILDALLFLAGS) --install-dir $O/$(LINUX_LE_700_DIR ) \
176+ ./build-all.sh $(BUILDALLFLAGS) --install-dir $O/$(TOOLS_LINUXLE_700_DIR_LINUX ) \
145177 --no-elf32 --release-name $(RELEASE) --cpu arc700
146178 touch $@
147179
148180$O/.stamp_linux_le_hs_built: $O/.stamp_checked_out
149- ./build-all.sh $(BUILDALLFLAGS) --install-dir $O/$(LINUX_LE_HS_DIR ) \
181+ ./build-all.sh $(BUILDALLFLAGS) --install-dir $O/$(TOOLS_LINUXLE_HS_DIR_LINUX ) \
150182 --no-elf32 --release-name $(RELEASE) --cpu archs
151183 touch $@
152184
153185$O/.stamp_linux_be_700_built: $O/.stamp_checked_out
154- ./build-all.sh $(BUILDALLFLAGS) --install-dir $O/$(LINUX_BE_700_DIR ) \
186+ ./build-all.sh $(BUILDALLFLAGS) --install-dir $O/$(TOOLS_LINUXBE_700_DIR_LINUX ) \
155187 --no-elf32 --release-name $(RELEASE) --big-endian --cpu arc700
156188 touch $@
157189
158190$O/.stamp_linux_be_hs_built: $O/.stamp_checked_out
159- ./build-all.sh $(BUILDALLFLAGS) --install-dir $O/$(LINUX_BE_HS_DIR ) \
191+ ./build-all.sh $(BUILDALLFLAGS) --install-dir $O/$(TOOLS_LINUXBE_HS_DIR_LINUX ) \
160192 --no-elf32 --release-name $(RELEASE) --big-endian --cpu archs
161193 touch $@
162194
163195$O/.stamp_linux_le_700_tarball: $O/.stamp_linux_le_700_built
164- cd $O && tar czf $(LINUX_LE_700_TGZ) --transform='s#$(LINUX_LE_700_DIR)#$(LINUX_LE_700_NAME)#' $(LINUX_LE_700_DIR)/
196+ cd $O && tar czf $(TOOLS_LINUXLE_700_DIR_LINUX)$(TAR_EXT) \
197+ $(TOOLS_LINUXLE_700_DIR_LINUX)/
165198 touch $@
166199
167200$O/.stamp_linux_le_hs_tarball: $O/.stamp_linux_le_hs_built
168- cd $O && tar czf $(LINUX_LE_HS_TGZ) --transform='s#$(LINUX_LE_HS_DIR)#$(LINUX_LE_HS_NAME)#' $(LINUX_LE_HS_DIR)/
201+ cd $O && tar czf $(TOOLS_LINUXLE_HS_DIR_LINUX)$(TAR_EXT) \
202+ $(TOOLS_LINUXLE_HS_DIR_LINUX)/
169203 touch $@
170204
171205$O/.stamp_linux_be_700_tarball: $O/.stamp_linux_be_700_built
172- cd $O && tar czf $(LINUX_BE_700_TGZ) --transform='s#$(LINUX_BE_700_DIR)#$(LINUX_BE_700_NAME)#' $(LINUX_BE_700_DIR)/
206+ cd $O && tar czf $(TOOLS_LINUXBE_700_DIR_LINUX)$(TAR_EXT) \
207+ $(TOOLS_LINUXBE_700_DIR_LINUX)/
173208 touch $@
174209
175210$O/.stamp_linux_be_hs_tarball: $O/.stamp_linux_be_hs_built
176- cd $O && tar czf $(LINUX_BE_HS_TGZ) --transform='s#$(LINUX_BE_HS_DIR)#$(LINUX_BE_HS_NAME)#' $(LINUX_BE_HS_DIR)/
211+ cd $O && tar czf $(TOOLS_LINUXBE_HS_DIR_LINUX)$(TAR_EXT) \
212+ $(TOOLS_LINUXBE_HS_DIR_LINUX)/
177213 touch $@
178214
179215#
180216# Windows build
181217#
182- build-elf32-windows.sh: windows-installer/build-elf32_windows.patch build-elf32.sh $O/.stamp_source_tarball
183- patch -p1 -o $@ < $<
184- chmod u+x $@
218+ $O/.stamp_elf_le_windows_built: $O/.stamp_checked_out $O/.stamp_elf_le_built
219+ PATH=$(shell readlink -e $O/$(TOOLS_ELFLE_DIR_LINUX)/bin):$$PATH \
220+ ./build-all.sh $(BUILDALLFLAGS) \
221+ --install-dir $O/$(TOOLS_ELFLE_DIR_WIN) --no-uclibc --no-sim \
222+ --release-name $(RELEASE) --host i686-w64-mingw32
223+ touch $@
224+
225+ $O/.stamp_elf_be_windows_built: $O/.stamp_checked_out $O/.stamp_elf_be_built
226+ # Install toolchain in the same dir as little endian
227+ PATH=$(shell readlink -e $O/$(TOOLS_ELFBE_DIR_LINUX))/bin:$$PATH \
228+ ./build-all.sh $(BUILDALLFLAGS) \
229+ --install-dir $O/$(TOOLS_ELFBE_DIR_WIN) --no-uclibc --big-endian --no-sim \
230+ --release-name $(RELEASE) --host i686-w64-mingw32
231+ touch $@
185232
186- build-all-windows.sh: build-all.sh | build-elf32-windows.sh $O/.stamp_source_tarball
187- sed -e 's/build-elf32.sh/build-elf32-windows.sh/' <$< >$@
188- chmod +x $@
233+ $O/.stamp_elf_le_windows_tarball: $O/.stamp_elf_le_windows_built
234+ cd $O && tar czf $(TOOLS_ELFLE_DIR_WIN)$(TAR_EXT) $(TOOLS_ELFLE_DIR_WIN)/
235+ cd $O && zip -q -r $(TOOLS_ELFLE_DIR_WIN).zip $(TOOLS_ELFLE_DIR_WIN)/
236+ touch $@
189237
190- $O/.stamp_elf_le_windows_built : $O/.stamp_checked_out build-all-windows.sh $O/.stamp_elf_le_built
191- PATH=$(shell readlink -e $O/$(ELF_LE_DIR)/bin):$$PATH ./build-all-windows.sh $(BUILDALLFLAGS) \
192- --install-dir $O/$(WIN_ELF_LE_DIR) --no-uclibc --no-sim --release-name $(RELEASE)
238+ $O/.stamp_elf_be_windows_tarball : $O/.stamp_elf_be_windows_built
239+ cd $O && tar czf $(TOOLS_ELFBE_DIR_WIN)$(TAR_EXT) $(TOOLS_ELFBE_DIR_WIN)/
240+ cd $O && zip -q -r $(TOOLS_ELFBE_DIR_WIN).zip $(TOOLS_ELFBE_DIR_WIN)/
193241 touch $@
194242
195- $O/.stamp_elf_be_windows_built: $O/.stamp_checked_out build-all-windows.sh $O/.stamp_elf_be_built
196- # We install toolchain in the same dir as little endian
197- PATH=$(shell readlink -e $O/$(ELF_BE_DIR))/bin:$$PATH ./build-all-windows.sh $(BUILDALLFLAGS) \
198- --install-dir $O/$(WIN_ELF_LE_DIR) --no-uclibc --big-endian --no-sim --release-name $(RELEASE)
243+ #
244+ # IDE related targets
245+ #
246+ $O/$(IDE_PLUGINS_ZIP): $O/$(IDE_PLUGINS_DIR)
247+ cd $O/$(IDE_PLUGINS_DIR) && zip -q -r ../$(IDE_PLUGINS_ZIP) *
248+
249+ $O/$(ECLIPSE_VANILLA_TGZ_LINUX):
250+ wget -nv -O $@ '$(ECLIPSE_DL_LINK_BASE)/$(ECLIPSE_VANILLA_TGZ_LINUX)&r=1'
251+
252+ $O/$(ECLIPSE_VANILLA_ZIP_WIN):
253+ wget -nv -O $@ '$(ECLIPSE_DL_LINK_BASE)/$(ECLIPSE_VANILLA_ZIP_WIN)&r=1'
254+
255+ $O/.stamp_ide_linux_eclipse: $O/$(ECLIPSE_VANILLA_TGZ_LINUX)
256+ mkdir -p $O/$(IDE_INSTALL_LINUX)
257+ tar xaf $< -C $O/$(IDE_INSTALL_LINUX)
258+ $O/$(IDE_INSTALL_LINUX)/eclipse/eclipse \
259+ -application org.eclipse.equinox.p2.director \
260+ -noSplash \
261+ -repository $(ECLIPSE_REPO),file://$(realpath $O/$(IDE_PLUGINS_DIR)) \
262+ -installIU $(ECLIPSE_PREREQ),com.arc.cdt.feature.feature.group
199263 touch $@
200264
201- $O/.stamp_elf_windows_tarball: $O/.stamp_elf_le_windows_built $O/.stamp_elf_be_windows_built
202- cd $O && tar czf $(WIN_ELF_TGZ) --transform='s#$(WIN_ELF_LE_DIR)#$(WIN_ELF_NAME)#' $(WIN_ELF_LE_DIR)/
203- cd $O && zip -q -r $(WIN_ELF_NAME).zip $(WIN_ELF_LE_DIR)/
265+ $O/.stamp_ide_linux_tar: \
266+ $O/$(OOCD_DIR_LINUX)/bin/openocd \
267+ $O/.stamp_ide_linux_eclipse \
268+ $O/.stamp_elf_be_built $O/.stamp_elf_le_built \
269+ $O/.stamp_linux_be_hs_built $O/.stamp_linux_le_hs_built
270+ cp -ad $O/$(TOOLS_ELFLE_DIR_LINUX)/* $O/$(IDE_INSTALL_LINUX)
271+ cp -ad $O/$(TOOLS_ELFBE_DIR_LINUX)/* $O/$(IDE_INSTALL_LINUX)
272+ cp -ad $O/$(TOOLS_LINUXLE_HS_DIR_LINUX)/* $O/$(IDE_INSTALL_LINUX)
273+ cp -ad $O/$(TOOLS_LINUXBE_HS_DIR_LINUX)/* $O/$(IDE_INSTALL_LINUX)
274+ mkdir $O/$(IDE_INSTALL_LINUX)/eclipse/jre
275+ tar xaf $O/jre-*-linux-x64.tar.gz -C $O/$(IDE_INSTALL_LINUX)/eclipse/jre \
276+ --strip-components=1
277+ cp -ad $O/$(OOCD_DIR_LINUX)/* $O/$(IDE_INSTALL_LINUX)
278+ tar caf $O/$(IDE_TGZ_LINUX) -C $O $(IDE_INSTALL_LINUX)
204279 touch $@
205280
281+ #
282+ # OpenOCD
283+ #
284+ openocd: $(OOCD_SRC_DIR_LINUX)/src/openocd
285+ openocd-bootstrap: $(OOCD_SRC_DIR_LINUX)/configure
286+ openocd-configure: $(OOCD_SRC_DIR_LINUX)/Makefile
287+ openocd-build: $(OOCD_SRC_DIR_LINUX)/src/openocd
288+ openocd-install: $(OOCD_DIR_LINUX)/bin/openocd
289+ openocd-tar: $O/$(OOCD_DIR_LINUX).tar.gz
290+ openocd: openocd-tar
291+
292+ $(OOCD_SRC_DIR_LINUX)/configure:
293+ cd $(OOCD_SRC_DIR_LINUX) && ./bootstrap
294+
295+ $(OOCD_SRC_DIR_LINUX)/Makefile: $(OOCD_SRC_DIR_LINUX)/configure
296+ cd $(OOCD_SRC_DIR_LINUX) && ./configure --enable-ftdi --disable-werror \
297+ --prefix=$(abspath $O/$(OOCD_DIR_LINUX))
298+
299+ $(OOCD_SRC_DIR_LINUX)/src/openocd: $(OOCD_SRC_DIR_LINUX)/Makefile
300+ $(MAKE) -C $(OOCD_SRC_DIR_LINUX) all pdf
301+
302+ $O/$(OOCD_DIR_LINUX)/bin/openocd: $(OOCD_SRC_DIR_LINUX)/src/openocd
303+ $(MAKE) -C $(OOCD_SRC_DIR_LINUX) install install-pdf
304+
305+ $O/$(OOCD_DIR_LINUX).tar.gz: $O/$(OOCD_DIR_LINUX)/bin/openocd
306+ tar -C $O -caf $O/$(OOCD_DIR_LINUX).tar.gz $(OOCD_DIR_LINUX)/
307+
308+ # Make OpenOCD for Windows zip file.
309+ openocd-win: $O/$(OOCD_DIR_WIN).zip $O/$(OOCD_DIR_WIN).tar.gz
310+
311+ $O/$(OOCD_DIR_WIN).zip: $O/$(OOCD_DIR_WIN)
312+ cd $O && zip -q -r $(OOCD_DIR_WIN).zip $(OOCD_DIR_WIN)/
313+
314+ $O/$(OOCD_DIR_WIN).tar.gz: $O/$(OOCD_DIR_WIN)
315+ tar -C $O -caf $O/$(OOCD_DIR_WIN).tar.gz $(OOCD_DIR_WIN)/
316+
206317#
207318# Clean
208319#
0 commit comments