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.

135 lines
4.1KB

  1. ###############################################################################
  2. # Copyright (C) 2007-2008 Jonathan Moore Liles #
  3. # #
  4. # This program is free software; you can redistribute it and/or modify it #
  5. # under the terms of the GNU General Public License as published by the #
  6. # Free Software Foundation; either version 2 of the License, or (at your #
  7. # option) any later version. #
  8. # #
  9. # This program is distributed in the hope that it will be useful, but WITHOUT #
  10. # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or #
  11. # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for #
  12. # more details. #
  13. # #
  14. # You should have received a copy of the GNU General Public License along #
  15. # with This program; see the file COPYING. If not,write to the Free Software #
  16. # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #
  17. ###############################################################################
  18. # Makefile for the Non Sequencer.
  19. #
  20. # Do not edit this file; run `make config` instead.
  21. #
  22. VERSION := 1.9.3
  23. all: .config non-sequencer
  24. .config: configure
  25. @ ./configure
  26. config:
  27. @ ./configure
  28. -include .config
  29. SYSTEM_PATH=$(prefix)/share/non-sequencer/
  30. DOCUMENT_PATH=$(prefix)/share/doc/non-sequencer/
  31. # a bit of a hack to make sure this runs before any rules
  32. ifneq ($(CALCULATING),yes)
  33. TOTAL := $(shell $(MAKE) CALCULATING=yes -n 2>/dev/null | sed -n 's/^.*Compiling: \([^"]\+\)"/\1/p' > .files )
  34. endif
  35. ifeq ($(USE_DEBUG),yes)
  36. CXXFLAGS := -pipe -ggdb -Wall -Wextra -Wnon-virtual-dtor -Wno-missing-field-initializers -O0 -fno-rtti -fno-exceptions
  37. else
  38. CXXFLAGS := -pipe -O2 -fno-rtti -fno-exceptions -DNDEBUG
  39. endif
  40. CFLAGS+=-DINSTALL_PREFIX=\"$(prefix)\" \
  41. -DSYSTEM_PATH=\"$(SYSTEM_PATH)\" \
  42. -DDOCUMENT_PATH=\"$(DOCUMENT_PATH)\"
  43. CXXFLAGS:=$(CFLAGS) $(CXXFLAGS) $(FLTK_CFLAGS) $(SIGCPP_CFLAGS) $(LASH_CFLAGS)
  44. LIBS:=$(FLTK_LIBS) $(JACK_LIBS) $(LASH_LIBS) $(SIGCPP_LIBS)
  45. ifeq ($(JACK_MIDI_PROTO_API),yes)
  46. CXXFLAGS+=-DJACK_MIDI_PROTO_API
  47. endif
  48. # uncomment this line to print each playback event to the console (not RT safe)
  49. # CXXFLAGS+= -DDEBUG_EVENTS
  50. SRCS:=$(wildcard src/*.C src/gui/*.fl src/gui/*.C)
  51. SRCS:=$(SRCS:.fl=.C)
  52. SRCS:=$(sort $(SRCS))
  53. OBJS:=$(SRCS:.C=.o)
  54. .PHONEY: all clean install dist valgrind config
  55. clean:
  56. rm -f non-sequencer .deps $(OBJS)
  57. @ echo "$(DONE)"
  58. valgrind:
  59. valgrind ./non-sequencer
  60. include scripts/colors
  61. ifneq ($(CALCULATING),yes)
  62. COMPILING="$(BOLD)$(BLACK)[$(SGR0)$(CYAN)`scripts/percent-complete .files "$<"`$(SGR0)$(BOLD)$(BLACK)]$(SGR0) Compiling: $(BOLD)$(YELLOW)$<$(SGR0)"
  63. else
  64. COMPILING="Compiling: $<"
  65. endif
  66. .C.o:
  67. @ echo $(COMPILING)
  68. @ $(CXX) $(CXXFLAGS) -c $< -o $@
  69. %.C : %.fl
  70. @ cd $(dir $<) && fluid -c $(notdir $<)
  71. $(OBJS): .config
  72. DONE:=$(BOLD)$(GREEN)done$(SGR0)
  73. non-sequencer: $(OBJS)
  74. @ echo -n "Linking..."
  75. @ rm -f $@
  76. @ scripts/build_id .version.c $(VERSION)
  77. @ $(CXX) -c .version.c
  78. @ $(CXX) $(CXXFLAGS) $(LIBS) $(OBJS) .version.o -o $@ || echo "$(BOLD)$(RED)Error!$(SGR0)"
  79. @ 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
  80. install: all
  81. @ echo -n "Installing..."
  82. @ install -d $(DESTDIR)$(prefix)/bin
  83. @ install -m 755 non-sequencer $(DESTDIR)$(prefix)/bin
  84. @ install -d "$(DESTDIR)$(SYSTEM_PATH)/instruments"
  85. @ install -m 644 instruments/* "$(DESTDIR)$(SYSTEM_PATH)/instruments"
  86. @ install -d "$(DESTDIR)$(DOCUMENT_PATH)"
  87. @ install -m 644 doc/*.html doc/*.png "$(DESTDIR)$(DOCUMENT_PATH)"
  88. @ echo "$(DONE)"
  89. ifneq ($(USE_DEBUG),yes)
  90. @ echo -n "Stripping..."
  91. @ strip $(DESTDIR)$(prefix)/bin/non-sequencer
  92. @ echo "$(DONE)"
  93. endif
  94. dist:
  95. git archive --prefix=non-sequencer-$(VERSION)/ v$(VERSION) | bzip2 > non-sequencer-$(VERSION).tar.bz2
  96. TAGS: $(SRCS)
  97. etags $(SRCS)
  98. .deps: .config $(SRCS)
  99. @ echo -n Calculating dependencies...
  100. @ makedepend -f- -- $(CXXFLAGS) $(INCLUDES) -- $(SRCS) > .deps 2>/dev/null && echo $(DONE)
  101. -include .deps