--- /dev/null
+#!/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";
+}
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) \
@$(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