mirror of
https://github.com/nasa/trick.git
synced 2025-01-18 10:46:26 +00:00
60473dde03
Moved the clean rules to the makefile in the sim directory. They will always work whether the rest of Trick is set up or not.
79 lines
1.9 KiB
Perl
Executable File
79 lines
1.9 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 {
|
||
$ENV{TRICK_CPFLAGS} .= " $arg" ;
|
||
}
|
||
}
|
||
|
||
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
|
||
|
||
no_makefile_sim:
|
||
@echo ${TRICK_HOME}/share/trick/makefiles/Makefile.sim not found
|
||
exit -1
|
||
|
||
tidy:
|
||
-rm -f S_source.hh S_sie.resource
|
||
-rm -f S_main* T_main*
|
||
-rm -f build/Makefile_*
|
||
-rm -rf S_default.dat
|
||
|
||
clean: tidy
|
||
-rm -f DP_Product/DP_rt_frame DP_Product/DP_rt_itimer
|
||
-rm -f DP_Product/DP_rt_jobs DP_Product/DP_rt_timeline DP_Product/DP_mem_stats
|
||
-rm -rf build trick
|
||
@ echo "Removed build directory"
|
||
|
||
spotless: clean
|
||
|
||
apocalypse: clean
|
||
@echo "[31mI love the smell of napalm in the morning[0m"
|
||
|