sysdeftools/joinsysdef.pl
branchHighFidelityModel
changeset 413 9bcf6c827202
parent 276 d9662ec4599f
child 414 f503e8553dd5
equal deleted inserted replaced
411:d5d1e2d03163 413:9bcf6c827202
   767 	}
   767 	}
   768 
   768 
   769 sub getDefines
   769 sub getDefines
   770 	{ # populate the list of #defines from a specified .hrh file.
   770 	{ # populate the list of #defines from a specified .hrh file.
   771 	my $file = shift;
   771 	my $file = shift;
   772 	my $inc;
   772 	my $inc = '';
   773 	foreach my $i (@includes)
   773 	foreach my $i (@includes)
   774 		{
   774 		{
   775 		$inc.=" -I$i";
   775 		$inc.=" -I$i";
   776 		}
   776 		}
   777 	open(CPP,"cpp -dD$inc \"$file\"|");
   777 	open(CPP,"cpp -dD$inc \"$file\" 2>&1 |");
   778 	while(<CPP>)
   778 	while(<CPP>)
   779 		{
   779 		{
       
   780 		s/\s+$//;
   780 		if(!/\S/){next} # skip blank lines
   781 		if(!/\S/){next} # skip blank lines
   781 		if(/^# [0-9]+ /) {next} # don't care about these
   782 		if(/^# [0-9]+ /) {next} # don't care about these
   782 		s/\s+$//;
   783 		if(/#undef/) { next } # don't care about these
   783 		if(s/^#define\s+(\S+)\((.*?)\)\s+//)
   784 		if(s/^#define\s+(\S+)\((.*?)\)\s+//)
   784 			{ #parametered define
   785 			{ #parametered define
   785 			push(@{$defineParams{$1}},@2,$_);
   786 			push(@{$defineParams{$1}},@2,$_);
   786 			}
   787 			}
   787 		elsif(s/^#define\s+(\S+)//)
   788 		elsif(s/^#define\s+(\S+)//)