| ## @file | |
| # Automate the process of building the various reset vector types | |
| # | |
| # Copyright (c) 2014, Intel Corporation. All rights reserved.<BR> | |
| # | |
| # This program and the accompanying materials | |
| # are licensed and made available under the terms and conditions of the BSD License | |
| # which accompanies this distribution. The full text of the license may be found at | |
| # http://opensource.org/licenses/bsd-license.php | |
| # | |
| # THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, | |
| # WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. | |
| # | |
| import glob | |
| import os | |
| import subprocess | |
| import sys | |
| def RunCommand(commandLine): | |
| #print ' '.join(commandLine) | |
| return subprocess.call(commandLine) | |
| for filename in glob.glob(os.path.join('Bin', '*.raw')): | |
| os.remove(filename) | |
| arch = 'ia32' | |
| debugType = None | |
| output = os.path.join('Bin', 'ResetVec') | |
| output += '.' + arch | |
| if debugType is not None: | |
| output += '.' + debugType | |
| output += '.raw' | |
| commandLine = ( | |
| 'nasm', | |
| '-D', 'ARCH_%s' % arch.upper(), | |
| '-D', 'DEBUG_%s' % str(debugType).upper(), | |
| '-o', output, | |
| 'ResetVectorCode.asm', | |
| ) | |
| ret = RunCommand(commandLine) | |
| print '\tASM\t' + output | |
| if ret != 0: sys.exit(ret) | |
| commandLine = ( | |
| 'python', | |
| 'Tools/FixupForRawSection.py', | |
| output, | |
| ) | |
| print '\tFIXUP\t' + output | |
| ret = RunCommand(commandLine) | |
| if ret != 0: sys.exit(ret) | |