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.

126 lines
2.9KB

  1. # Makefile for the Non Sequencer.
  2. # Copyright 2007-2008 Jonathan Moore Liles
  3. # This file is licensed under version 2 of the GPL.
  4. #
  5. # Do not edit this file; run `make config` instead.
  6. #
  7. VERSION := 1.9.2
  8. all: make.conf non-sequencer
  9. make.conf: configure
  10. @ ./configure
  11. config:
  12. @ ./configure
  13. -include make.conf
  14. SYSTEM_PATH=$(prefix)/share/non-sequencer/
  15. DOCUMENT_PATH=$(prefix)/share/doc/non-sequencer/
  16. ifeq ($(USE_DEBUG),yes)
  17. CXXFLAGS := -pipe -ggdb -Wall -Wextra -Wnon-virtual-dtor -Wno-missing-field-initializers -O0 -fno-rtti -fno-exceptions
  18. else
  19. CXXFLAGS := -pipe -O2 -fno-rtti -fno-exceptions -DNDEBUG
  20. endif
  21. CFLAGS+=-DVERSION=\"$(VERSION)\" \
  22. -DINSTALL_PREFIX=\"$(prefix)\" \
  23. -DSYSTEM_PATH=\"$(SYSTEM_PATH)\" \
  24. -DDOCUMENT_PATH=\"$(DOCUMENT_PATH)\"
  25. CXXFLAGS:=$(CFLAGS) $(CXXFLAGS) $(FLTK_CFLAGS) $(SIGCPP_CFLAGS) $(LASH_CFLAGS)
  26. LIBS:=$(FLTK_LIBS) $(JACK_LIBS) $(LASH_LIBS) $(SIGCPP_LIBS)
  27. ifeq ($(JACK_MIDI_PROTO_API),yes)
  28. CXXFLAGS+=-DJACK_MIDI_PROTO_API
  29. endif
  30. # uncomment this line to print each playback event to the console (not RT safe)
  31. # CXXFLAGS+= -DDEBUG_EVENTS
  32. SRCS= \
  33. canvas.C \
  34. debug.C \
  35. event.C \
  36. event_list.C \
  37. grid.C \
  38. gui/draw.C \
  39. gui/event_edit.C \
  40. gui/input.C \
  41. gui/ui.C \
  42. gui/widgets.C \
  43. instrument.C \
  44. jack.C \
  45. lash.C \
  46. main.C \
  47. mapping.C \
  48. midievent.C \
  49. pattern.C \
  50. phrase.C \
  51. scale.C \
  52. sequence.C \
  53. smf.C \
  54. transport.C
  55. OBJS=$(SRCS:.C=.o)
  56. .PHONEY: all clean install dist valgrind config
  57. clean:
  58. rm -f non-sequencer makedepend $(OBJS)
  59. @ echo "$(DONE)"
  60. valgrind:
  61. valgrind ./non-sequencer
  62. include scripts/colors
  63. .C.o:
  64. @ echo "Compiling: $(BOLD)$(YELLOW)$<$(SGR0)"
  65. @ $(CXX) $(CXXFLAGS) -c $< -o $@
  66. %.C : %.fl
  67. @ cd `dirname $<` && fluid -c ../$<
  68. $(OBJS): make.conf
  69. DONE:=$(BOLD)$(GREEN)done$(SGR0)
  70. non-sequencer: $(OBJS)
  71. @ echo -n "Linking..."
  72. @ rm -f $@
  73. @ $(CXX) $(CXXFLAGS) $(LIBS) $(OBJS) -o $@ || echo "$(BOLD)$(RED)Error!$(SGR0)"
  74. @ if test -x $@; then echo "$(DONE)"; 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
  75. install: all
  76. @ echo -n "Installing..."
  77. @ install non-sequencer $(prefix)/bin
  78. @ mkdir -p "$(SYSTEM_PATH)"
  79. @ cp -r instruments "$(SYSTEM_PATH)"
  80. @ mkdir -p "$(DOCUMENT_PATH)"
  81. @ cp doc/*.html doc/*.png "$(DOCUMENT_PATH)"
  82. @ echo "$(DONE)"
  83. ifneq ($(USE_DEBUG),yes)
  84. @ echo -n "Stripping..."
  85. @ strip $(prefix)/bin/non-sequencer
  86. @ echo "$(DONE)"
  87. endif
  88. dist:
  89. git archive --prefix=non-sequencer-$(VERSION)/ v$(VERSION) | bzip2 > non-sequencer-$(VERSION).tar.bz2
  90. TAGS: $(SRCS)
  91. etags $(SRCS)
  92. makedepend: make.conf $(SRCS)
  93. @ echo -n Calculating dependencies...
  94. @ makedepend -f- -- $(CXXFLAGS) -- $(SRCS) > makedepend 2>/dev/null && echo "$(DONE)"
  95. -include makedepend