# # Copyright (C) 2007 Arnold Krille # Copyright (C) 2007 Pieter Palmers # Copyright (C) 2008 Marc-Olivier Barre # # 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', '#/common/jack', '#/linux'] ) # # Define the source files # srcfiles_linux_server = ['#/common/Jackdmp.cpp'] srcfiles_linux_alsa = [ 'JackAlsaDriver.cpp', 'alsa_rawmidi.c', 'alsa_seqmidi.c', 'alsa_midi_jackmp.cpp', 'memops.c', 'generic_hw.c', 'hdsp.c', 'hammerfall.c', 'ice1712.c' ] for i in range(len(srcfiles_linux_alsa)): srcfiles_linux_alsa[i] = 'alsa/%s' % srcfiles_linux_alsa[i] srcfiles_linux_freebob = ['freebob/JackFreebobDriver.cpp'] srcfiles_linux_ffado = ['firewire/JackFFADODriver.cpp'] srcfiles_linux_dummy = ['#/common/JackDummyDriver.cpp'] # # Start building # # build the server and its backends serverenv = env.Copy() serverenv.PrependUnique( LIBPATH=env['build_base'] ) serverenv.PrependUnique( LIBS=[env['SERVERLIB'], 'dl'] ) server = serverenv.Program(env['SERVER'], srcfiles_linux_server) serverenv.Install( env['INSTALL_BINDIR'], server ) driver_dir = env['INSTALL_ADDON_DIR'] + "/" drv = serverenv.SharedLibrary( 'jack_dummy', srcfiles_linux_dummy ) serverenv.InstallAs( driver_dir + "jack_dummy.so", drv ) if env['ENABLE_ALSA']: if not env.GetOption('clean'): serverenv.MergeFlags( env['ALSA_FLAGS'] ) drv = serverenv.SharedLibrary( 'jack_alsa', srcfiles_linux_alsa ) serverenv.InstallAs( driver_dir + "jack_alsa.so", drv ) if env['ENABLE_FREEBOB']: if not env.GetOption('clean'): serverenv.MergeFlags( env['FREEBOB_FLAGS'] ) drv = serverenv.SharedLibrary( 'jack_freebob', srcfiles_linux_freebob ) serverenv.InstallAs( driver_dir + "jack_freebob.so", drv ) if env['ENABLE_FIREWIRE']: if not env.GetOption('clean'): serverenv.MergeFlags( env['FFADO_FLAGS'] ) drv = serverenv.SharedLibrary( 'jack_firewire', srcfiles_linux_ffado ) serverenv.InstallAs( driver_dir + "jack_firewire.so", drv )