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.

96 lines
2.1KB

  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. # Debugging
  10. CFLAGS:=-O0 -ggdb -fno-omit-frame-pointer -Wall
  11. # Production
  12. # CFLAGS:=-O3 -fomit-frame-pointer -DNDEBUG
  13. CFLAGS+=-DINSTALL_PREFIX=\"$(PREFIX)\" \
  14. -DSYSTEM_PATH=\"$(SYSTEM_PATH)\" \
  15. -DDOCUMENT_PATH=\"$(DOCUMENT_PATH)\"
  16. 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`
  17. LIBS=`pkg-config --libs jack` `fltk-config --use-images --ldflags` `pkg-config --libs sigc++-2.0`
  18. ifeq ($(USE_LASH),1)
  19. LIBS+=-llash
  20. CXXFLAGS+=-DUSE_LASH `pkg-config --cflags lash-1.0`
  21. endif
  22. SRCS= \
  23. canvas.C \
  24. debug.C \
  25. event.C \
  26. event_list.C \
  27. grid.C \
  28. gui/draw.C \
  29. gui/event_edit.C \
  30. gui/input.C \
  31. gui/ui.C \
  32. gui/widgets.C \
  33. instrument.C \
  34. jack.C \
  35. lash.C \
  36. main.C \
  37. mapping.C \
  38. midievent.C \
  39. pattern.C \
  40. phrase.C \
  41. scale.C \
  42. sequence.C \
  43. smf.C \
  44. transport.C
  45. OBJS=$(SRCS:.C=.o)
  46. .PHONEY: all clean install
  47. all: non makedepend
  48. clean:
  49. rm -f non makedepend $(OBJS)
  50. @ echo Done
  51. .C.o:
  52. @ echo -n "Compiling: "; tput bold; tput setaf 3; echo $<; tput sgr0; true
  53. @ $(CXX) $(CXXFLAGS) -c $< -o $@
  54. %.C : %.fl
  55. @ cd gui && fluid -c ../$<
  56. non: $(OBJS)
  57. @ echo -n "Linking..."
  58. @ rm -f $@
  59. @ $(CXX) $(CXXFLAGS) $(LIBS) $(OBJS) -o $@ || (tput bold; tput setaf 1; echo Error!; tput sgr0)
  60. @ test -x $@ && echo done.
  61. install:
  62. @ echo -n "Installing..."
  63. @ install non $(PREFIX)/bin
  64. @ mkdir -p "$(SYSTEM_PATH)"
  65. @ cp -r instruments "$(SYSTEM_PATH)"
  66. @ mkdir -p "$(DOCUMENT_PATH)"
  67. @ cp doc/*.{html,png} "$(DOCUMENT_PATH)"
  68. @ echo done
  69. # make -C doc install
  70. TAGS: $(SRCS)
  71. etags $(SRCS)
  72. makedepend: $(SRCS)
  73. @ echo -n Checking dependencies...
  74. @ makedepend -f- -- $(CXXFLAGS) -- $(SRCS) > makedepend 2>/dev/null && echo done.
  75. include makedepend