diff --git a/frontend/src/frontend/cfg_generator/generate_benchmark.py b/frontend/src/frontend/cfg_generator/generate_benchmark.py index fd40038..9bafb18 100644 --- a/frontend/src/frontend/cfg_generator/generate_benchmark.py +++ b/frontend/src/frontend/cfg_generator/generate_benchmark.py @@ -23,7 +23,7 @@ def main(): ichase_gen.register_args(subparsers) dfs_chase_gen.register_args(subparsers) parser.add_argument('output_filename', - default='/tmp/cfg.pbtxt', + default='/tmp/cfg.pbtext', help='Output textproto file location.') args = parser.parse_args() @@ -34,7 +34,7 @@ def main(): else: raise ValueError('Invalid CFG type: %s' % args.cfg_type) - if args.output_filename.endswith('.pbtxt'): + if args.output_filename.endswith('.pbtext'): with open(args.output_filename, 'w') as f: f.write(str(cfg)) elif args.output_filename.endswith('.pb'): diff --git a/frontend/src/frontend/code_generator/source_generator.py b/frontend/src/frontend/code_generator/source_generator.py index 46af6df..0a32860 100644 --- a/frontend/src/frontend/code_generator/source_generator.py +++ b/frontend/src/frontend/code_generator/source_generator.py @@ -138,12 +138,21 @@ def write_makefile(self, function_files: Collection[str]) -> None: dependencies = self.get_object_files_to_c_files_mapping( function_files) obj_files = ' '.join(dependencies.keys()) - string = (f'{self.benchmark_name}: {obj_files}\n' - f'\tgcc -o {self.benchmark_name} {obj_files} -O0\n\n') + + string = (f'OBJS={obj_files}\n' + f'CFLAGS=-O2\n' + f'#CFLAGS=-O2 -fcf-protection=none\n' + f'LDFLAGS=\n' + f'CC=gcc\n\n') + + string += (f'{self.benchmark_name}: $(OBJS)\n' + f'\t$(CC) -o $@ $^ $(LDFLAGS)\n\n') + for obj_file, c_file in dependencies.items(): string += f'{obj_file}: {c_file}\n' - string += f'\tgcc -c -o {obj_file} {c_file} -O0\n\n' - string += f'clean:\n\trm *.o {self.benchmark_name}\n' + string += f'\t$(CC) -c -o $@ $^ $(CFLAGS)\n\n' + + string += f'\nclean:\n\trm -f $(OBJS) {self.benchmark_name}\n' f.write(string) def get_object_files_to_c_files_mapping(