office-gobmx/Makefile.fetch
Matúš Kukan 3051f8be18 create its own target for download..
..which is created (touched) *after* successful download of all tarballs.
fetch.log is not a good target because we touch it along the way.

Note: This is necessary only because we write pointless? date into fetch.log.
Otherwise 'download' could be phony target, thanks to the rule being empty
if we don't need to download anything.

Change-Id: I2380ab189833e03758ddd9f9bf54be38c8fa1dbe
2012-11-29 10:15:51 +01:00

198 lines
8.2 KiB
Text

# -*- Mode: makefile-gmake; tab-width: 4; indent-tabs-mode: t -*-
#
# This file is part of the LibreOffice project.
#
# This Source Code Form is subject to the terms of the Mozilla Public
# License, v. 2.0. If a copy of the MPL was not distributed with this
# file, You can obtain one at http://mozilla.org/MPL/2.0/.
#
fetch_LOGFILE := $(TARFILE_LOCATION)/fetch.log
ifneq (,$(WGET))
define fetch_Download__wget_command
&& $(WGET) --progress=dot:mega -Q 0 -P "." -l 0 -nd -nH -N $1/$2 2>&1 | tee -a $(fetch_LOGFILE) && [ $$PIPESTATUS -eq 0 ]
endef
else
define fetch_Download__wget_command
&& echo fetching $2 && $(CURL) -O $1/$2 2>&1 | tee -a $(fetch_LOGFILE) && [ $$PIPESTATUS -eq 0 ]
endef
endif
ifneq (,$(MD5SUM))
define fetch_Download__checksum_command
&& SUM=`$(MD5SUM) $1 | sed "s/ .*//"` \
&& if test "$$SUM" != "$2"; then \
echo ERROR: expected checksum for $1 is $2 2>&1 | tee -a $(fetch_LOGFILE); \
false; \
fi
endef
else
fetch_Download__checksum_command :=
endif
# fetch__Download_item url tarball-name md5sum
define fetch__Download_item
$(if $(wildcard $(TARFILE_LOCATION)/$2),, \
cd $(TARFILE_LOCATION)/tmp \
$(call fetch_Download__wget_command,$1,$2) \
$(if $3,$(call fetch_Download__checksum_command,$2,$3)) \
&& mv $2 ../ \
)
endef
# fetch_Download_item url tarball-name no-sum?
define fetch_Download_item
$(call fetch__Download_item,$1,$2,$(if $3,,$(firstword $(subst -, ,$2))))
endef
# fetch_Download_item_special url variable-name
define fetch_Download_item_special
$(if $($(subst _TARBALL,_MD5SUM,$(2))),,$(error "fetch_Download_item_special: $2_MD5SUM can't be empty"))
$(call fetch__Download_item,$1,$($2),$($(subst _TARBALL,_MD5SUM,$(2))))
endef
fetch_BUILD_TYPE := $(sort $(BUILD_TYPE))
ifeq ($(CROSS_COMPILING),YES)
fetch_BUILD_TYPE := $(sort $(fetch_BUILD_TYPE) $(shell . $(SRCDIR)/bin/get_config_variables --build BUILD_TYPE && echo $$BUILD_TYPE))
endif
define fetch_Optional
$(if $(filter ALL,$(DO_FETCH_TARBALLS))$(filter $1,$(fetch_BUILD_TYPE)),$2)
endef
download: $(WORKDIR)/download
$(WORKDIR)/download: $(SRCDIR)/config_host.mk $(SRCDIR)/download.lst $(SRCDIR)/Makefile.fetch
@mkdir -p $(TARFILE_LOCATION)/tmp
@date >> $(fetch_LOGFILE)
$(foreach item, \
$(call fetch_Optional,CDR,CDR_TARBALL) \
$(call fetch_Optional,MSPUB,MSPUB_TARBALL) \
$(call fetch_Optional,VISIO,VISIO_TARBALL) \
,$(call fetch_Download_item_special,http://dev-www.libreoffice.org/src,$(item)))
$(foreach item, \
18f577b374d60b3c760a3a3350407632-STLport-4.5.tar.gz \
7376930b0d3f3d77a685d94c4a3acda8-STLport-4.5-0119.tar.gz \
c441926f3a552ed3e5b274b62e86af16-STLport-4.0.tar.gz \
4a660ce8466c9df01f19036435425c3a-glibc-2.1.3-stub.tar.gz \
$(call fetch_Optional,AFMS,$(AFMS_TARBALL)) \
$(call fetch_Optional,APACHE_COMMONS,$(APACHE_COMMONS_CODEC_TARBALL)) \
$(call fetch_Optional,APACHE_COMMONS,$(APACHE_COMMONS_HTTPCLIENT_TARBALL)) \
$(call fetch_Optional,APACHE_COMMONS,$(APACHE_COMMONS_LANG_TARBALL)) \
$(call fetch_Optional,APACHE_COMMONS,$(APACHE_COMMONS_LOGGING_TARBALL)) \
$(call fetch_Optional,BOOST,$(BOOST_TARBALL)) \
$(call fetch_Optional,BSH,$(BSH_TARBALL)) \
$(call fetch_Optional,CAIRO,$(CAIRO_TARBALL)) \
$(call fetch_Optional,CLUCENE,$(CLUCENE_TARBALL)) \
$(call fetch_Optional,CMIS,$(CMIS_TARBALL)) \
$(call fetch_Optional,CPPUNIT,$(CPPUNIT_TARBALL)) \
$(call fetch_Optional,CT2N,$(CT2N_TARBALL)) \
$(call fetch_Optional,CURL,$(CURL_TARBALL)) \
$(call fetch_Optional,EPM,$(EPM_TARBALL)) \
$(call fetch_Optional,EXPAT,$(EXPAT_TARBALL)) \
$(call fetch_Optional,MORE_FONTS,$(FONT_DEJAVU_TARBALL)) \
$(call fetch_Optional,MORE_FONTS,$(FONT_GENTIUM_TARBALL)) \
$(call fetch_Optional,MORE_FONTS,$(FONT_LIBERATION_NARROW_TARBALL)) \
$(call fetch_Optional,MORE_FONTS,$(FONT_LIBERATION_TARBALL)) \
$(call fetch_Optional,MORE_FONTS,$(FONT_LINLIBERTINEG_TARBALL)) \
$(call fetch_Optional,MORE_FONTS,$(FONT_PTSERIF_TARBALL)) \
$(call fetch_Optional,MORE_FONTS,$(FONT_OPENSANS_TARBALL)) \
$(call fetch_Optional,MORE_FONTS,$(FONT_SOURCESANS_TARBALL)) \
$(call fetch_Optional,MORE_FONTS,$(FONT_SOURCECODE_TARBALL)) \
$(call fetch_Optional,FONTCONFIG,$(FONTCONFIG_TARBALL)) \
$(call fetch_Optional,FREETYPE,$(FREETYPE_TARBALL)) \
$(GOOGLE_DOCS_EXTENSION_PACK) \
$(call fetch_Optional,GRAPHITE,$(GRAPHITE_TARBALL)) \
$(call fetch_Optional,HSQLDB,$(HSQLDB_TARBALL)) \
$(call fetch_Optional,HUNSPELL,$(HUNSPELL_TARBALL)) \
$(call fetch_Optional,HYPHEN,$(HYPHEN_TARBALL)) \
$(call fetch_Optional,ICU,$(ICU_TARBALL)) \
$(call fetch_Optional,ICU,$(ICU_DATA_SUBSET_ZIP)) \
$(call fetch_Optional,JFREEREPORT,$(JFREEREPORT_FLOW_ENGINE_TARBALL)) \
$(call fetch_Optional,JFREEREPORT,$(JFREEREPORT_FLUTE_TARBALL)) \
$(call fetch_Optional,JFREEREPORT,$(JFREEREPORT_LIBBASE_TARBALL)) \
$(call fetch_Optional,JFREEREPORT,$(JFREEREPORT_LIBFONTS_TARBALL)) \
$(call fetch_Optional,JFREEREPORT,$(JFREEREPORT_LIBFORMULA_TARBALL)) \
$(call fetch_Optional,JFREEREPORT,$(JFREEREPORT_LIBLAYOUT_TARBALL)) \
$(call fetch_Optional,JFREEREPORT,$(JFREEREPORT_LIBLOADER_TARBALL)) \
$(call fetch_Optional,JFREEREPORT,$(JFREEREPORT_LIBREPOSITORY_TARBALL)) \
$(call fetch_Optional,JFREEREPORT,$(JFREEREPORT_LIBSERIALIZER_TARBALL)) \
$(call fetch_Optional,JFREEREPORT,$(JFREEREPORT_LIBXML_TARBALL)) \
$(call fetch_Optional,JFREEREPORT,$(JFREEREPORT_SAC_TARBALL)) \
$(call fetch_Optional,JPEG,$(JPEG_TARBALL)) \
$(call fetch_Optional,LANGUAGETOOL,$(LANGUAGETOOL_TARBALL)) \
$(call fetch_Optional,LCMS2,$(LCMS2_TARBALL)) \
$(call fetch_Optional,LIBEXTTEXTCAT,$(LIBEXTTEXTCAT_TARBALL)) \
$(call fetch_Optional,LIBLANGTAG,$(LIBLANGTAG_TARBALL)) \
$(call fetch_Optional,LIBXML2,$(LIBXML_TARBALL)) \
$(LIBXMLSEC_TARBALL) \
$(call fetch_Optional,LIBXSLT,$(LIBXSLT_TARBALL)) \
$(call fetch_Optional,LPSOLVE,$(LPSOLVE_TARBALL)) \
$(call fetch_Optional,MDDS,$(MDDS_TARBALL)) \
$(call fetch_Optional,MOZ,$(MOZ_TARBALL)) \
$(call fetch_Optional,MYSQLCPPCONN,$(MYSQLCPPCONN_TARBALL)) \
$(call fetch_Optional,MYTHES,$(MYTHES_TARBALL)) \
$(call fetch_Optional,NEON,$(NEON_TARBALL)) \
$(call fetch_Optional,NSS,$(NSS_TARBALL)) \
$(call fetch_Optional,OPENLDAP,$(OPENLDAP_TARBALL)) \
$(call fetch_Optional,OPENSSL,$(OPENSSL_TARBALL)) \
$(call fetch_Optional,ORCUS,$(ORCUS_TARBALL)) \
$(call fetch_Optional,CAIRO,$(PIXMAN_TARBALL)) \
$(call fetch_Optional,LIBPNG,$(PNG_TARBALL)) \
$(call fetch_Optional,POSTGRESQL,$(POSTGRESQL_TARBALL)) \
$(call fetch_Optional,PYTHON,$(PYTHON_TARBALL)) \
$(call fetch_Optional,REDLAND,$(RAPTOR_TARBALL)) \
$(call fetch_Optional,REDLAND,$(RASQAL_TARBALL)) \
$(call fetch_Optional,REDLAND,$(REDLAND_TARBALL)) \
$(call fetch_Optional,RHINO,$(RHINO_TARBALL)) \
$(call fetch_Optional,RHINO,$(SWING_TARBALL)) \
$(call fetch_Optional,TOMCAT,$(TOMCAT_TARBALL)) \
$(call fetch_Optional,UCPP,$(UCPP_TARBALL)) \
$(call fetch_Optional,VIGRA,$(VIGRA_TARBALL)) \
$(call fetch_Optional,WPD,$(WPD_TARBALL)) \
$(call fetch_Optional,WPG,$(WPG_TARBALL)) \
$(call fetch_Optional,WPS,$(WPS_TARBALL)) \
$(call fetch_Optional,XPDF,$(XPDF_TARBALL)) \
$(call fetch_Optional,XSLTML,$(XSLTML_TARBALL)) \
$(call fetch_Optional,ZLIB,$(ZLIB_TARBALL)) \
,$(call fetch_Download_item,http://dev-www.libreoffice.org/src,$(item)))
$(foreach item, \
$(if $(filter WNT,$(OS)),$(DBGHELP_DLL)) \
$(call fetch_Optional,ODK,$(UNOWINREG_DLL)) \
,$(call fetch_Download_item,http://dev-www.libreoffice.org/extern,$(item)))
$(foreach item, \
$(BARCODE_EXTENSION_PACK) \
$(DIAGRAM_EXTENSION_PACK) \
$(HUNART_EXTENSION_PACK) \
$(NUMBERTEXT_EXTENSION_PACK) \
$(OOOBLOGGER_EXTENSION_PACK) \
$(OOOP_FONTS_PACK) \
$(OOOP_GALLERY_PACK) \
$(OOOP_SAMPLES_PACK) \
$(OOOP_TEMPLATES_PACK) \
$(SUNTEMPLATES_DE_PACK) \
$(SUNTEMPLATES_EN_US_PACK) \
$(SUNTEMPLATES_ES_PACK) \
$(SUNTEMPLATES_FR_PACK) \
$(SUNTEMPLATES_HU_PACK) \
$(SUNTEMPLATES_IT_PACK) \
$(TYPO_EXTENSION_PACK) \
$(VALIDATOR_EXTENSION_PACK) \
$(WATCH_WINDOW_EXTENSION_PACK) \
,$(call fetch_Download_item,http://ooo.itc.hu/oxygenoffice/download/libreoffice,$(item)))
$(foreach item, \
$(call fetch_Optional,MOZ,$(MOZ_ZIP_INC)) \
$(call fetch_Optional,MOZ,$(MOZ_ZIP_LIB)) \
$(call fetch_Optional,MOZ,$(MOZ_ZIP_RUNTIME)) \
,$(call fetch_Download_item,http://dev-www.libreoffice.org/mozilla,$(item),no-sum))
@mkdir -p $(dir $@) && touch $@
# vim: set noet sw=4 ts=4: