blob: 6f01d1a1e9816dde747e39f87ee202211c911dc7 [file] [log] [blame]
#!/usr/bin/perl
###############################################################################
#
# Copyright 2015 Broadcom Corporation
#
# This program is the proprietary software of Broadcom Corporation
# and/or its licensors, and may only be used, duplicated, modified or
# distributed pursuant to the terms and conditions of a separate,
# written license agreement executed between you and Broadcom (an
# "Authorized License"). Except as set forth in an Authorized License,
# Broadcom grants no license (express or implied), right to use, or
# waiver of any kind with respect to the Software, and Broadcom
# expressly reserves all rights in and to the Software and all
# intellectual property rights therein. IF YOU HAVE NO AUTHORIZED
# LICENSE, THEN YOU HAVE NO RIGHT TO USE THIS SOFTWARE IN ANY WAY, AND
# SHOULD IMMEDIATELY NOTIFY BROADCOM AND DISCONTINUE ALL USE OF THE
# SOFTWARE.
#
# Except as expressly set forth in the Authorized License,
#
# 1. This program, including its structure, sequence and organization,
# constitutes the valuable trade secrets of Broadcom, and you shall use
# all reasonable efforts to protect the confidentiality thereof, and to
# use this information only in connection with your use of Broadcom
# integrated circuit products.
#
# 2. TO THE MAXIMUM EXTENT PERMITTED BY LAW, THE SOFTWARE IS PROVIDED
# "AS IS" AND WITH ALL FAULTS AND BROADCOM MAKES NO PROMISES,
# REPRESENTATIONS OR WARRANTIES, EITHER EXPRESS, IMPLIED, STATUTORY, OR
# OTHERWISE, WITH RESPECT TO THE SOFTWARE. BROADCOM SPECIFICALLY
# DISCLAIMS ANY AND ALL IMPLIED WARRANTIES OF TITLE, MERCHANTABILITY,
# NONINFRINGEMENT, FITNESS FOR A PARTICULAR PURPOSE, LACK OF VIRUSES,
# ACCURACY OR COMPLETENESS, QUIET ENJOYMENT, QUIET POSSESSION OR
# CORRESPONDENCE TO DESCRIPTION. YOU ASSUME THE ENTIRE RISK ARISING OUT
# OF USE OR PERFORMANCE OF THE SOFTWARE.
#
# 3. TO THE MAXIMUM EXTENT PERMITTED BY LAW, IN NO EVENT SHALL BROADCOM
# OR ITS LICENSORS BE LIABLE FOR (i) CONSEQUENTIAL, INCIDENTAL, SPECIAL,
# INDIRECT, OR EXEMPLARY DAMAGES WHATSOEVER ARISING OUT OF OR IN ANY WAY
# RELATING TO YOUR USE OF OR INABILITY TO USE THE SOFTWARE EVEN IF
# BROADCOM HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES; OR (ii)
# ANY AMOUNT IN EXCESS OF THE AMOUNT ACTUALLY PAID FOR THE SOFTWARE
# ITSELF OR U.S. $1, WHICHEVER IS GREATER. THESE LIMITATIONS SHALL APPLY
# NOTWITHSTANDING ANY FAILURE OF ESSENTIAL PURPOSE OF ANY LIMITED
# REMEDY.
#
###############################################################################
#
# Script: insert_copyright.pl
#
# Purpose: This script inserts a copyright header into the beginning
# of a c/c++, shell script, and Makefiles.
#
# Usage: ./insert_copyright.pl -l <license file> [-t <type>] <source file>
# Options:
#
# -l <file> Specifies the license/copyright file to be inserted into the file
# -t <type> Specifies the type of copyright to insert...
# 's' - shell script
# 'm' - Makefile
# 'c' - (default) c/c++ file
#
###############################################################################
use Getopt::Long;
my $licfile = "";
my $srcfile = "";
my $type = "";
$result = GetOptions ("license_file=s" => \$licfile,
"type=s" => \$type);
$srcfile = shift;
## printf "$licfile, $type, $srcfile\n";
sub InsertCfileCopyright
{
my $lic = shift;
my $src = shift;
print "/******************************************************************************\n";
print " *\n";
open( LICF, "< $lic" ) or die "Can't open $lic : $!";
while( $line = <LICF> ) {
print " * $line";
}
close LICF;
print " *\n";
print " *****************************************************************************/\n";
print " \n";
if (length($srcfile) > 0) {
open( SRCF, "< $src" ) or die "Can't open $src : $!";
while( $line = <SRCF> ) {
print "$line";
}
close SRCF;
}
}
sub InsertMakefileCopyright
{
my $lic = shift;
my $src = shift;
print "###############################################################################\n";
print "#\n";
open( LICF, "< $lic" ) or die "Can't open $lic : $!";
while( $line = <LICF> ) {
print "# $line";
}
close LICF;
print "#\n";
print "###############################################################################\n";
if (length($srcfile) > 0) {
open( SRCF, "< $src" ) or die "Can't open $src : $!";
while( $line = <SRCF> ) {
print "$line";
}
close SRCF;
}
}
sub InsertShCopyright
{
my $lic = shift;
my $src = shift;
if (length($srcfile) > 0) {
open( SRCF, "< $src" ) or die "Can't open $src : $!";
$line = <SRCF>;
print "$line";
}
print "###############################################################################\n";
print "#\n";
open( LICF, "< $lic" ) or die "Can't open $lic : $!";
while( $line = <LICF> ) {
print "# $line";
}
close LICF;
print "#\n";
print "###############################################################################\n";
if (length($srcfile) > 0) {
while( $line = <SRCF> ) {
print "$line";
}
close SRCF;
}
}
if ($type eq "s") {
InsertShCopyright($licfile, $srcfile);
} elsif ($type eq "m") {
InsertMakefileCopyright($licfile, $srcfile);
} elsif ($type eq "c" || $type == "") {
InsertCfileCopyright($licfile, $srcfile);
}
exit;