diff options
Diffstat (limited to 'builtfiles.dd.m4')
-rw-r--r-- | builtfiles.dd.m4 | 19 |
1 files changed, 13 insertions, 6 deletions
diff --git a/builtfiles.dd.m4 b/builtfiles.dd.m4 index bbbf713..70d747a 100644 --- a/builtfiles.dd.m4 +++ b/builtfiles.dd.m4 @@ -1,7 +1,7 @@ - divert(-1) +divert(-1) changequote([,]) -define(iterate_files, [esyscmd([ +define(match_extension, [esyscmd([ for f in $(command ls $1/*.$2 2> /dev/null); do echo -n "$f "; done])]) @@ -10,13 +10,20 @@ define(substitue, [esyscmd([ echo -n "${f/$2/$3} "; done])]) -define(LIBS, [iterate_files([build], [so]) iterate_files([build], [a])]) -define(HEADERS, [iterate_files([build], [h])]) +ifdef([LIBDIR], [ + define([LIBS]) + define([LIBS_SOURCE], [match_extension([build], [so]) match_extension([build], [a])]) + define([LIBS_TARGET], [substitue(LIBS_SOURCE, BIN, LIBDIR)])]) + +ifdef([INCLUDEDIR], [ + define([HEADERS]) + define([HEADERS_SOURCE], [match_extension([build], [h])]) + define([HEADERS_TARGET], [substitue(HEADERS_SOURCE, BIN, INCLUDEDIR)])]) divert(0) ninja_dyndep_version = 1 -build libs | substitue(LIBS, BIN, LIBDIR): dyndep | LIBS +ifdef([LIBS], [build libs | LIBS_TARGET: dyndep | LIBS_SOURCE]) +ifdef([HEADERS], [build headers | HEADERS_TARGET: dyndep | HEADERS_SOURCE]) -build includes | substitue(HEADERS, BIN, INCLUDEDIR): dyndep | HEADERS |