diff options
Diffstat (limited to 'packages/package.mk')
-rw-r--r-- | packages/package.mk | 64 |
1 files changed, 64 insertions, 0 deletions
diff --git a/packages/package.mk b/packages/package.mk new file mode 100644 index 0000000..95f5f34 --- /dev/null +++ b/packages/package.mk @@ -0,0 +1,64 @@ +# Copyright (c) 2020 Intel and/or its affiliates. +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at: +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +define h1 + @echo "--- $(1)" +endef + +define download + +############################################################################## +# Download +############################################################################## +ifeq ($$(call $1_download_cmds),) +define $1_download_cmds + @if [ -e $(DL_CACHE_DIR)/$($1_tarball) ] ; \ + then cp $(DL_CACHE_DIR)/$($1_tarball) $$@ ; \ + else \ + echo "Downloading $($1_url)" ; \ + curl -o $$@ -LO $($1_url) ; \ + fi +endef +endif + +downloads/$($1_tarball): + mkdir -p downloads + $$(call h1,"download $($1_tarball) ") + $$(call $1_download_cmds) + @rm -f $(B)/.$1.download.ok + +ifeq ($$(call $1_checksum_cmds),) +define $1_checksum_cmds + $$(call h1,"validating $1 $($1_version) checksum") + @SUM=$$(shell openssl md5 $$< | cut -f 2 -d " " -) ; \ + ([ "$$$${SUM}" = "$($1_tarball_md5sum)" ] || \ + ( echo "========================================================" && \ + echo "Bad Checksum!" && \ + echo "Expected: $($1_tarball_md5sum)" && \ + echo "Calculated: $$$${SUM}" && \ + echo "Please remove $$< and retry" && \ + echo "========================================================" && \ + false )) +endef +endif + +$(B)/.$1.download.ok: downloads/$($1_tarball) + @mkdir -p $(B) + $$(call $1_checksum_cmds) + @touch $$@ + +.PHONY: $1-dl +$1-dl: $(B)/.$1.download.ok + + +ALL_TARGETS += $1-dl +endef |