2007-12-18 05:09:02 +01:00
# Makefile for the Non Sequencer.
# Copyright 2007-2008 Jonathan Moore Liles
# This file is licencesd under version 2 of the GPL.
# config
2008-02-13 17:23:19 +01:00
prefix = /usr/local/
SYSTEM_PATH = $( prefix) /share/non-sequencer/
DOCUMENT_PATH = $( prefix) /share/doc/non-sequencer/
2007-12-18 05:09:02 +01:00
USE_LASH = 1
2008-03-20 01:28:52 +01:00
VERSION = 1.9.1
2008-02-13 17:10:41 +01:00
2007-12-18 05:09:02 +01:00
# Debugging
2008-02-12 19:21:42 +01:00
CFLAGS := -O0 -ggdb -fno-omit-frame-pointer -Wall
2007-12-18 05:09:02 +01:00
# Production
2008-02-12 19:21:42 +01:00
# CFLAGS:=-O3 -fomit-frame-pointer -DNDEBUG
2007-12-18 05:09:02 +01:00
2008-02-13 17:10:41 +01:00
CFLAGS += -DVERSION= \" $( VERSION) \" \
2008-02-13 17:23:19 +01:00
-DINSTALL_PREFIX= \" $( prefix) \" \
2007-12-18 05:09:02 +01:00
-DSYSTEM_PATH= \" $( SYSTEM_PATH) \" \
-DDOCUMENT_PATH= \" $( DOCUMENT_PATH) \"
CXXFLAGS := $( CFLAGS) -fno-exceptions -fno-rtti ` fltk-config --cxxflags` ` pkg-config jack --atleast-version 0.105 || echo -DJACK_MIDI_PROTO_API` ` pkg-config jack --cflags` ` pkg-config --cflags sigc++-2.0`
2008-02-12 19:08:17 +01:00
LIBS = ` pkg-config --libs jack` ` fltk-config --use-images --ldflags` ` pkg-config --libs sigc++-2.0`
2007-12-18 05:09:02 +01:00
i f e q ( $( USE_LASH ) , 1 )
LIBS += -llash
CXXFLAGS += -DUSE_LASH ` pkg-config --cflags lash-1.0`
e n d i f
2008-03-22 21:20:34 +01:00
# uncomment this line to print each playback event to the console (not RT safe)
# CXXFLAGS+= -DDEBUG_EVENTS
2007-12-18 05:09:02 +01:00
SRCS = \
canvas.C \
debug.C \
event.C \
event_list.C \
grid.C \
gui/draw.C \
gui/event_edit.C \
gui/input.C \
gui/ui.C \
gui/widgets.C \
instrument.C \
jack.C \
lash.C \
main.C \
mapping.C \
midievent.C \
pattern.C \
phrase.C \
scale.C \
sequence.C \
smf.C \
transport.C
OBJS = $( SRCS:.C= .o)
2008-02-14 20:33:06 +01:00
.PHONEY : all clean install dist valgrind
2007-12-18 05:09:02 +01:00
all : non makedepend
clean :
rm -f non makedepend $( OBJS)
@ echo Done
2008-02-13 08:06:48 +01:00
valgrind :
valgrind ./non
2007-12-18 05:09:02 +01:00
.C.o :
@ echo -n "Compiling: " ; tput bold; tput setaf 3; echo $<; tput sgr0; true
@ $( CXX) $( CXXFLAGS) -c $< -o $@
%.C : %.fl
@ cd gui && fluid -c ../$<
2008-02-13 17:12:40 +01:00
$(OBJS) : Makefile
2007-12-18 05:09:02 +01:00
non : $( OBJS )
@ echo -n "Linking..."
@ rm -f $@
@ $( CXX) $( CXXFLAGS) $( LIBS) $( OBJS) -o $@ || ( tput bold; tput setaf 1; echo Error!; tput sgr0)
2008-05-14 17:55:30 +02:00
@ if test -x $@ ; then tput bold; tput setaf 2; echo done ; tput sgr0; test -x " $( prefix) /bin/ $@ " || echo "You must now run 'make install' (as the appropriate user) to install the executable, documentation and other support files in order for the program to function properly." ; fi
2007-12-18 05:09:02 +01:00
2008-02-14 20:33:06 +01:00
install : all
2007-12-18 05:09:02 +01:00
@ echo -n "Installing..."
2008-02-13 17:23:19 +01:00
@ install non $( prefix) /bin
2007-12-18 05:09:02 +01:00
@ mkdir -p " $( SYSTEM_PATH) "
@ cp -r instruments " $( SYSTEM_PATH) "
@ mkdir -p " $( DOCUMENT_PATH) "
2008-02-14 17:09:15 +01:00
@ cp doc/*.html doc/*.png " $( DOCUMENT_PATH) "
2008-05-14 17:55:30 +02:00
@ tput bold; tput setaf 2; echo done ; tput sgr0
2007-12-18 05:09:02 +01:00
# make -C doc install
2008-02-13 17:23:19 +01:00
dist :
git archive --prefix= non-sequencer-$( VERSION) / v$( VERSION) | bzip2 > non-sequencer-$( VERSION) .tar.bz2
2007-12-18 05:09:02 +01:00
TAGS : $( SRCS )
etags $( SRCS)
makedepend : $( SRCS )
@ echo -n Checking dependencies...
@ makedepend -f- -- $( CXXFLAGS) -- $( SRCS) > makedepend 2>/dev/null && echo done .
i n c l u d e m a k e d e p e n d