Skip to content

Commit 73ae260

Browse files
authored
Merge pull request #155 from afh/afh/improve-downloads
Improve download related targets
2 parents eb45497 + 2aea01c commit 73ae260

File tree

1 file changed

+27
-42
lines changed

1 file changed

+27
-42
lines changed

Makefile

Lines changed: 27 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -57,6 +57,8 @@ LIBFFI_VERSION=3.4.2
5757
PRODUCTS=BZip2 XZ OpenSSL libFFI Python
5858
OS_LIST=macOS iOS tvOS watchOS
5959

60+
CURL_FLAGS=--fail --location --create-dirs --progress-bar
61+
6062
# macOS targets
6163
TARGETS-macOS=macosx.x86_64 macosx.arm64
6264
CFLAGS-macOS=-mmacosx-version-min=10.15
@@ -128,10 +130,10 @@ distclean: clean
128130
rm -rf downloads
129131

130132
downloads: \
131-
downloads/bzip2-$(BZIP2_VERSION).tgz \
132-
downloads/xz-$(XZ_VERSION).tgz \
133-
downloads/openssl-$(OPENSSL_VERSION).tgz \
134-
downloads/libffi-$(LIBFFI_VERSION).tgz \
133+
downloads/bzip2-$(BZIP2_VERSION).tar.gz \
134+
downloads/xz-$(XZ_VERSION).tar.gz \
135+
downloads/openssl-$(OPENSSL_VERSION).tar.gz \
136+
downloads/libffi-$(LIBFFI_VERSION).tar.gz \
135137
downloads/Python-$(PYTHON_VERSION).tgz
136138

137139
update-patch:
@@ -151,26 +153,20 @@ update-patch:
151153
###########################################################################
152154

153155
# Download original BZip2 source code archive.
154-
downloads/bzip2-$(BZIP2_VERSION).tgz:
156+
downloads/bzip2-$(BZIP2_VERSION).tar.gz:
155157
@echo ">>> Download BZip2 sources"
156-
mkdir -p downloads
157-
if [ ! -e downloads/bzip2-$(BZIP2_VERSION).tgz ]; then \
158-
curl --fail -L https://sourceware.org/pub/bzip2/bzip2-$(BZIP2_VERSION).tar.gz \
159-
-o downloads/bzip2-$(BZIP2_VERSION).tgz; \
160-
fi
158+
curl $(CURL_FLAGS) -o $@ \
159+
https://sourceware.org/pub/bzip2/$(notdir $@)
161160

162161
###########################################################################
163162
# Setup: XZ (LZMA)
164163
###########################################################################
165164

166165
# Download original XZ source code archive.
167-
downloads/xz-$(XZ_VERSION).tgz:
166+
downloads/xz-$(XZ_VERSION).tar.gz:
168167
@echo ">>> Download XZ sources"
169-
mkdir -p downloads
170-
if [ ! -e downloads/xz-$(XZ_VERSION).tgz ]; then \
171-
curl --fail -L http://tukaani.org/xz/xz-$(XZ_VERSION).tar.gz \
172-
-o downloads/xz-$(XZ_VERSION).tgz; \
173-
fi
168+
curl $(CURL_FLAGS) -o $@ \
169+
https://tukaani.org/xz/$(notdir $@)
174170

175171
###########################################################################
176172
# Setup: OpenSSL
@@ -179,30 +175,22 @@ downloads/xz-$(XZ_VERSION).tgz:
179175
###########################################################################
180176

181177
# Download original OpenSSL source code archive.
182-
downloads/openssl-$(OPENSSL_VERSION).tgz:
178+
downloads/openssl-$(OPENSSL_VERSION).tar.gz:
183179
@echo ">>> Download OpenSSL sources"
184-
mkdir -p downloads
185-
-if [ ! -e downloads/openssl-$(OPENSSL_VERSION).tgz ]; then \
186-
curl --fail -L http://openssl.org/source/openssl-$(OPENSSL_VERSION).tar.gz \
187-
-o downloads/openssl-$(OPENSSL_VERSION).tgz; \
188-
fi
189-
if [ ! -e downloads/openssl-$(OPENSSL_VERSION).tgz ]; then \
190-
curl --fail -L http://openssl.org/source/old/$(OPENSSL_VERSION_NUMBER)/openssl-$(OPENSSL_VERSION).tar.gz \
191-
-o downloads/openssl-$(OPENSSL_VERSION).tgz; \
192-
fi
180+
curl $(CURL_FLAGS) -o $@ \
181+
https://openssl.org/source/$(notdir $@) \
182+
|| curl $(CURL_FLAGS) -o $@ \
183+
https://openssl.org/source/old/$(notdir $@)
193184

