nt9856x/code/driver/source/net/18211_nvtfmac/modgen.pl
2023-03-28 15:07:53 +08:00

87 lines
2.5 KiB
Perl
Executable File

#!/usr/bin/perl -w
use strict;
use warnings;
#use Time::localtime;
#use File::stat;
our $progrma_ver = "0.1";
our $output;
if (!defined($ARGV[0])) {
&show_usage;
exit;
} else {
if ($ARGV[0] eq "help") {
&show_usage;
exit;
} elsif ($ARGV[0] eq "ver") {
print "\nversion:".$progrma_ver."\n";
exit;
} elsif ($ARGV[0] eq "ins") {
# Remove old module first
print "INFO: Removing original module...";
$output = qx(make uninstall 2>&1);
print "DONE\n";
# Build module
print "INFO: Building module...";
$output = qx(make clean 2>&1);
if ($output =~ /\[.*\] Error/) {
print "\n".$output;
print "\nERROR: Make clean error\n";
exit;
}
$output = qx(make 2>&1);
if ($output =~ /\[.*\] Error/) {
print "\n".$output;
print "\nERROR: Make error\n";
exit;
} else {
print "DONE\n";
}
print "INFO: Installing the module to system...";
$output = qx(sudo make install 2>&1);
if ($output =~ /\[.*\] Error/) {
print "\n".$output;
print "\nERROR: Make install error\n";
exit;
} else {
print "\n".$output;
print "DONE\n"
}
} elsif ($ARGV[0] eq "unins") {
print "INFO: Uninstalling the module to system...";
$output = qx(sudo make uninstall 2>&1);
if ($output =~ /\[.*\] Error/) {
print "\n".$output;
print "\nERROR: Make uninstall error\n";
exit;
} else {
print "DONE\n"
}
} else {
print "ERROR: <type> error!!\n";
&show_usage;
exit;
}
}
sub show_usage
{
print "usage: $0 <type>\n";
print "[type]:\n";
print "\tins\tbuild and install module to system\n";
print "\tunins\tuninstall the module from system\n";
print "\thelp\tfor help\n";
print "\tver\tshow program version\n";
}