|  | #
# 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 <http://www.gnu.org/licenses/>.
#
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
 |