summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xsource4/librpc/idl-deps.pl21
-rw-r--r--source4/main.mk12
2 files changed, 23 insertions, 10 deletions
diff --git a/source4/librpc/idl-deps.pl b/source4/librpc/idl-deps.pl
new file mode 100755
index 0000000000..9865a41283
--- /dev/null
+++ b/source4/librpc/idl-deps.pl
@@ -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";
+}
diff --git a/source4/main.mk b/source4/main.mk
index 96fae004a4..a8860e3756 100644
--- a/source4/main.mk
+++ b/source4/main.mk
@@ -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