19 |
|
|
20 |
|
GetClass($THISDIR); |
21 |
|
#print "Class = $Class\n"; |
22 |
+ |
#print "ClassDir = $ClassDir\n"; |
23 |
|
if ( grep /none/i , @BuildFile::groups) { |
24 |
|
print "Nothing to be done - empty group\n"; |
25 |
|
exit |
62 |
|
} |
63 |
|
|
64 |
|
$ENV{ClassDir}=$ClassDir; |
65 |
+ |
$ENV{Class}=$Class; |
66 |
|
$ENV{DefaultBuildFile}=$DefaultBuildFile; |
67 |
|
|
68 |
|
chdir $fullworkdir || die "Unable to enter working directory $!"; |
69 |
|
|
70 |
+ |
# Set up some other useful variables fo the Build |
71 |
+ |
# list of directories available |
72 |
+ |
opendir IDR, "$ENV{LOCALTOP}/$THISDIR"; |
73 |
+ |
@allfiles= grep !/^\.\.?$/, readdir IDR; |
74 |
+ |
foreach $file ( @allfiles ) { |
75 |
+ |
if ( -d "$ENV{LOCALTOP}/$THISDIR/$file" ) { # only add if its a directory |
76 |
+ |
$ENV{SCRAM_AVAILDIRS}=$ENV{SCRAM_AVAILDIRS}." ".$file; |
77 |
+ |
} |
78 |
+ |
else { |
79 |
+ |
$ENV{SCRAM_AVAILFILES}=$ENV{SCRAM_AVAILFILES}." ".$file; |
80 |
+ |
} |
81 |
+ |
} |
82 |
+ |
$targetnumber=$#Targets; |
83 |
+ |
foreach $word ( @Targets ) { |
84 |
+ |
if ( $word=~/.*=.*/ ) { # if we have an assignment it cant be a target |
85 |
+ |
$targetnumber--; |
86 |
+ |
} |
87 |
+ |
} |
88 |
+ |
|
89 |
|
# If not specified default to the class name target |
90 |
< |
if ( $#Targets == -1 ) { |
91 |
< |
$Targets[0]=$Class |
90 |
> |
if ( $targetnumber == -1 ) { |
91 |
> |
push @Targets,$Class; |
92 |
|
} |
93 |
|
$ENV{DefaultMakefile}="$ENV{TOOL_HOME}/basics.mk"; |
94 |
+ |
system("gmake","--no-print-directory","-q","-r","-j 1","-f","$ENV{TOOL_HOME}/clientmakefile.mk","-I$ENV{TOOL_HOME}","client"); |
95 |
|
system("gmake","--no-print-directory","-r","-j 1","-f","$ENV{DefaultMakefile}","-I$ENV{TOOL_HOME}",@Targets); |
96 |
|
} |