mirror of
https://github.com/nasa/trick.git
synced 2024-12-20 21:53:10 +00:00
1f30ac8e04
make system. *** *** ** ** ** ** * * * * MAKE_out * * * ** ** ** ** ** ** ------------------- * -------------------- ../ \.. ../ \.. / \ / \ |., __ _..._ \ / .... ___ | / \ / `-' `-------... ..--`````' `--' \. ./` \ | \--_- / o ``X' o \ '--/ | | ( ( ( ( ( / \ /``\ / \ ) ) ) ) ) | | /---\ ./|` |`\. ..-.. | | / \-..-........-```/`./ \..`--.........-. ./ `-./ `'\ / \. `` /-- \___________________/ \___________________/
58 lines
1.5 KiB
Perl
Executable File
58 lines
1.5 KiB
Perl
Executable File
#!/usr/bin/perl
|
|
|
|
# It is so hard getting the absolute path of the current script in bash
|
|
# so I converted CP back to perl. :)
|
|
|
|
use File::Basename ;
|
|
use Cwd ;
|
|
use Cwd 'abs_path';
|
|
|
|
$trick_bin = dirname(abs_path($0)) ;
|
|
$trick_home = dirname($trick_bin) ;
|
|
|
|
#### Handle arguments ####
|
|
$numArgs = $#ARGV + 1;
|
|
$makefileAddArgs = ' ';
|
|
foreach $argnum (0 .. $#ARGV) {
|
|
$arg = $ARGV[$argnum];
|
|
if ($arg =~ /(\w+)=(\w+)/ ) {
|
|
$makefileAddArgs = $makefileAddArgs . $1 . "=" . $2 . " ";
|
|
} elsif ($arg =~ /-d/ ) {
|
|
$makefileAddArgs = $makefileAddArgs . " debug ";
|
|
} elsif ($arg =~ /-t/ ) {
|
|
$makefileAddArgs = $makefileAddArgs . " test ";
|
|
} else {
|
|
print "Warning: Ignoring unrecognized argument $arg\n"
|
|
}
|
|
}
|
|
|
|
if ( -f "S_define" ) {
|
|
if ( not -w "." ) {
|
|
print getcwd() , " is not writable\n" ;
|
|
print "CP aborted\n" ;
|
|
exit 1 ;
|
|
}
|
|
unlink "build/Makefile_sim", "makefile" ;
|
|
$makefile_text = do { local $/; <main::DATA> } ;
|
|
$makefile_text =~ s/SUB_TRICK_HOME/$trick_home/ ;
|
|
$makefile_text =~ s/SUB_TRICK_BIN/$trick_bin/ ;
|
|
open MAKEFILE, ">makefile" ;
|
|
print MAKEFILE $makefile_text ;
|
|
close MAKEFILE ;
|
|
system("make -f makefile " . $makefileAddArgs) ;
|
|
exit $? >> 8;
|
|
} else {
|
|
print "S_define does not exist" ;
|
|
exit 1 ;
|
|
}
|
|
__END__
|
|
# CP found at SUB_TRICK_BIN
|
|
|
|
ifndef TRICK_HOME
|
|
export TRICK_HOME := SUB_TRICK_HOME
|
|
endif
|
|
|
|
include ${TRICK_HOME}/share/trick/makefiles/Makefile.sim
|
|
-include S_overrides.mk
|
|
|