1*5c544019SMatthias Ringwald#!/usr/bin/env python3 26601f559SMatthias Ringwald# 36601f559SMatthias Ringwald# Create Makefile.inc file for all source folders 46601f559SMatthias Ringwald# Copyright 2017 BlueKitchen GmbH 56601f559SMatthias Ringwald 66601f559SMatthias Ringwaldimport sys 76601f559SMatthias Ringwaldimport os 86601f559SMatthias Ringwald 96601f559SMatthias Ringwaldmakefile_inc_header = '''# Makefile to collect all C source files of {folder} 106601f559SMatthias Ringwald 116601f559SMatthias Ringwald{var_name} = \\ 126601f559SMatthias Ringwald''' 136601f559SMatthias Ringwald 146601f559SMatthias Ringwaldfolders = [ 156601f559SMatthias Ringwald'src', 166601f559SMatthias Ringwald'src/ble', 176601f559SMatthias Ringwald'src/ble/gatt-service', 186601f559SMatthias Ringwald'src/classic', 196601f559SMatthias Ringwald] 206601f559SMatthias Ringwald 216601f559SMatthias Ringwald# get btstack root 226601f559SMatthias Ringwaldbtstack_root = os.path.abspath(os.path.dirname(sys.argv[0]) + '/..') 236601f559SMatthias Ringwald 246601f559SMatthias Ringwalddef create_makefile_inc(path): 256601f559SMatthias Ringwald global btstack_root 266601f559SMatthias Ringwald 276601f559SMatthias Ringwald folder_path = btstack_root + '/' + path + '/' 286601f559SMatthias Ringwald 296601f559SMatthias Ringwald # write makefile based on header and list 306601f559SMatthias Ringwald with open(folder_path + "Makefile.inc", "wt") as fout: 31a442c325SMilanka Ringwald var_name = path.upper().replace('/','_').replace('-','_')+'_FILES' 326601f559SMatthias Ringwald fout.write(makefile_inc_header.format(var_name=var_name,folder=path)) 336601f559SMatthias Ringwald 346601f559SMatthias Ringwald # get all .c files in folder 35a442c325SMilanka Ringwald for file in sorted(os.listdir(folder_path)): 366601f559SMatthias Ringwald if not file.endswith(".c"): 376601f559SMatthias Ringwald continue 386601f559SMatthias Ringwald fout.write(' %s \\\n' % file) 396601f559SMatthias Ringwald 406601f559SMatthias Ringwald fout.write('\n') 416601f559SMatthias Ringwald 426601f559SMatthias Ringwald# create all makefile.inc 436601f559SMatthias Ringwaldif (len(sys.argv) > 1): 446601f559SMatthias Ringwald path = sys.argv[1] 456601f559SMatthias Ringwald print('Creating Makefile.inc for %s' % path) 466601f559SMatthias Ringwald create_makefile_inc(path) 476601f559SMatthias Ringwaldelse: 486601f559SMatthias Ringwald for path in folders: 496601f559SMatthias Ringwald print('Creating Makefile.inc for %s' % path) 506601f559SMatthias Ringwald create_makefile_inc(path) 51