194185
###########################################################################
195186
# Setup: libFFI
196187
###########################################################################
197188

198-
# Download original XZ source code archive.
199-
downloads/libffi-$(LIBFFI_VERSION).tgz:
189+
# Download original libFFI source code archive.
190+
downloads/libffi-$(LIBFFI_VERSION).tar.gz:
200191
@echo ">>> Download libFFI sources"
201-
mkdir -p downloads
202-
if [ ! -e downloads/libffi-$(LIBFFI_VERSION).tgz ]; then \
203-
curl --fail -L http://github.com/libffi/libffi/releases/download/v$(LIBFFI_VERSION)/libffi-$(LIBFFI_VERSION).tar.gz \
204-
-o downloads/libffi-$(LIBFFI_VERSION).tgz; \
205-
fi
192+
curl $(CURL_FLAGS) -o $@ \
193+
https://github.com/libffi/libffi/releases/download/v$(LIBFFI_VERSION)/$(notdir $@)
206194

207195
###########################################################################
208196
# Setup: Python
@@ -211,11 +199,8 @@ downloads/libffi-$(LIBFFI_VERSION).tgz:
211199
# Download original Python source code archive.
212200
downloads/Python-$(PYTHON_VERSION).tgz:
213201
@echo ">>> Download Python sources"
214-
mkdir -p downloads
215-
if [ ! -e downloads/Python-$(PYTHON_VERSION).tgz ]; then \
216-
curl --fail -L https://www.python.org/ftp/python/$(PYTHON_MICRO_VERSION)/Python-$(PYTHON_VERSION).tgz \
217-
-o downloads/Python-$(PYTHON_VERSION).tgz; \
218-
fi
202+
curl $(CURL_FLAGS) -o $@ \
203+
https://www.python.org/ftp/python/$(PYTHON_MICRO_VERSION)/$(notdir $@)
219204

220205
###########################################################################
221206
# Build for specified target (from $(TARGETS-*))
@@ -265,10 +250,10 @@ LDFLAGS-$(target)=-arch $$(ARCH-$(target)) -isysroot=$$(SDK_ROOT-$(target))
265250
BZIP2_DIR-$(target)=build/$(os)/bzip2-$(BZIP2_VERSION)-$(target)
266251
BZIP2_LIB-$(target)=$$(BZIP2_DIR-$(target))/_install/lib/libbz2.a
267252

268-
$$(BZIP2_DIR-$(target))/Makefile: downloads/bzip2-$(BZIP2_VERSION).tgz
253+
$$(BZIP2_DIR-$(target))/Makefile: downloads/bzip2-$(BZIP2_VERSION).tar.gz
269254
@echo ">>> Unpack BZip2 sources for $(target)"
270255
mkdir -p $$(BZIP2_DIR-$(target))
271-
tar zxf downloads/bzip2-$(BZIP2_VERSION).tgz --strip-components 1 -C $$(BZIP2_DIR-$(target))
256+
tar zxf $$^ --strip-components 1 -C $$(BZIP2_DIR-$(target))
272257
# Touch the makefile to ensure that Make identifies it as up to date.
273258
touch $$(BZIP2_DIR-$(target))/Makefile
274259

@@ -315,10 +300,10 @@ OPENSSL_DIR-$(target)=build/$(os)/openssl-$(OPENSSL_VERSION)-$(target)
315300
OPENSSL_SSL_LIB-$(target)=$$(OPENSSL_DIR-$(target))/_install/lib/libssl.a
316301
OPENSSL_CRYPTO_LIB-$(target)=$$(OPENSSL_DIR-$(target))/_install/lib/libcrypto.a
317302

318-
$$(OPENSSL_DIR-$(target))/is_configured: downloads/openssl-$(OPENSSL_VERSION).tgz
303+
$$(OPENSSL_DIR-$(target))/is_configured: downloads/openssl-$(OPENSSL_VERSION).tar.gz
319304
@echo ">>> Unpack and configure OpenSSL sources for $(target)"
320305
mkdir -p $$(OPENSSL_DIR-$(target))
321-
tar zxf downloads/openssl-$(OPENSSL_VERSION).tgz --strip-components 1 -C $$(OPENSSL_DIR-$(target))
306+
tar zxf $$^ --strip-components 1 -C $$(OPENSSL_DIR-$(target))
322307

323308
ifeq ($$(findstring simulator,$$(SDK-$(target))),)
324309
# Tweak ui_openssl.c

0 commit comments

Comments
 (0)