SConscript 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. from building import *
  2. import rtconfig
  3. import os
  4. src = []
  5. inc = []
  6. group = []
  7. cwd = GetCurrentDir() # get current dir path
  8. port_src = Glob('*.c')
  9. port_inc = [cwd]
  10. group = group + DefineGroup('LVGL-port', port_src, depend = ['PKG_USING_LVGL'], CPPPATH = port_inc)
  11. # check if .h or .hpp files exsit
  12. def check_h_hpp_exsit(path):
  13. file_dirs = os.listdir(path)
  14. for file_dir in file_dirs:
  15. if os.path.splitext(file_dir)[1] in ['.h', '.hpp']:
  16. return True
  17. return False
  18. lvgl_cwd = cwd + '/../../'
  19. lvgl_src_cwd = lvgl_cwd + 'src/'
  20. inc = inc + [lvgl_src_cwd]
  21. for root, dirs, files in os.walk(lvgl_src_cwd):
  22. for dir in dirs:
  23. current_path = os.path.join(root, dir)
  24. src = src + Glob(os.path.join(current_path,'*.c')) # add all .c files
  25. if check_h_hpp_exsit(current_path): # add .h and .hpp path
  26. inc = inc + [current_path]
  27. if GetDepend('PKG_LVGL_USING_EXAMPLES'):
  28. lvgl_src_cwd = lvgl_cwd + 'examples/'
  29. inc = inc + [lvgl_src_cwd]
  30. for root, dirs, files in os.walk(lvgl_src_cwd):
  31. for dir in dirs:
  32. current_path = os.path.join(root, dir)
  33. src = src + Glob(os.path.join(current_path,'*.c'))
  34. if check_h_hpp_exsit(current_path):
  35. inc = inc + [current_path]
  36. if GetDepend('PKG_LVGL_USING_DEMOS'):
  37. lvgl_src_cwd = lvgl_cwd + 'demos/'
  38. inc = inc + [lvgl_src_cwd]
  39. for root, dirs, files in os.walk(lvgl_src_cwd):
  40. for dir in dirs:
  41. current_path = os.path.join(root, dir)
  42. src = src + Glob(os.path.join(current_path,'*.c'))
  43. if check_h_hpp_exsit(current_path):
  44. inc = inc + [current_path]
  45. LOCAL_CFLAGS = ''
  46. if rtconfig.PLATFORM == 'gcc' or rtconfig.PLATFORM == 'armclang': # GCC or Keil AC6
  47. LOCAL_CFLAGS += ' -std=c99'
  48. elif rtconfig.PLATFORM == 'armcc': # Keil AC5
  49. LOCAL_CFLAGS += ' --c99 --gnu'
  50. group = group + DefineGroup('LVGL', src, depend = ['PKG_USING_LVGL'], CPPPATH = inc, LOCAL_CFLAGS = LOCAL_CFLAGS)
  51. list = os.listdir(cwd)
  52. for d in list:
  53. path = os.path.join(cwd, d)
  54. if os.path.isfile(os.path.join(path, 'SConscript')):
  55. group = group + SConscript(os.path.join(d, 'SConscript'))
  56. Return('group')