]> git.llucax.com Git - software/makeit.git/commitdiff
Generalize function find_headers (now find_files)
authorLeandro Lucarella <llucarella@integratech.com.ar>
Mon, 21 Sep 2009 14:24:01 +0000 (11:24 -0300)
committerLeandro Lucarella <llucarella@integratech.com.ar>
Thu, 24 Sep 2009 13:38:29 +0000 (10:38 -0300)
Make find_headers function more generic. Rename it to find_files and allow
omitting the second argument, defaulting to the third argument.

Lib.mak
lib1/Build.mak
lib2/Build.mak
subproj/Build.mak

diff --git a/Lib.mak b/Lib.mak
index f84d288f07241c295c5ece8012e01f57f3f49570..1e09736185c8529c69a25bb85c2c2a44245a5ebb 100644 (file)
--- a/Lib.mak
+++ b/Lib.mak
@@ -94,11 +94,14 @@ eq = $(if $(subst $1,,$2),,$1)
 find_objects = $(patsubst $T/%.$1,$O/%.o,$(shell \
                find $(if $2,$2,$C) -name '*.$1'))
 
-# Find sources files and get the corresponding object names
-# The first argument should be the sources extension ("c" or "cpp" typically)
-# It expects the variable $T and $O to be defined as commented previously in
-# this file.
-find_headers = $(patsubst $C/%.$1,$2/%.$1,$(shell find $C -name '*.$1'))
+# Find files and get the their file names relative to another directory.  The
+# first argument should be the files suffix (".h" or ".cpp" for example).  The
+# second argument is a directory rewrite, the matched files will be rewriten to
+# be in the directory specified in this argument (it defaults to the third
+# argument if omitted).  The third argument is where to search for the files
+# ($C if omitted).
+find_files = $(patsubst $(if $3,$3,$C)/%$1,$(if $2,$2,$(if $3,$3,$C))/%$1, \
+               $(shell find $(if $3,$3,$C) -name '*$1'))
 
 # Abbreviate a file name. Cut the leading part of a file if it match to the $T
 # directory, so it can be displayed as if it were a relative directory. Take
index 298a88ecb1fd92a5183fc8a3ef3f0f2d6022d678..356f07b047ba0208462361fd68cb967419bc0da2 100644 (file)
@@ -13,5 +13,5 @@ install += $I/lib/liblib1.so
 
 # Install the library's headers
 # XXX: we can't use += here, call will be resolved lazily if we do
-install := $(install) $(call find_headers,h,$I/include/makeit/lib1)
+install := $(install) $(call find_files,.h,$I/include/makeit/lib1)
 
index 4f201de2da5243f4ddc707588e7e82ea3e002554..893f8f720116ac914e950c3272af77013cf1c1af 100644 (file)
@@ -13,5 +13,5 @@ install += $I/lib/liblib2.so
 
 # Install the library's headers
 # XXX: we can't use += here, call will be resolved lazily if we do
-install := $(install) $(call find_headers,h,$I/include/makeit/lib2)
+install := $(install) $(call find_files,.h,$I/include/makeit/lib2)
 
index 2d3f1209ca7f6169036cebaca54414b940b49b87..f9de53f6ea64ba5ecb688509186a471638f5e603 100644 (file)
@@ -33,7 +33,7 @@ otherproj: $L/libotherproj.so
 $I/include/otherproj/%.h: $C/%.h
        $(call install_file)
 # XXX: we can't use += here, call will be resolved lazily if we do
-install := $(install) $(call find_headers,h,$I/include/otherproj)
+install := $(install) $(call find_files,.h,$I/include/otherproj)
 
 # Create the include directory symbolic link and pkg-config flags file
 setup_include_dir__ := $(call symlink_include_dir,otherproj)