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.

173 lines
5.3KB

  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
  74. #
  75. # Copyright (C) 2007 Arnold Krille
  76. # Copyright (C) 2007 Pieter Palmers
  77. #
  78. # This file originates from FFADO (www.ffado.org)
  79. #
  80. # This program is free software: you can redistribute it and/or modify
  81. # it under the terms of the GNU General Public License as published by
  82. # the Free Software Foundation, either version 3 of the License, or
  83. # (at your option) any later version.
  84. #
  85. # This program is distributed in the hope that it will be useful,
  86. # but WITHOUT ANY WARRANTY; without even the implied warranty of
  87. # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
  88. # GNU General Public License for more details.
  89. #
  90. # You should have received a copy of the GNU General Public License
  91. # along with this program. If not, see <http://www.gnu.org/licenses/>.
  92. #
  93. import os
  94. from string import Template
  95. Import( 'env' )
  96. # paths where include files can be found
  97. env.AppendUnique( CPPPATH=["#/", "#/common"] )
  98. #
  99. # Define the source files
  100. #
  101. example_client_programs = {
  102. "jack_freewheel" : "freewheel.c",
  103. "jack_connect" : "connect.c",
  104. "jack_lsp" : "lsp.c",
  105. "jack_metro" : "metro.c",
  106. #"jack_midiseq" : "midiseq.c",
  107. #"jack_midisine" : "midisine.c",
  108. "jack_showtime" : "showtime.c",
  109. "jack_simple_client" : "simple_client.c",
  110. "jack_zombie" : "zombie.c",
  111. "jack_load" : "ipload.c",
  112. "jack_unload" : "ipunload.c",
  113. }
  114. example_client_libs = {
  115. "inprocess" : "inprocess.c",
  116. }
  117. # link extra libs?
  118. extra_libs = {}
  119. for example_client_program in example_client_programs.keys():
  120. extra_libs[example_client_program] = ["jackdmp", "dl"]
  121. # special cases
  122. extra_libs["jack_load"] = ["jackmp"]
  123. extra_libs["jack_unload"] = ["jackmp"]
  124. env['HAS_READLINE']=True
  125. if env['HAS_READLINE']:
  126. extra_libs["jack_transport"] = ["readline", "jackdmp", "dl"]
  127. example_client_programs["jack_transport"] = "transport.c"
  128. #
  129. # Start building
  130. #
  131. # build the example clients
  132. if env['BUILD_EXAMPLES']:
  133. clientenv = env.Copy()
  134. clientenv.PrependUnique( LIBPATH=env['build_base'] )
  135. for example_client_program in example_client_programs.keys():
  136. clientenv.Program(target=example_client_program,
  137. source=env.Split( example_client_programs[example_client_program]),
  138. LIBS=extra_libs[example_client_program] )
  139. if env['INSTALL_EXAMPLES']:
  140. clientenv.Install( "$bindir", example_client_program )
  141. for example_client_lib in example_client_libs.keys():
  142. clientenv.SharedLibrary(target=example_client_lib,
  143. source=env.Split( example_client_libs[example_client_lib] ) )
  144. if env['INSTALL_EXAMPLES']:
  145. #clientenv.Install( "$libdir", example_client_lib )
  146. pass