jack2 codebase
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.

87 lines
2.7KB

  1. #
  2. # Copyright (C) 2007 Arnold Krille
  3. # Copyright (C) 2007 Pieter Palmers
  4. #
  5. # This file originates from FFADO (www.ffado.org)
  6. #
  7. # This program is free software: you can redistribute it and/or modify
  8. # it under the terms of the GNU General Public License as published by
  9. # the Free Software Foundation, either version 3 of the License, or
  10. # (at your option) any later version.
  11. #
  12. # This program is distributed in the hope that it will be useful,
  13. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  14. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  15. # GNU General Public License for more details.
  16. #
  17. # You should have received a copy of the GNU General Public License
  18. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  19. #
  20. import os
  21. from string import Template
  22. Import( 'env' )
  23. # paths where include files can be found
  24. env.AppendUnique( CPPPATH=["#/", "#/common"] )
  25. #
  26. # Define the source files
  27. #
  28. example_client_programs = {
  29. "jack_freewheel" : "freewheel.c",
  30. "jack_connect" : "connect.c",
  31. "jack_lsp" : "lsp.c",
  32. "jack_metro" : "metro.c",
  33. #"jack_midiseq" : "midiseq.c",
  34. #"jack_midisine" : "midisine.c",
  35. "jack_showtime" : "showtime.c",
  36. "jack_simple_client" : "simple_client.c",
  37. "jack_zombie" : "zombie.c",
  38. "jack_load" : "ipload.c",
  39. "jack_unload" : "ipunload.c",
  40. }
  41. example_client_libs = {
  42. "inprocess" : "inprocess.c",
  43. }
  44. # link extra libs?
  45. extra_libs = {}
  46. for example_client_program in example_client_programs.keys():
  47. extra_libs[example_client_program] = ["jackdmp", "dl"]
  48. # special cases
  49. extra_libs["jack_load"] = ["jackmp"]
  50. extra_libs["jack_unload"] = ["jackmp"]
  51. env['HAS_READLINE']=True
  52. if env['HAS_READLINE']:
  53. extra_libs["jack_transport"] = ["readline", "jackdmp", "dl"]
  54. example_client_programs["jack_transport"] = "transport.c"
  55. #
  56. # Start building
  57. #
  58. # build the example clients
  59. if env['BUILD_EXAMPLES']:
  60. clientenv = env.Copy()
  61. clientenv.PrependUnique( LIBPATH=env['build_base'] )
  62. for example_client_program in example_client_programs.keys():
  63. clientenv.Program(target=example_client_program,
  64. source=env.Split( example_client_programs[example_client_program]),
  65. LIBS=extra_libs[example_client_program] )
  66. if env['INSTALL_EXAMPLES']:
  67. clientenv.Install( "$bindir", example_client_program )
  68. for example_client_lib in example_client_libs.keys():
  69. clientenv.SharedLibrary(target=example_client_lib,
  70. source=env.Split( example_client_libs[example_client_lib] ) )
  71. if env['INSTALL_EXAMPLES']:
  72. #clientenv.Install( "$libdir", example_client_lib )
  73. pass