my $depend = shift;
my $part;
- $depend->{PROTO}{OUTPUT_TYPE} = "OBJLIST";
- $depend->{PROTO}{TYPE} = "PROTO";
- $depend->{PROTO}{NAME} = "PROTO";
-
- $depend->{ALL_OBJS}{OUTPUT_TYPE} = "OBJLIST";
- $depend->{ALL_OBJS}{TYPE} = "";
- $depend->{ALL_OBJS}{NAME} = "ALL_OBJS";
+ $depend->{PROTO} = {
+ OUTPUT_TYPE => "OBJLIST",
+ TYPE => "PROTO",
+ NAME => "PROTO",
+ OBJ_LIST => []
+ };
+
+ $depend->{ALL_OBJS} = {
+ OUTPUT_TYPE => "OBJLIST",
+ TYPE => "",
+ NAME => "ALL_OBJS",
+ OBJ_LIST => []
+ };
foreach $part (values %{$depend}) {
+ next if $part->{NAME} eq "PROTO";
+ next if $part->{NAME} eq "ALL_OBJS";
next if not defined($part->{OUTPUT_TYPE});
generate_binary($part) if $part->{OUTPUT_TYPE} eq "BINARY";
push(@{$part->{OBJ_LIST}}, @{$part->{ADD_OBJ_FILES}}) if defined($part->{ADD_OBJ_FILES});
push(@{$part->{OBJ_LIST}}, @{$part->{OBJ_FILES}}) if defined($part->{OBJ_FILES});
- push(@{$depend->{ALL_OBJS}{OBJ_LIST}}, @{$part->{OBJ_LIST}}) if (defined(@{$part->{OBJ_LIST}}));
- push(@{$depend->{PROTO}{OBJ_LIST}}, @{$part->{OBJ_LIST}}) if ((not defined ($part->{NOPROTO}) or $part->{NOPROTO} eq "NO") and defined(@{$part->{OBJ_LIST}}));
+ push(@{$depend->{ALL_OBJS}->{OBJ_LIST}}, @{$part->{OBJ_LIST}}) if (defined(@{$part->{OBJ_LIST}}));
+
+ if ((not defined ($part->{NOPROTO})) or ($part->{NOPROTO} eq "NO")) {
+ push(@{$depend->{PROTO}->{OBJ_LIST}}, @{$part->{OBJ_LIST}}) if (defined(@{$part->{OBJ_LIST}}));
+ }
}
foreach $part (values %{$depend}) {