[Buildroot] [PATCH 1 of 2 v4-resend] Makefile.package.in: add utility functions find*clauses and notfirstword

Thomas De Schampheleire patrickdepinguin+buildroot at gmail.com
Fri May 4 19:17:10 UTC 2012


On Fri, Mar 23, 2012 at 3:53 PM, Thomas De Schampheleire
<patrickdepinguin+buildroot at gmail.com> wrote:
> On Wed, Mar 14, 2012 at 5:45 PM, Thomas De Schampheleire
> <patrickdepinguin+buildroot at gmail.com> wrote:
>> This patch adds a few utility functions to Makefile.package.in.
>>
>> Functions finddirclauses and findfileclauses help in building a find command
>> that skips a set of directories and performs operations on a set of files.
>> This pattern can for example be used to keep certain files or directories from
>> being stripped, or to remove certain files from a package installation.
>>
>> The notfirstword function is the inverse of the 'firstword' function in make:
>> it returns all but the first word.
>>
>> Signed-off-by: Thomas De Schampheleire <thomas.de.schampheleire at gmail.com>
>> Acked-by: Arnout Vandecappelle (Essensium/Mind) <arnout at mind.be>
>>
>> ---
>> v4: simplify find*clauses even further. Thanks, Arnout!
>> v3: use -path instead of -wholename; fix a bug in finddirclauses. Thanks, Cam.
>> v2: integrate _cont variants in main find*clauses functions. Thanks, Arnout.
>>
>>  package/Makefile.package.in |  10 ++++++++++
>>  1 files changed, 10 insertions(+), 0 deletions(-)
>>
>> diff --git a/package/Makefile.package.in b/package/Makefile.package.in
>> --- a/package/Makefile.package.in
>> +++ b/package/Makefile.package.in
>> @@ -87,6 +87,16 @@ MESSAGE = echo "$(TERM_BOLD)>>> $($(PKG)
>>  TERM_BOLD := $(shell tput smso)
>>  TERM_RESET := $(shell tput rmso)
>>
>> +# Utility functions for 'find'
>> +# findfileclauses(filelist) => -name 'X' -o -name 'Y'
>> +findfileclauses = $(call notfirstword,$(patsubst %,-o -name '%',$(1)))
>> +# finddirclauses(base, dirlist) => -path 'base/dirX' -o -path 'base/dirY'
>> +finddirclauses = $(call notfirstword,$(patsubst %,-o -path '$(1)/%',$(2)))
>> +
>> +# Miscellaneous utility functions
>> +# notfirstword(wordlist): returns all but the first word in wordlist
>> +notfirstword = $(wordlist 2,$(words $(1)),$(1))
>> +
>>  # Download method commands
>>  WGET:=$(call qstrip,$(BR2_WGET)) $(QUIET)
>>  SVN:=$(call qstrip,$(BR2_SVN))
>
> bump

bump again


More information about the buildroot mailing list