Non reinvents the DAW. Powerful enough to form a complete studio, fast and light enough to run on low-end hardware like the eeePC or Raspberry Pi, and so reliable that it can be used live https://non.tuxfamily.org/
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

85 lines
2.2KB

  1. #!/usr/bin/env python
  2. import subprocess
  3. import waflib.Options as Options
  4. import string
  5. import os
  6. # Version of this package (even if built as a child)
  7. PACKAGE_VERSION = '1.9.5'
  8. # Variables for 'waf dist'
  9. APPNAME = 'non-sequencer'
  10. VERSION = PACKAGE_VERSION
  11. # Mandatory variables
  12. top = '.'
  13. out = 'build'
  14. def options(opt):
  15. opt.load('compiler_c')
  16. opt.load('compiler_cxx')
  17. opt.load('gnu_dirs')
  18. def configure(conf):
  19. conf.load('compiler_c')
  20. conf.load('compiler_cxx')
  21. conf.load('gnu_dirs')
  22. conf.check_cfg(package='sigc++-2.0', uselib_store='SIGCPP',
  23. atleast_version='2.0.0', args="--cflags --libs", mandatory=True)
  24. conf.define('VERSION', PACKAGE_VERSION)
  25. conf.define('SYSTEM_PATH', string.join( [ conf.env.DATADIR, APPNAME ], '/' ) )
  26. conf.define('DOCUMENT_PATH', string.join( [ conf.env.DATADIR, 'doc' ], '/' ) )
  27. conf.define('PIXMAP_PATH', string.join( [ conf.env.DATADIR, 'pixmaps' ], '/' ) )
  28. conf.write_config_header('config.h', remove=False)
  29. print('')
  30. def build(bld):
  31. libs = ''
  32. bld.program( source = '''
  33. src/NSM.C
  34. src/NSM/Client.C
  35. src/canvas.C
  36. src/debug.C
  37. src/event.C
  38. src/event_list.C
  39. src/grid.C
  40. src/gui/draw.C
  41. src/gui/event_edit.fl
  42. src/gui/input.C
  43. src/gui/ui.fl
  44. src/gui/widgets.fl
  45. src/instrument.C
  46. src/jack.C
  47. src/main.C
  48. src/mapping.C
  49. src/midievent.C
  50. src/pattern.C
  51. src/phrase.C
  52. src/scale.C
  53. src/sequence.C
  54. src/smf.C
  55. src/transport.C
  56. ''',
  57. target = 'non-sequencer',
  58. includes = ['.', 'src', 'src/gui', '../FL', '../nonlib'],
  59. use = ['nonlib', 'fl_widgets'],
  60. uselib = [ 'JACK', 'SIGCPP', 'LIBLO', 'XPM', 'NTK', 'NTK_IMAGES'],
  61. install_path = '${BINDIR}')
  62. bld.install_files(string.join( [ '${DATADIR}', APPNAME, 'instruments'], '/' ), bld.path.ant_glob('instruments/*'))
  63. start_dir = bld.path.find_dir( 'icons/hicolor' )
  64. bld.install_files('${DATADIR}/icons/hicolor', start_dir.ant_glob('**/*.png'),
  65. cwd=start_dir, relative_trick=True)
  66. bld.install_as('${DATADIR}/pixmaps/' + APPNAME + '/icon-256x256.png', 'icons/hicolor/256x256/apps/' + APPNAME + '.png')
  67. bld.install_files( string.join( [ '${DATADIR}/doc', APPNAME ], '/' ), bld.path.ant_glob( 'doc/*.html doc/*.png' ) )