Tweak build system.

This commit is contained in:
Jonathan Moore Liles 2010-02-01 03:50:38 -06:00
parent 8c891962c2
commit 4cf327e1a7
11 changed files with 294 additions and 12 deletions

1
FL/FL Symbolic link
View File

@ -0,0 +1 @@
.

115
FL/Makefile Normal file
View File

@ -0,0 +1,115 @@
###############################################################################
# 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 := 1.0.0
PACKAGE := FL
all: .config
.config: configure
@ echo '<<< Configuring '$(PACKAGE)
@ ./configure
config:
@ echo '<<< Configuring '$(PACKAGE)
@ ./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
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)$(PACKAGE) [$(SGR0)$(CYAN)`scripts/percent-complete .files "$<"`$(SGR0)$(BOLD)$(BLACK)]$(SGR0) $(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 makefile.inc
SRCS:=$(FL_SRCS)
OBJS:=$(FL_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
clean_deps:
@ rm -f .deps
install:
@ echo ...
.PHONEY: clean config depend clean_deps
clean: FL_clean
-include .deps

21
FL/configure vendored Executable file
View File

@ -0,0 +1,21 @@
#!/bin/sh
#
# Copyright (C) 2008 Jonathan Moore Liles
# This file is licensed under version 2 of the GPL.
. scripts/config-funcs
begin
begin_options
ask "Build for debugging" USE_DEBUG no
begin_tests
require_FLTK 1.1.7 images
require_command FLUID fluid
require_command ar ar
require_command makedepend makedepend
end

1
FL/scripts Symbolic link
View File

@ -0,0 +1 @@
../scripts

View File

@ -17,7 +17,7 @@
# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. # # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. #
############################################################################### ###############################################################################
SUBDIRS=timeline mixer SUBDIRS=nonlib FL timeline mixer
all: all:
@ for dir in $(SUBDIRS); do $(MAKE) -s -C $$dir; done @ for dir in $(SUBDIRS); do $(MAKE) -s -C $$dir; done
@ -28,4 +28,5 @@ clean:
install: install:
@ for dir in $(SUBDIRS); do $(MAKE) -s -C $$dir install; done @ for dir in $(SUBDIRS); do $(MAKE) -s -C $$dir install; done
config:
@ for dir in $(SUBDIRS); do $(MAKE) -s -C $$dir config; done

View File

@ -24,13 +24,16 @@
## ##
VERSION := 1.0.0 VERSION := 1.0.0
PACKAGE := MIXER
all: .config all: .config
.config: configure .config: configure
@ echo '<<< Configuring '$(PACKAGE)
@ ./configure @ ./configure
config: config:
@ echo '<<< Configuring '$(PACKAGE)
@ ./configure @ ./configure
-include .config -include .config
@ -67,7 +70,7 @@ INCLUDES := -I. -Iutil -IFL -Inonlib
include scripts/colors include scripts/colors
ifneq ($(CALCULATING),yes) ifneq ($(CALCULATING),yes)
COMPILING="$(BOLD)$(BLACK)[$(SGR0)$(CYAN)`scripts/percent-complete .files "$<"`$(SGR0)$(BOLD)$(BLACK)]$(SGR0) Compiling: $(BOLD)$(YELLOW)$<$(SGR0)" COMPILING="$(BOLD)$(BLACK)MIXER [$(SGR0)$(CYAN)`scripts/percent-complete .files "$<"`$(SGR0)$(BOLD)$(BLACK)]$(SGR0) $(BOLD)$(YELLOW)$<$(SGR0)"
else else
COMPILING="Compiling: $<" COMPILING="Compiling: $<"
endif endif
@ -82,11 +85,11 @@ endif
DONE := $(BOLD)$(GREEN)done$(SGR0) DONE := $(BOLD)$(GREEN)done$(SGR0)
include FL/makefile.inc include FL/makefile.inc
include nonlib/makefile.inc #include nonlib/makefile.inc
include makefile.inc include makefile.inc
SRCS:=$(FL_SRCS) $(nonlib_SRCS) $(Mixer_SRCS) SRCS:=$(Mixer_SRCS)
OBJS:=$(FL_OBJS) $(nonlib_OBJS) $(Mixer_OBJS) OBJS:=$(Mixer_OBJS)
# FIXME: isn't there a better way? # FIXME: isn't there a better way?
$(OBJS): .config Makefile $(OBJS): .config Makefile
@ -121,7 +124,7 @@ clean_deps:
.PHONEY: clean config depend clean_deps .PHONEY: clean config depend clean_deps
clean: FL_clean nonlib_clean Mixer_clean clean: FL_clean Mixer_clean
dist: dist:
git archive --prefix=non-mixer-$(VERSION)/ v$(VERSION) | bzip2 > non-mixer-$(VERSION).tar.bz2 git archive --prefix=non-mixer-$(VERSION)/ v$(VERSION) | bzip2 > non-mixer-$(VERSION).tar.bz2

115
nonlib/Makefile Normal file
View File

@ -0,0 +1,115 @@
###############################################################################
# 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 := 1.0.0
PACKAGE := NONLIB
all: .config
.config: configure
@ echo '<<< Configuring '$(PACKAGE)
@ ./configure
config:
@ echo '<<< Configuring '$(PACKAGE)
@ ./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
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)NONLIB [$(SGR0)$(CYAN)`scripts/percent-complete .files "$<"`$(SGR0)$(BOLD)$(BLACK)]$(SGR0) $(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 makefile.inc
SRCS:=$(nonlib_SRCS)
OBJS:=$(nonlib_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
clean_deps:
@ rm -f .deps
.PHONEY: clean config depend clean_deps
install:
@ echo ...
clean: nonlib_clean
-include .deps

20
nonlib/configure vendored Executable file
View File

@ -0,0 +1,20 @@
#!/bin/sh
#
# Copyright (C) 2008 Jonathan Moore Liles
# This file is licensed under version 2 of the GPL.
. scripts/config-funcs
begin
begin_options
ask "Build for debugging" USE_DEBUG no
begin_tests
require_command ar ar
require_command makedepend makedepend
require_package JACK 0.103.0 jack
end

1
nonlib/nonlib Symbolic link
View File

@ -0,0 +1 @@
.

1
nonlib/scripts Symbolic link
View File

@ -0,0 +1 @@
../scripts

View File

@ -24,13 +24,16 @@
## ##
VERSION := 1.0.0 VERSION := 1.0.0
PACKAGE := TIMELINE
all: .config all: .config
.config: configure .config: configure
@ echo '<<< Configuring '$(PACKAGE)
@ ./configure @ ./configure
config: config:
@ echo '<<< Configuring '$(PACKAGE)
@ ./configure @ ./configure
-include .config -include .config
@ -79,7 +82,7 @@ INCLUDES := -I. -Iutil -IFL -Inonlib
include scripts/colors include scripts/colors
ifneq ($(CALCULATING),yes) ifneq ($(CALCULATING),yes)
COMPILING="$(BOLD)$(BLACK)[$(SGR0)$(CYAN)`scripts/percent-complete .files "$<"`$(SGR0)$(BOLD)$(BLACK)]$(SGR0) Compiling: $(BOLD)$(YELLOW)$<$(SGR0)" COMPILING="$(BOLD)$(BLACK)$(PACKAGE) [$(SGR0)$(CYAN)`scripts/percent-complete .files "$<"`$(SGR0)$(BOLD)$(BLACK)]$(SGR0) $(BOLD)$(YELLOW)$<$(SGR0)"
else else
COMPILING="Compiling: $<" COMPILING="Compiling: $<"
endif endif
@ -94,11 +97,11 @@ endif
DONE := $(BOLD)$(GREEN)done$(SGR0) DONE := $(BOLD)$(GREEN)done$(SGR0)
include FL/makefile.inc include FL/makefile.inc
include nonlib/makefile.inc # include nonlib/makefile.inc
include makefile.inc include makefile.inc
SRCS:=$(FL_SRCS) $(nonlib_SRCS) $(Timeline_SRCS) $(Mixer_SRCS) SRCS:=$(Timeline_SRCS)
OBJS:=$(FL_OBJS) $(nonlib_OBJS) $(Timeline_OBJS) $(Mixer_OBJS) OBJS:=$(Timeline_OBJS)
# FIXME: isn't there a better way? # FIXME: isn't there a better way?
$(OBJS): .config Makefile $(OBJS): .config Makefile
@ -133,7 +136,7 @@ clean_deps:
.PHONEY: clean config depend clean_deps .PHONEY: clean config depend clean_deps
clean: FL_clean nonlib_clean Timeline_clean clean: FL_clean Timeline_clean
dist: dist:
git archive --prefix=non-daw-$(VERSION)/ v$(VERSION) | bzip2 > non-daw-$(VERSION).tar.bz2 git archive --prefix=non-daw-$(VERSION)/ v$(VERSION) | bzip2 > non-daw-$(VERSION).tar.bz2