--- /dev/null
+#!/usr/bin/perl
+
+@ARGV == 2 or die "Usage: mergedeps <base> <update>";
+foreach $a (@ARGV) {
+ open F, "$a" or next;
+ $t = "";
+ while (<F>) {
+ $t .= $_;
+ if (! /\\$/) {
+ ($t =~ /^(.*):/) || die "Parse error at $t";
+ $rules{$1} = $t;
+ $t = "";
+ }
+ }
+ close F;
+}
+open(F,">" . $ARGV[0]) || die "Unable to write output file";
+foreach $a (sort keys %rules) {
+ print F $rules{$a};
+}
+close F;