SConstruct 1.5 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. global_cflags = ARGUMENTS.get('CFLAGS', '-Wall -Wextra -O2 -fomit-frame-pointer')
  2. global_cxxflags = ARGUMENTS.get('CXXFLAGS', global_cflags + ' -fno-exceptions -fno-rtti')
  3. global_defines = ' -DHAVE_STDINT_H'
  4. vars = Variables()
  5. vars.Add('CC')
  6. vars.Add('CXX')
  7. env = Environment(CPPPATH = ['src', 'include', '../common'],
  8. CFLAGS = global_cflags + global_defines,
  9. CXXFLAGS = global_cxxflags + global_defines,
  10. variables = vars)
  11. sourceFiles = Split('''
  12. src/bitmap_font.cpp
  13. src/cpu.cpp
  14. src/gambatte.cpp
  15. src/initstate.cpp
  16. src/interrupter.cpp
  17. src/interruptrequester.cpp
  18. src/loadres.cpp
  19. src/memory.cpp
  20. src/sound.cpp
  21. src/state_osd_elements.cpp
  22. src/statesaver.cpp
  23. src/tima.cpp
  24. src/video.cpp
  25. src/mem/cartridge.cpp
  26. src/mem/memptrs.cpp
  27. src/mem/pakinfo.cpp
  28. src/mem/rtc.cpp
  29. src/sound/channel1.cpp
  30. src/sound/channel2.cpp
  31. src/sound/channel3.cpp
  32. src/sound/channel4.cpp
  33. src/sound/duty_unit.cpp
  34. src/sound/envelope_unit.cpp
  35. src/sound/length_counter.cpp
  36. src/video/ly_counter.cpp
  37. src/video/lyc_irq.cpp
  38. src/video/next_m0_time.cpp
  39. src/video/ppu.cpp
  40. src/video/sprite_mapper.cpp
  41. ''')
  42. conf = env.Configure()
  43. if conf.CheckHeader('zlib.h'):
  44. sourceFiles.append('src/file/unzip/unzip.c')
  45. sourceFiles.append('src/file/unzip/ioapi.c')
  46. sourceFiles.append('src/file/file_zip.cpp')
  47. else:
  48. sourceFiles.append('src/file/file.cpp')
  49. conf.Finish()
  50. env.Library('gambatte', sourceFiles)