@@ -1,27 +1,38 @@ | |||
prefix := /usr/local | |||
# Makefile for the Non-DAW. | |||
# Copyright 2008 Jonathan Moore Liles | |||
# This file is licencesd under version 2 of the GPL. | |||
# | |||
# Do not edit this file; run `make config` instead. | |||
# | |||
include scripts/colors | |||
VERSION := 0.5.0 | |||
FLTK_LIBS := `fltk-config --use-images --ldflags` | |||
JACK_LIBS := `pkg-config --libs jack` | |||
SNDFILE_LIBS := `pkg-config --libs sndfile` | |||
LASH_LIBS := `pkg-config --libs lash-1.0` | |||
all: make.conf makedepend FL Timeline Mixer | |||
make.conf: configure | |||
@ ./configure | |||
LASH_CFLAGS := `pkg-config --cflags lash-1.0` | |||
include make.conf | |||
CXXFLAGS := $(LASH_CFLAGS) -DINSTALL_PREFIX=\"$(prefix)\" -DVERSION=\"$(VERSION)\" -ggdb -Wextra -Wno-missing-field-initializers -O0 -fno-rtti -fno-exceptions | |||
ifeq (($MAINTAINER_MODE),yes) | |||
CXXFLAGS := -ggdb -Wextra -Wno-missing-field-initializers -O0 -fno-rtti -fno-exceptions | |||
else | |||
CXXFLAGS := -O3 -fno-rtti -fno-exceptions -DNDEBUG | |||
endif | |||
all: makedepend FL Timeline Mixer | |||
CXXFLAGS += $(LASH_CFLAGS) -DINSTALL_PREFIX=\"$(prefix)\" -DVERSION=\"$(VERSION)\" | |||
.C.o: | |||
@ echo -n "Compiling: "; tput bold; tput setaf 3; echo $<; tput sgr0; true | |||
@ echo -n "Compiling: "; echo $(BOLD)$(YELLOW)$<$(SGR0); true | |||
@ $(CXX) $(CXXFLAGS) $(INCLUDES) -c $< -o $@ | |||
%.C : %.fl | |||
@ cd `dirname $<` && fluid -c ../$< | |||
include FL/makefile.inc | |||
include Timeline/makefile.inc | |||
include Mixer/makefile.inc | |||
@@ -35,6 +46,12 @@ makedepend: $(SRCS) Makefile | |||
@ echo -n Checking dependencies... | |||
@ makedepend -f- -- $(CXXFLAGS) -- $(SRCS) > makedepend 2>/dev/null && echo done. | |||
.PHONEY: clean config | |||
clean: FL_clean Timeline_clean Mixer_clean | |||
config: | |||
@ rm -f make.conf | |||
@ $(MAKE) -s | |||
include makedepend |
@@ -19,9 +19,6 @@ | |||
#include "LASH_Client.H" | |||
#include <lash/lash.h> | |||
#define _client (static_cast<lash_client_t*>(_void)) | |||
#include "debug.h" | |||
@@ -35,6 +32,12 @@ LASH_Client::~LASH_Client ( ) | |||
/* TODO: anything? */ | |||
} | |||
#ifdef USE_LASH | |||
#include <lash/lash.h> | |||
#define _client (static_cast<lash_client_t*>(_void)) | |||
bool | |||
LASH_Client::init ( const char *jack_name, const char *long_name, int *argc, char ***argv ) | |||
{ | |||
@@ -97,3 +100,24 @@ LASH_Client::poll ( void ) | |||
lash_event_destroy( e ); | |||
} | |||
} | |||
#else | |||
bool | |||
LASH_Client::init ( const char *jack_name, const char *long_name, int *argc, char ***argv ) | |||
{ | |||
return true; | |||
} | |||
bool | |||
LASH_Client::enabled ( void ) | |||
{ | |||
return false; | |||
} | |||
void | |||
LASH_Client::poll ( void ) | |||
{ | |||
} | |||
#endif |
@@ -3,8 +3,6 @@ | |||
Timeline_VERSION := 0.5.0 | |||
Timeline_SRCS= \ | |||
Timeline/LASH.C \ | |||
Timeline/LASH_Client.C \ | |||
Timeline/Annotation_Region.C \ | |||
Timeline/Audio_File.C \ | |||
Timeline/Audio_File_SF.C \ | |||
@@ -15,6 +13,8 @@ Timeline/Control_Sequence.C \ | |||
Timeline/Disk_Stream.C \ | |||
Timeline/Engine.C \ | |||
Timeline/Fl_Menu_Settings.C \ | |||
Timeline/LASH.C \ | |||
Timeline/LASH_Client.C \ | |||
Timeline/Loggable.C \ | |||
Timeline/Peaks.C \ | |||
Timeline/Playback_DS.C \ | |||
@@ -36,7 +36,7 @@ Timeline/Transport.C \ | |||
Timeline/Waveform.C \ | |||
Timeline/dsp.C \ | |||
Timeline/main.C \ | |||
debug.C \ | |||
debug.C | |||
Timeline_OBJS:=$(Timeline_SRCS:.C=.o) | |||
@@ -0,0 +1,80 @@ | |||
#!/bin/sh | |||
# | |||
# Copyright (C) 2008 Jonathan Moore Liles | |||
# | |||
. scripts/colors | |||
fatal () | |||
{ | |||
echo "$BOLD$RED$*$SGR0" | |||
exit 255 | |||
} | |||
ask () | |||
{ | |||
echo -n "$1 [$BOLD$GREEN$3$SGR0] " | |||
read R | |||
echo "$2 := ${R:-$3}" >> make.conf | |||
} | |||
ok () | |||
{ | |||
echo "$BOLD${GREEN}ok$SGR0." | |||
} | |||
failed () | |||
{ | |||
echo "$BOLD${RED}failed!$SGR0" | |||
} | |||
echo "# This is a generated file. Any changes may be lost!" > make.conf | |||
ask "Install prefix?" prefix /usr/local | |||
ask "Use LASH?" USE_LASH yes | |||
ask "Build for debugging?" MAINTAINER_MODE no | |||
# tests | |||
echo -n "Checking for ${BOLD}FLTK${SGR0}..." | |||
FLTK_VERSION=`fltk-config --version` | |||
FLTK_VERSION_MAJOR=`echo $FLTK_VERSION | cut -d'.' -f1` | |||
FLTK_VERSION_MINOR=`echo $FLTK_VERSION | cut -d'.' -f2` | |||
FLTK_VERSION_PATCH=`echo $FLTK_VERSION | cut -d'.' -f3` | |||
if ! ( [ $FLTK_VERSION_MAJOR -ge 1 ] && [ $FLTK_VERSION_MINOR -ge 1 ] && [ $FLTK_VERSION_PATCH -ge 8 ] ) | |||
then | |||
failed | |||
fatal "The installed FLTK version ($FLTK_VERSION) is too old." | |||
else | |||
ok | |||
fi | |||
echo "FLTK_LIBS := `fltk-config --use-images --ldflags`" >> make.conf | |||
# | |||
check () | |||
{ | |||
echo -n "Checking for $BOLD$1$SGR0..." | |||
if ! pkg-config --atleast-version $2 $3 | |||
then | |||
failed | |||
fatal "$1 not installed or too old." | |||
fi | |||
ok | |||
return 0 | |||
} | |||
check JACK 0.103.0 jack && echo "JACK_LIBS := `pkg-config --libs jack`" >> make.conf | |||
check libSNDFILE 1.0.17 sndfile && echo "SNDFILE_LIBS := `pkg-config --libs sndfile`" >> make.conf | |||
grep -q 'USE_LASH := yes' make.conf && | |||
check LASH 0.5.4 lash-1.0 && | |||
( echo "LASH_LIBS := `pkg-config --libs lash-1.0`" >> make.conf | |||
echo "LASH_CFLAGS := -DUSE_LASH `pkg-config --cflags lash-1.0`" >> make.conf ) | |||
echo "-- Configuration complete." |
@@ -0,0 +1,25 @@ | |||
# Include this file to use terminal colors from shell scripts and | |||
# makefiles. | |||
# john moore liles - 12/30/2002 | |||
BLACK=`tput setaf 0` | |||
RED=`tput setaf 1` | |||
GREEN=`tput setaf 2` | |||
YELLOW=`tput setaf 3` | |||
BLUE=`tput setaf 4` | |||
MAGENTA=`tput setaf 5` | |||
CYAN=`tput setaf 6` | |||
WHITE=`tput setaf 7` | |||
BG_BLACK=`tput setab 0` | |||
BG_RED=`tput setab 1` | |||
BG_GREEN=`tput setab 2` | |||
BG_YELLOW=`tput setab 3` | |||
BG_BLUE=`tput setab 4` | |||
BG_MAGENTA=`tput setab 5` | |||
BG_CYAN=`tput setab 6` | |||
BG_WHITE=`tput setab 7` | |||
BOLD=`tput bold` | |||
SGR0=`tput sgr0` |