| #!/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; |
| |
| |