Commit 2c281221 authored by Albert Gräf's avatar Albert Gräf

Makefile adjustments to pass extra options and build the double precision version.

parent ac6d6849
......@@ -87,6 +87,18 @@ ifneq ($(prefix),)
env = inst_dir="$(prefix)"
endif
install_vars = DESTDIR=$(firstword $(wildcard $(CURDIR)/packages/*/build)) prefix=$(prefix)
# You can set CFLAGS to whatever special compile options are needed. E.g., to
# build the double precision version: CFLAGS = -DPD_FLOATSIZE=64
CFLAGS =
export CFLAGS
# You can also set this variable to specify externals NOT to be built. E.g.,
# to prevent building Gem (which takes an eternity to build): blacklist = gem
blacklist =
export blacklist
all:
cd l2ork_addons && $(env) ./tar_em_up.sh -Tk
......@@ -96,11 +108,28 @@ incremental:
light:
cd l2ork_addons && $(env) ./tar_em_up.sh -tkl
# Convenience targets to build the double precision version.
# Blacklist of externals which don't work with double precision yet.
double_blacklist = autotune smlib
# These are dubious, passing float* for t_float* pointers, and so are most
# likely broken, even though they compile with double precision.
double_blacklist += cyclone lyonpotpourri
all-double:
cd l2ork_addons && $(env) CFLAGS=-DPD_FLOATSIZE=64 blacklist="$(double_blacklist)" ./tar_em_up.sh -Tk
incremental-double:
cd l2ork_addons && $(env) CFLAGS=-DPD_FLOATSIZE=64 blacklist="$(double_blacklist)" ./tar_em_up.sh -tk
light-double:
cd l2ork_addons && $(env) CFLAGS=-DPD_FLOATSIZE=64 blacklist="$(double_blacklist)" ./tar_em_up.sh -tkl
%_abs:
make -C abstractions $(@:%_abs=%_install) DESTDIR=$(firstword $(wildcard $(CURDIR)/packages/*/build)) prefix=$(prefix)
make -C abstractions $(@:%_abs=%) $(@:%_abs=%_install) $(install_vars)
%_ext:
make -C externals $(@:%_ext=%_install) DESTDIR=$(firstword $(wildcard $(CURDIR)/packages/*/build)) prefix=$(prefix)
make -C externals $(@:%_ext=%) $(@:%_ext=%_install) $(install_vars)
checkout:
git submodule update --init
......
......@@ -44,7 +44,7 @@ DEST_PATHS = BUILDLAYOUT_DIR=$(BUILDLAYOUT_DIR) \
BUILDSRC_OS_NAME = $(OS_NAME)
WARN_FLAGS = -Wall -W -Wno-unused-parameter
CFLAGS = -DPD -I$(pd_src)/src $(WARN_FLAGS) $(DEBUG_CFLAGS) -I$(gem_src)/src
CFLAGS = -DPD -I$(pd_src)/src $(WARN_FLAGS) $(DEBUG_CFLAGS) $(CFLAGS_ADD) -I$(gem_src)/src
LDFLAGS =
LIBS = -lm
......@@ -131,10 +131,10 @@ CXXFLAGS = $(CFLAGS)
# building scripts rely on it being that way.
ifeq ($(LIGHT),yes)
# minimal set of extensions for the "light" build
LIB_TARGETS = loaders-libdir pddp
lib_targets = loaders-libdir pddp
INCREMENTAL = yes
else
LIB_TARGETS = adaptive arraysize autotune bassemu boids bsaylor comport creb cxc cyclone disis earplug ekext ext13 fftease fluid freeverb ggee hcs iem_ambi iem_bin_ambi iemlib iemgui iemguts iem_adaptfilt iemmatrix iemxmlrpc iem_delay iem_roomsim iem_spec2 iem_tab jasch_lib loaders-libdir lyonpotpourri mapping markex maxlib mjlib moocow moonlib motex mrpeach oscx pan pdcontainer pddp pdlua pdogg plugin pmpd rjlib sigpack smlib tof unauthorized vbap windowing zexy
lib_targets = adaptive arraysize autotune bassemu boids bsaylor comport creb cxc cyclone disis earplug ekext ext13 fftease fluid freeverb ggee hcs iem_ambi iem_bin_ambi iemlib iemgui iemguts iem_adaptfilt iemmatrix iemxmlrpc iem_delay iem_roomsim iem_spec2 iem_tab jasch_lib loaders-libdir lyonpotpourri mapping markex maxlib mjlib moocow moonlib motex mrpeach oscx pan pdcontainer pddp pdlua pdogg plugin pmpd rjlib sigpack smlib tof unauthorized vbap windowing zexy
endif
# DISABLED: flatgui
......@@ -145,27 +145,30 @@ endif
ifneq ($(LIGHT),yes)
ifeq ($(OS_NAME),windows)
ifneq ($(INCREMENTAL),yes)
LIB_TARGETS += gem
lib_targets += gem
endif
else
ifeq ($(OS_NAME),darwin)
# on Mac OS X 10.6/Snow Leopard don't build hid since it needs Carbon
LIB_TARGETS += pdp iem16 apple
lib_targets += pdp iem16 apple
ifneq ($(shell uname -r | sed 's|10\.[0-9][0-9]*\.[0-9][0-9]*|10|'),10)
LIB_TARGETS +=
lib_targets +=
endif
else ifneq ($(LIGHT),yes)
# GNU/Linux, BSD, IRIX, etc. (we use exported variable INCREMENTAL to
# avoid rebuilding entire Gem lib that takes a long time to compile)
ifeq ($(INCREMENTAL),yes)
LIB_TARGETS += hid pdp iem16
lib_targets += hid pdp iem16
else
LIB_TARGETS += gem pdp hid iem16
lib_targets += gem pdp hid iem16
endif
endif
endif
endif # ifneq ($(LIGHT),yes)
# filter out blacklist of all targets NOT to be built
LIB_TARGETS = $(filter-out $(blacklist),$(lib_targets))
#------------------------------------------------------------------------------#
all: $(LIB_TARGETS)
......@@ -441,9 +444,12 @@ cxc_clean:
#------------------------------------------------------------------------------#
# CYCLONE
# AG: this external provides no sane way to pass custom CFLAGS, so we abuse
# WARN_CFLAGS for that purpose.
cyclone:
make -C $(externals_src)/miXed/cyclone -f Makefile.libdir \
PD_PATH=$(pd_src) PD_INCLUDE=$(DESTDIR)$(includedir)
PD_PATH=$(pd_src) PD_INCLUDE=$(DESTDIR)$(includedir) WARN_CFLAGS="-Wall -W -Wstrict-prototypes -Wno-unused -Wno-parentheses -Wno-switch $(CFLAGS_ADD)"
cyclone_install:
make -C $(externals_src)/miXed/cyclone -f Makefile.libdir \
......@@ -463,7 +469,7 @@ ifneq ($(OS_NAME),darwin)
./configure --with-python=python2 && make
endif
endif
make -C $(externals_src)/disis PD_PATH=$(pd_src) pdbinpath=$(pd_src)/src
make -C $(externals_src)/disis PD_PATH=$(pd_src) pdbinpath=$(pd_src)/src CFLAGS="$(CFLAGS_ADD)"
disis_install:
make -C $(externals_src)/disis \
......@@ -506,7 +512,7 @@ ext13_clean:
FFTEASE_NAME=fftease
fftease:
make -C $(externals_src)/$(FFTEASE_NAME) PD_PATH=$(pd_src)
make -C $(externals_src)/$(FFTEASE_NAME) PD_PATH=$(pd_src) CFLAGS="$(CFLAGS_ADD)"
fftease_install:
#make -C $(externals_src)/$(FFTEASE_NAME) DESTDIR="$(DESTDIR)" \
......@@ -621,7 +627,7 @@ flib_clean:
fluid:
make -C $(externals_src)/fluid~ PD_PATH=$(pd_src) \
pdbinpath=$(pd_src)/src
pdbinpath=$(pd_src)/src CFLAGS="$(CFLAGS_ADD)"
fluid_install:
make -C $(externals_src)/fluid~ DESTDIR="$(DESTDIR)" \
......@@ -650,7 +656,7 @@ $(gem_src)/configure:
$(gem_src)/Gem.dll: $(gem_src)/configure
cd $(gem_src) && ./configure \
CXXFLAGS="-DHAVE_S_STUFF_H" \
CXXFLAGS="-DHAVE_S_STUFF_H $(CFLAGS_ADD)" \
--host=i686-w64-mingw32 \
--without-ALL \
--with-jpeg \
......@@ -668,7 +674,7 @@ $(gem_src)/Gem.dll: $(gem_src)/configure
$(gem_src)/Gem.pd_linux: $(gem_src)/configure
test -s $(gem_src)/Gem.pd_linux || \
cd $(gem_src) && ./configure \
CXXFLAGS="-DHAVE_S_STUFF_H" \
CXXFLAGS="-DHAVE_S_STUFF_H $(CFLAGS_ADD)" \
--prefix=$(prefix) \
--with-video=plugins \
--with-film=plugins \
......@@ -677,7 +683,7 @@ $(gem_src)/Gem.pd_linux: $(gem_src)/configure
$(gem_src)/Gem.pd_darwin: $(gem_src)/configure
cd $(gem_src) && ./configure \
CXXFLAGS="-DHAVE_S_STUFF_H" \
CXXFLAGS="-DHAVE_S_STUFF_H $(CFLAGS_ADD)" \
PKG_FTGL_CFLAGS="-I/sw/include -I/sw/include/freetype2 -I/sw/include/FTGL" \
--prefix=$(prefix) \
--libdir=$(objectsdir) \
......@@ -1141,7 +1147,7 @@ LYON_SRC=lyonpotpourri
LYON_DEST=lyonpotpourri
lyonpotpourri:
make -C $(externals_src)/$(LYON_SRC) PD_PATH=$(pd_src)
make -C $(externals_src)/$(LYON_SRC) PD_PATH=$(pd_src) CFLAGS="$(CFLAGS_ADD)"
lyonpotpourri_install:
#make -C $(externals_src)/$(LYON_SRC) DESTDIR="$(DESTDIR)" \
......
......@@ -206,7 +206,7 @@ extensions_install:
#------------------------------------------------------------------------------
# externals_install
externals_install:
$(MAKE) -C $(externals_src) $(DEST_PATHS) install INCREMENTAL=$(INCREMENTAL) LIGHT=$(LIGHT)
$(MAKE) -C $(externals_src) $(DEST_PATHS) install INCREMENTAL=$(INCREMENTAL) LIGHT=$(LIGHT) CFLAGS_ADD="$(CFLAGS)"
#------------------------------------------------------------------------------
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment