Add error checking to obj_xref.pl and add command line support for data
file locations.
diff --git a/Makefile.org b/Makefile.org
index 580a269..21d194e 100644
--- a/Makefile.org
+++ b/Makefile.org
@@ -438,7 +438,7 @@
 crypto/objects/obj_mac.h: crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num
 	$(PERL) crypto/objects/objects.pl crypto/objects/objects.txt crypto/objects/obj_mac.num crypto/objects/obj_mac.h
 crypto/objects/obj_xref.h: crypto/objects/objxref.pl crypto/objects/obj_xref.txt crypto/objects/obj_mac.num
-	$(PERL) crypto/objects/objxref.pl > crypto/objects/obj_xref.h
+	$(PERL) crypto/objects/objxref.pl crypto/objects/obj_mac.num crypto/objects/obj_xref.txt >crypto/objects/obj_xref.h
 
 apps/openssl-vms.cnf: apps/openssl.cnf
 	$(PERL) VMS/VMSify-conf.pl < apps/openssl.cnf > apps/openssl-vms.cnf
diff --git a/crypto/objects/Makefile b/crypto/objects/Makefile
index d7365e9..a8aedbd 100644
--- a/crypto/objects/Makefile
+++ b/crypto/objects/Makefile
@@ -47,7 +47,7 @@
 	@sleep 1; touch obj_mac.h; sleep 1
 
 obj_xref.h: objxref.pl obj_xref.txt obj_mac.num
-	$(PERL) objxref.pl > obj_xref.h
+	$(PERL) objxref.pl obj_mac.num obj_xref.txt > obj_xref.h
 	@sleep 1; touch obj_xref.h; sleep 1
 
 files:
diff --git a/crypto/objects/objxref.pl b/crypto/objects/objxref.pl
index 4a42924..3fa5840 100644
--- a/crypto/objects/objxref.pl
+++ b/crypto/objects/objxref.pl
@@ -1,6 +1,13 @@
 #!/usr/local/bin/perl
 
-open IN, "obj_mac.num";
+use strict;
+
+my %xref_tbl;
+my %oid_tbl;
+
+my ($mac_file, $xref_file) = @ARGV;
+
+open(IN, $mac_file) || die "Can't open $mac_file";
 
 # Read in OID nid values for a lookup table.
 
@@ -12,7 +19,7 @@
 	}
 close IN;
 
-open IN, "obj_xref.txt";
+open(IN, $xref_file) || die "Can't open $xref_file";
 
 my $ln = 1;