# # Copyright (C) 2007 Arnold Krille # Copyright (C) 2007 Pieter Palmers # # This file originates from FFADO (www.ffado.org) # # This program is free software: you can redistribute it and/or modify # it under the terms of the GNU General Public License as published by # the Free Software Foundation, either version 3 of the License, or # (at your option) any later version. # # This program is distributed in the hope that it will be useful, # but WITHOUT ANY WARRANTY; without even the implied warranty of # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # GNU General Public License for more details. # # You should have received a copy of the GNU General Public License # along with this program. If not, see . # import os from string import Template Import( 'env' ) # paths where include files can be found env.AppendUnique( CPPPATH=["#/", "#/common"] ) # # Define the source files # example_client_programs = { "jack_freewheel" : "freewheel.c", "jack_connect" : "connect.c", "jack_lsp" : "lsp.c", "jack_metro" : "metro.c", #"jack_midiseq" : "midiseq.c", #"jack_midisine" : "midisine.c", "jack_showtime" : "showtime.c", "jack_simple_client" : "simple_client.c", "jack_zombie" : "zombie.c", "jack_load" : "ipload.c", "jack_unload" : "ipunload.c", } example_client_libs = { "inprocess" : "inprocess.c", } # link extra libs? extra_libs = {} for example_client_program in example_client_programs.keys(): extra_libs[example_client_program] = ["jackdmp", "dl"] # special cases extra_libs["jack_load"] = ["jackmp"] extra_libs["jack_unload"] = ["jackmp"] env['HAS_READLINE']=True if env['HAS_READLINE']: extra_libs["jack_transport"] = ["readline", "jackdmp", "dl"] example_client_programs["jack_transport"] = "transport.c" # # Start building # # build the example clients if env['BUILD_EXAMPLES']: clientenv = env.Copy() clientenv.PrependUnique( LIBPATH=env['build_base'] ) for example_client_program in example_client_programs.keys(): clientenv.Program(target=example_client_program, source=env.Split( example_client_programs[example_client_program]), LIBS=extra_libs[example_client_program] ) if env['INSTALL_EXAMPLES']: clientenv.Install( "$bindir", example_client_program ) for example_client_lib in example_client_libs.keys(): clientenv.SharedLibrary(target=example_client_lib, source=env.Split( example_client_libs[example_client_lib] ) ) if env['INSTALL_EXAMPLES']: #clientenv.Install( "$libdir", example_client_lib ) pass