import argparse
import sys
import subprocess
import shutil
import os
def main():
parser = argparse.ArgumentParser()
parser.add_argument('--kernel-dir', help='kerner dir')
parser.add_argument('--kernel-out-dir', help='header file out dir')
parser.add_argument('--target-cpu', help='target cpu')
parser.add_argument('--kernel-tools-dir', help='kernel tools dir')
options = parser.parse_args()
make_tools_inc_dir = os.path.join(options.kernel_out_dir, 'bpf')
if not os.path.exists(make_tools_inc_dir):
shutil.copytree(options.kernel_tools_dir, make_tools_inc_dir)
make_uapi_cmd = ['make', '-C', options.kernel_dir, '-sj', 'headers',
'O={}'.format(options.kernel_out_dir),
'ARCH={}'.format(options.target_cpu)]
make_tools_uapi_cmd = ['make', '-C', options.kernel_tools_dir,
'O={}'.format(make_tools_inc_dir),
'ARCH={}'.format(options.target_cpu)]
subprocess.run(make_uapi_cmd)
subprocess.run(make_tools_uapi_cmd)
if __name__ == '__main__':
sys.exit(main())