Assists music production by grouping standalone programs into sessions. Community version of "Non Session Manager".
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

110 lines
2.4KB

  1. # Makefile for the Non Sequencer.
  2. # Copyright 2007-2008 Jonathan Moore Liles
  3. # This file is licencesd under version 2 of the GPL.
  4. # config
  5. prefix=/usr/local/
  6. SYSTEM_PATH=$(prefix)/share/non-sequencer/
  7. DOCUMENT_PATH=$(prefix)/share/doc/non-sequencer/
  8. USE_LASH=1
  9. VERSION=1.9.1
  10. # Debugging
  11. CFLAGS:=-O0 -ggdb -fno-omit-frame-pointer -Wall
  12. # Production
  13. # CFLAGS:=-O3 -fomit-frame-pointer -DNDEBUG
  14. CFLAGS+=-DVERSION=\"$(VERSION)\" \
  15. -DINSTALL_PREFIX=\"$(prefix)\" \
  16. -DSYSTEM_PATH=\"$(SYSTEM_PATH)\" \
  17. -DDOCUMENT_PATH=\"$(DOCUMENT_PATH)\"
  18. 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`
  19. LIBS=`pkg-config --libs jack` `fltk-config --use-images --ldflags` `pkg-config --libs sigc++-2.0`
  20. ifeq ($(USE_LASH),1)
  21. LIBS+=-llash
  22. CXXFLAGS+=-DUSE_LASH `pkg-config --cflags lash-1.0`
  23. endif
  24. # uncomment this line to print each playback event to the console (not RT safe)
  25. # CXXFLAGS+= -DDEBUG_EVENTS
  26. SRCS= \
  27. canvas.C \
  28. debug.C \
  29. event.C \
  30. event_list.C \
  31. grid.C \
  32. gui/draw.C \
  33. gui/event_edit.C \
  34. gui/input.C \
  35. gui/ui.C \
  36. gui/widgets.C \
  37. instrument.C \
  38. jack.C \
  39. lash.C \
  40. main.C \
  41. mapping.C \
  42. midievent.C \
  43. pattern.C \
  44. phrase.C \
  45. scale.C \
  46. sequence.C \
  47. smf.C \
  48. transport.C
  49. OBJS=$(SRCS:.C=.o)
  50. .PHONEY: all clean install dist valgrind
  51. all: non makedepend
  52. clean:
  53. rm -f non makedepend $(OBJS)
  54. @ echo Done
  55. valgrind:
  56. valgrind ./non
  57. .C.o:
  58. @ echo -n "Compiling: "; tput bold; tput setaf 3; echo $<; tput sgr0; true
  59. @ $(CXX) $(CXXFLAGS) -c $< -o $@
  60. %.C : %.fl
  61. @ cd gui && fluid -c ../$<
  62. $(OBJS): Makefile
  63. non: $(OBJS)
  64. @ echo -n "Linking..."
  65. @ rm -f $@
  66. @ $(CXX) $(CXXFLAGS) $(LIBS) $(OBJS) -o $@ || (tput bold; tput setaf 1; echo Error!; tput sgr0)
  67. @ test -x $@ && echo done.
  68. install: all
  69. @ echo -n "Installing..."
  70. @ install non $(prefix)/bin
  71. @ mkdir -p "$(SYSTEM_PATH)"
  72. @ cp -r instruments "$(SYSTEM_PATH)"
  73. @ mkdir -p "$(DOCUMENT_PATH)"
  74. @ cp doc/*.html doc/*.png "$(DOCUMENT_PATH)"
  75. @ echo done
  76. # make -C doc install
  77. dist:
  78. git archive --prefix=non-sequencer-$(VERSION)/ v$(VERSION) | bzip2 > non-sequencer-$(VERSION).tar.bz2
  79. TAGS: $(SRCS)
  80. etags $(SRCS)
  81. makedepend: $(SRCS)
  82. @ echo -n Checking dependencies...
  83. @ makedepend -f- -- $(CXXFLAGS) -- $(SRCS) > makedepend 2>/dev/null && echo done.
  84. include makedepend