############################################################################### # Copyright (C) 2008 Jonathan Moore Liles # # # # This program is free software; you can redistribute it and/or modify it # # under the terms of the GNU General Public License as published by the # # Free Software Foundation; either version 2 of the License, or (at your # # option) any later version. # # # # This program is distributed in the hope that it will be useful, but WITHOUT # # ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or # # FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for # # more details. # # # # You should have received a copy of the GNU General Public License along # # with This program; see the file COPYING. If not,write to the Free Software # # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # ############################################################################### ## Makefile for the Non-DAW. ## ## Do not edit this file; run `make config` instead. ## VERSION := 0.5.0 all: .config .config: configure @ ./configure config: @ ./configure -include .config export SYSTEM_PATH:=$(prefix)/share/ export DOCUMENT_PATH:=$(prefix)/share/doc/ export PIXMAP_PATH:=$(prefix)/share/pixmaps/ # a bit of a hack to make sure this runs before any rules ifneq ($(CALCULATING),yes) TOTAL := $(shell $(MAKE) CALCULATING=yes -n 2>/dev/null | sed -n 's/^.*Compiling: \([^"]\+\)"/\1/p' > .files ) endif ifeq ($(USE_DEBUG),yes) CFLAGS := -pipe -ggdb -fno-inline -Wall -Wextra -O0 CXXFLAGS := -Wnon-virtual-dtor -Wno-missing-field-initializers -fno-rtti -fno-exceptions else CFLAGS := -pipe -O2 -DNDEBUG CXXFLAGS := -fno-rtti -fno-exceptions endif ifeq ($(USE_UNOPTIMIZED_DRAWING),yes) CFLAGS+=-DUSE_UNOPTIMIZED_DRAWING endif ifeq ($(USE_SINGLEBUFFERED_TIMELINE),yes) CFLAGS+=-DUSE_SINGLEBUFFERED_TIMELINE endif ifeq ($(USE_WIDGET_FOR_TIMELINE),yes) CFLAGS+=-DUSE_WIDGET_FOR_TIMELINE endif CFLAGS+=-DVERSION=\"$(VERSION)\" \ -DINSTALL_PREFIX=\"$(prefix)\" \ -DSYSTEM_PATH=\"$(SYSTEM_PATH)\" \ -DDOCUMENT_PATH=\"$(DOCUMENT_PATH)\" \ -DPIXMAP_PATH=\"$(PIXMAP_PATH)\" CXXFLAGS += $(SNDFILE_CFLAGS) $(FLTK_CFLAGS) $(JACK_CFLAGS) CXXFLAGS := $(CFLAGS) $(CXXFLAGS) INCLUDES := -I. -Iutil -IFL -Inonlib include scripts/colors ifneq ($(CALCULATING),yes) COMPILING="$(BOLD)$(BLACK)[$(SGR0)$(CYAN)`scripts/percent-complete .files "$<"`$(SGR0)$(BOLD)$(BLACK)]$(SGR0) Compiling: $(BOLD)$(YELLOW)$<$(SGR0)" else COMPILING="Compiling: $<" endif .C.o: @ echo $(COMPILING) @ $(CXX) $(CXXFLAGS) $(INCLUDES) -c $< -o $@ %.C : %.fl @ cd `dirname $<` && fluid -c ../$< DONE := $(BOLD)$(GREEN)done$(SGR0) include FL/makefile.inc include nonlib/makefile.inc include Timeline/makefile.inc include Mixer/makefile.inc SRCS:=$(FL_SRCS) $(nonlib_SRCS) $(Timeline_SRCS) $(Mixer_SRCS) OBJS:=$(FL_OBJS) $(nonlib_OBJS) $(Timeline_OBJS) $(Mixer_OBJS) # FIXME: isn't there a better way? $(OBJS): .config Makefile TAGS: $(SRCS) etags $(SRCS) .deps: .config $(SRCS) ifneq ($(CALCULATING),yes) @ echo -n Calculating dependencies... @ makedepend -f- -- $(CXXFLAGS) $(INCLUDES) -- $(SRCS) 2>/dev/null > .deps && echo $(DONE) # @ gcc -M $(CXXFLAGS) $(INCLUDES) $(SRCS) > .deps && echo $(DONE) endif install: all @ echo -n "Installing..." @ install Timeline/timeline $(prefix)/bin/non-daw @ install Mixer/mixer $(prefix)/bin/non-mixer @ mkdir -p $(SYSTEM_PATH)/non-daw @ mkdir -p $(PIXMAP_PATH)/non-daw @ mkdir -p $(SYSTEM_PATH)/non-mixer @ mkdir -p $(PIXMAP_PATH)/non-mixer @ cp pixmaps/non-mixer/*.png $(PIXMAP_PATH)/non-mixer @ cp pixmaps/non-daw/*.png $(PIXMAP_PATH)non-daw @ $(MAKE) -s -C doc install @ echo "$(DONE)" ifneq ($(USE_DEBUG),yes) @ echo -n "Stripping..." @ strip $(prefix)/bin/non-daw @ strip $(prefix)/bin/non-mixer @ echo "$(DONE)" endif clean_deps: @ rm -f .deps .PHONEY: clean config depend clean_deps clean: FL_clean nonlib_clean Timeline_clean Mixer_clean dist: git archive --prefix=non-daw-$(VERSION)/ v$(VERSION) | bzip2 > non-daw-$(VERSION).tar.bz2 scan-gpl: @ scripts/scan-gpl $(SRCS) || echo $(BOLD)$(RED)Some source files do not contain proper license information! -include .deps