mirror of
https://github.com/nasa/trick.git
synced 2024-12-21 22:17:51 +00:00
d0349772d5
Added a configure check for clang/Basic/LLVM.h. Also removed -lz from the link libraries. I don't think we need it.
80 lines
2.0 KiB
Perl
Executable File
80 lines
2.0 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
|
||
|
||
ifndef CLEAN_RULES_DEFINED
|
||
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 -f 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"
|
||
endif
|