aboutsummaryrefslogtreecommitdiff
path: root/rules/archive.mk
diff options
context:
space:
mode:
authorIgor Pashev <pashev.igor@gmail.com>2012-09-13 23:53:04 +0400
committerIgor Pashev <pashev.igor@gmail.com>2012-09-13 23:53:04 +0400
commite45104d1c2e38e411a56a8083339eabc60bb3f44 (patch)
treebd7b9fed7bd4ef0b723f8bd5ef21f2e2778cd3d8 /rules/archive.mk
downloadcibs-e45104d1c2e38e411a56a8083339eabc60bb3f44.tar.gz
Initial commit: can build c-ares
Diffstat (limited to 'rules/archive.mk')
-rw-r--r--rules/archive.mk64
1 files changed, 64 insertions, 0 deletions
diff --git a/rules/archive.mk b/rules/archive.mk
new file mode 100644
index 0000000..82d46ab
--- /dev/null
+++ b/rules/archive.mk
@@ -0,0 +1,64 @@
+#
+# CDDL HEADER START
+#
+# The contents of this file are subject to the terms of the
+# Common Development and Distribution License (the "License").
+# You may not use this file except in compliance with the License.
+#
+# You can obtain a copy of the license
+# at http://www.opensource.org/licenses/CDDL-1.0
+# See the License for the specific language governing permissions
+# and limitations under the License.
+#
+# When distributing Covered Code, include this CDDL HEADER in each file.
+# If applicable, add the following below this CDDL HEADER, with the
+# fields enclosed by brackets "[]" replaced with your own identifying
+# information: Portions Copyright [yyyy] [name of copyright owner]
+#
+# CDDL HEADER END
+#
+#
+# Copyright (C) 2012, Nexenta Systems, Inc. All rights reserved.
+#
+
+# include guard
+ifeq (,$(__archive_mk))
+
+.SECONDEXPANSION:
+
+archive-validator := /usr/share/cibs/scripts/validate-archive
+validate-%-stamp: download-%-stamp
+ if [ -n "$(checksum_$*)" ]; then \
+ $(archive-validator) $* $(checksum_$*) ; \
+ elif [ -n "$(checksum)" ]; then \
+ $(archive-validator) $* $(checksum) ; \
+ else \
+ echo "** ERROR: No checksum given" >&2; false ; \
+ fi
+ touch $@
+
+validate-stamp: $$(addprefix validate-,$$(addsuffix -stamp,$$(archives) $$(archive)))
+ touch $@
+validate:: validate-stamp
+
+
+archive-downloader := /usr/share/cibs/scripts/download-archive
+download-%-stamp:
+ [ -f "$*" ] || $(archive-downloader) "$*" $(download_$*) $(download)
+ touch $@
+
+download-stamp: $$(addprefix download-,$$(addsuffix -stamp,$$(archives) $$(archive)))
+ touch $@
+download:: download-stamp
+
+
+archive-unpacker := /usr/share/cibs/scripts/unpack-archive
+unpack-%-stamp: validate-%-stamp
+ $(archive-unpacker) $* $(sourcedir_$*) $(sourcedir)
+ touch $@
+
+unpack-stamp: $$(addprefix unpack-,$$(addsuffix -stamp,$$(archives) $$(archive)))
+
+__archive_mk := included
+endif
+