diff options
author | Igor Pashev <igor.pashev@nexenta.com> | 2012-10-26 14:01:07 +0400 |
---|---|---|
committer | Igor Pashev <igor.pashev@nexenta.com> | 2012-10-26 14:01:07 +0400 |
commit | f690aa540467c3a4133a4b437b94804189a7f4c4 (patch) | |
tree | cd393459e1f0abc5c75b0e3394dffb6cd55d38b6 | |
parent | b629cab4cd4a62743a4531b58175c0dd7dda712e (diff) | |
download | cibs-f690aa540467c3a4133a4b437b94804189a7f4c4.tar.gz |
copy.mk: copy sources into build dir
-rw-r--r-- | README.md | 6 | ||||
-rw-r--r-- | rules/common.mk | 3 | ||||
-rw-r--r-- | rules/copy.mk | 42 |
3 files changed, 51 insertions, 0 deletions
@@ -102,3 +102,9 @@ Makefile should define two variables: For example see "examples/symlinks". +## copy.mk + +If this module is included, entire source tree will be copied +into all requested building directories. This is useful for +packages that do not support building out of source tree, +such as zlib or openssl. diff --git a/rules/common.mk b/rules/common.mk index 38dc39a..a10e41c 100644 --- a/rules/common.mk +++ b/rules/common.mk @@ -40,9 +40,12 @@ mach := $(shell uname -p) mach32 := mach64 := amd64 +variants := + define add-variant destdir.$1 = $(workdir)/proto/$1 builddir.$1 = $(workdir)/build/$1 +variants += $1 endef workdir := $(CURDIR)/work diff --git a/rules/copy.mk b/rules/copy.mk new file mode 100644 index 0000000..3ec574d --- /dev/null +++ b/rules/copy.mk @@ -0,0 +1,42 @@ +# +# 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. +# + +ifeq (,$(__copy_mk)) + +include /usr/share/cibs/rules/common.mk + +pre-configure-stamp: copy-stamp + +.SECONDEXPANSION: +copy-stamp: $$(addprefix copy-,$$(addsuffix -stamp,$$(variants) $$(variants))) +copy-%-stamp: patch-stamp unpack-stamp + echo $* + [ -n "$(builddir.$*)" ] + [ -d "$(builddir.$*)" ] || mkdir -p "$(builddir.$*)" + cp -r -p $(sourcedir)/* $(builddir.$*)/ + touch $@ + +__copy_mk := included + +endif + |