trick/bin/trick-CP
Alex Lin 60473dde03 Move clean rules to makefile in sim directory. #284
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.
2016-08-19 09:57:13 -05:00

79 lines
1.9 KiB
Perl
Executable File
Raw Blame History

This file contains invisible Unicode characters

This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

#!/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 "I love the smell of napalm in the morning"