r15247: Get rid of patsubst macro as it is not supported by some makes and replace
authorJelmer Vernooij <jelmer@samba.org>
Tue, 25 Apr 2006 16:31:12 +0000 (16:31 +0000)
committerGerald (Jerry) Carter <jerry@samba.org>
Wed, 10 Oct 2007 19:04:24 +0000 (14:04 -0500)
it with a perl script.
This should fix the build on tru64

source/librpc/idl-deps.pl [new file with mode: 0755]
source/main.mk

diff --git a/source/librpc/idl-deps.pl b/source/librpc/idl-deps.pl
new file mode 100755 (executable)
index 0000000..9865a41
--- /dev/null
@@ -0,0 +1,21 @@
+#!/usr/bin/perl
+use strict;
+
+my %vars = ();
+
+foreach(@ARGV) {
+       push (@{$vars{IDL_FILES}}, $_);
+       my $b = $_; $b =~ s/.*\/(.*?).idl$/\1/;
+       push (@{$vars{IDL_HEADER_FILES}}, "librpc/gen_ndr/$b.h");
+       push (@{$vars{IDL_NDR_HEADER_FILES}}, "librpc/gen_ndr/ndr_$b.h");
+       push (@{$vars{IDL_NDR_PARSE_FILES}}, "librpc/gen_ndr/ndr_$b.c");
+       push (@{$vars{IDL_NDR_CLIENT_C_FILES}}, "librpc/gen_ndr/ndr_$b\_c.c");
+       push (@{$vars{IDL_NDR_CLIENT_HEADER_FILES}}, "librpc/gen_ndr/ndr_$b\_c.h");
+       push (@{$vars{IDL_NDR_SERVER_C_FILES}}, "librpc/gen_ndr/ndr_$b\_s.c");
+       push (@{$vars{IDL_NDR_EJS_C_FILES}}, "librpc/gen_ndr/ndr_$b\_ejs.c");
+       push (@{$vars{IDL_NDR_EJS_H_FILES}}, "librpc/gen_ndr/ndr_$b\_ejs.h");
+}
+
+foreach (keys %vars) {
+       print "$_ = " . join (' ', @{$vars{$_}}) . "\n";
+}
index 96fae004a4fb8915f2298d609394911dca79f4c4..a8860e37567383bbdf0f60025888ed40ce67966e 100644 (file)
@@ -188,15 +188,7 @@ installpidl: pidl/Makefile
 uninstallpidl: pidl/Makefile
        $(MAKE) -C pidl uninstall
 
-IDL_FILES = $(wildcard librpc/idl/*.idl)
-IDL_HEADER_FILES = $(patsubst librpc/idl/%.idl,librpc/gen_ndr/%.h,$(IDL_FILES))
-IDL_NDR_HEADER_FILES = $(patsubst librpc/idl/%.idl,librpc/gen_ndr/ndr_%.h,$(IDL_FILES))
-IDL_NDR_PARSE_C_FILES = $(patsubst librpc/idl/%.idl,librpc/gen_ndr/ndr_%.c,$(IDL_FILES))
-IDL_NDR_CLIENT_C_FILES = $(patsubst librpc/idl/%.idl,librpc/gen_ndr/ndr_%_c.c,$(IDL_FILES))
-IDL_NDR_CLIENT_HEADER_FILES = $(patsubst librpc/idl/%.idl,librpc/gen_ndr/ndr_%_c.h,$(IDL_FILES))
-IDL_NDR_SERVER_C_FILES = $(patsubst librpc/idl/%.idl,librpc/gen_ndr/ndr_%_s.c,$(IDL_FILES))
-IDL_NDR_EJS_C_FILES = $(patsubst librpc/idl/%.idl,librpc/gen_ndr/ndr_%_ejs.c,$(IDL_FILES))
-IDL_NDR_EJS_H_FILES = $(patsubst librpc/idl/%.idl,librpc/gen_ndr/ndr_%_ejs.h,$(IDL_FILES))
+include librpc/idl-deps.pl librpc/idl/*.idl|
 
 $(IDL_HEADER_FILES) $(IDL_NDR_HEADER_FILES) $(IDL_NDR_PARSE_C_FILES) \
        $(IDL_NDR_CLIENT_C_FILES) $(IDL_NDR_CLIENT_H_FILES) \
@@ -319,7 +311,7 @@ unused_macros:
        @$(CC) -M -MG -MP -MT $(<:.c=.o) `$(PERL) $(srcdir)/script/cflags.pl $@` $(CFLAGS) $< -o $@
 
 .c.hd:
-       @echo "Generating dependencies for $<"
+       @echo "Generating host-compiler dependencies for $<"
        @$(CC) -M -MG -MP -MT $(<:.c=.ho) `$(PERL) $(srcdir)/script/cflags.pl $@` $(CFLAGS) $< -o $@
 
 include/includes.d: include/includes.h