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.

112 lines
3.1KB

  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.3.0'
  8. # Variables for 'waf dist'
  9. APPNAME = 'non-session-manager'
  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.define('VERSION', PACKAGE_VERSION)
  23. conf.define('SYSTEM_PATH', '/'.join( [ conf.env.DATADIR, APPNAME ] ) )
  24. conf.define('DOCUMENT_PATH', '/'.join( [ conf.env.DATADIR, 'doc' ] ) )
  25. conf.define('PIXMAP_PATH', '/'.join( [ conf.env.DATADIR, 'pixmaps' ] ) )
  26. conf.write_config_header('config.h', remove=False)
  27. print('')
  28. def build(bld):
  29. libs = ''
  30. bld.program( source = '''
  31. src/session-manager.C
  32. ''',
  33. target = 'non-session-manager',
  34. includes = ['.', 'src', '../nonlib', '..' ],
  35. uselib = [ 'LIBLO', 'NTK', 'NTK_IMAGES' ],
  36. use = [ 'fl_widgets', 'nonlib'],
  37. install_path = '${BINDIR}')
  38. bld.program( source = '''
  39. src/nsmd.C
  40. ''',
  41. target = 'nsmd',
  42. includes = ['.', 'src', '../nonlib'],
  43. uselib = [ 'LIBLO' ],
  44. use = [ 'nonlib'],
  45. install_path = '${BINDIR}')
  46. bld.program( source = '''
  47. src/nsm-proxy.C
  48. ''',
  49. target = 'nsm-proxy',
  50. includes = ['.', 'src', '../nonlib', '..' ],
  51. uselib = [ 'LIBLO' ],
  52. use = [ 'nonlib'],
  53. install_path = '${BINDIR}')
  54. bld.program( source = '''
  55. src/nsm-proxy-gui.C
  56. src/NSM_Proxy_UI.fl
  57. ''',
  58. target = 'nsm-proxy-gui',
  59. includes = ['.', 'src'],
  60. uselib = [ 'LIBLO', 'NTK', 'NTK_IMAGES ' ],
  61. install_path = '${BINDIR}')
  62. bld.program( source = '''
  63. src/jackpatch.c
  64. ''',
  65. target = 'jackpatch',
  66. includes = ['.', 'src'],
  67. uselib = [ 'LIBLO', 'JACK' ],
  68. install_path = '${BINDIR}')
  69. bld.program( source = '''
  70. src/send_osc.C
  71. ''',
  72. target = 'send_osc',
  73. includes = ['.', 'src', '../nonlib' ],
  74. uselib = [ 'LIBLO' ],
  75. use = [ 'nonlib'],
  76. install_path = None )
  77. bld( features = 'subst',
  78. source = 'non-session-manager.desktop.in',
  79. target = 'non-session-manager.desktop',
  80. encoding = 'utf8',
  81. install_path = "${DATADIR}" + '/applications',
  82. BIN_PATH = bld.env.BINDIR,
  83. );
  84. start_dir = bld.path.find_dir( 'icons/hicolor' )
  85. bld.install_files('${DATADIR}/icons/hicolor', start_dir.ant_glob('**/*.png'),
  86. cwd=start_dir, relative_trick=True)
  87. bld.install_as('${DATADIR}/pixmaps/' + APPNAME + '/icon-256x256.png', 'icons/hicolor/256x256/apps/' + APPNAME + '.png')
  88. bld.install_files( '/'.join( [ '${DATADIR}/doc', APPNAME ] ), bld.path.ant_glob( 'doc/*.html doc/*.png' ) )