summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--Makefile99
-rw-r--r--Makefile.mk5
2 files changed, 75 insertions, 29 deletions
diff --git a/Makefile b/Makefile
index 1fdee4e..d757d7c 100644
--- a/Makefile
+++ b/Makefile
@@ -1,24 +1,24 @@
-#!/usr/bin/make -f
-# Makefile for zam-plugins #
-# ------------------------ #
-# Created by falkTX
-#
+PREFIX ?= /usr/local
+LIBDIR ?= lib
-all: libs plugins gen
+# No heavy optimisations
+OPTIMIZATIONS ?= -O2 -ffast-math
-# --------------------------------------------------------------
+# Heavy optimisations
+#OPTIMIZATIONS ?= -O2 -ffast-math -mtune=generic -msse -msse2 -mfpmath=sse
-libs:
- $(MAKE) -C libs/dgl
+# Raspberry Pi
+#OPTIMIZATIONS ?= -O2 -ffast-math -march=armv6 -mfpu=vfp -mfloat-abi=hard
+
+NAME = zam-plugins-DPF
+VERSION = $(shell cat .version)
-plugins: libs
- $(MAKE) -C plugins/ZamComp
- $(MAKE) -C plugins/ZamCompX2
- $(MAKE) -C plugins/ZaMultiComp
- $(MAKE) -C plugins/ZaMultiCompX2
- $(MAKE) -C plugins/ZamTube
- $(MAKE) -C plugins/ZamEQ2
+PLUGINS=ZamComp ZamCompX2 ZaMultiComp ZaMultiCompX2 ZamTube ZamEQ2
+all: libs $(PLUGINS) gen
+
+libs: FORCE
+ $(MAKE) -C libs/dgl
gen: plugins libs/lv2_ttl_generator
@./libs/generate-ttl.sh
@@ -26,22 +26,67 @@ gen: plugins libs/lv2_ttl_generator
libs/lv2_ttl_generator:
$(MAKE) -C libs/lv2-ttl-generator
-# --------------------------------------------------------------
+$(PLUGINS): libs
+ $(MAKE) -C plugins/$@
install: all
+ install -d $(DESTDIR)$(PREFIX)/$(LIBDIR)/ladspa \
+ $(DESTDIR)$(PREFIX)/$(LIBDIR)/lv2
+ if test 'x$(OPTIMIZATIONS)' != 'x'; then \
+ optimizations='OPTIMIZATIONS=$(OPTIMIZATIONS)'; \
+ else \
+ optimizations=''; \
+ fi; \
+ for plugin in $(PLUGINS); do \
+ $(MAKE) PREFIX="$(PREFIX)" LIBDIR="$(LIBDIR)" $$optimizations \
+ -C "$$plugin"; \
+ done
+ install -f bin/*.lv2 ${DESTDIR}${PREFIX}/${LIBDIR}/lv2
-# --------------------------------------------------------------
+plugins: FORCE
-clean:
+
+clean: FORCE
+ for plugin in $(PLUGINS); do \
+ $(MAKE) PREFIX="$(PREFIX)" LIBDIR="$(LIBDIR)" -C plugins/"$$plugin" clean; \
+ done
$(MAKE) clean -C libs/dgl
- $(MAKE) clean -C plugins/ZamComp
- $(MAKE) clean -C plugins/ZamCompX2
- $(MAKE) clean -C plugins/ZaMultiComp
- $(MAKE) clean -C plugins/ZaMultiCompX2
- $(MAKE) clean -C plugins/ZamTube
- $(MAKE) clean -C plugins/ZamEQ2
$(MAKE) clean -C libs/lv2-ttl-generator
-# --------------------------------------------------------------
+.version: FORCE
+ if test -d .git; then \
+ git describe > .version; \
+ fi
+
+_dist_pre: .version FORCE
+ rm -rf dist
+ mkdir dist
+ git clone . dist/$(NAME)-$(VERSION)
+ (cd dist/$(NAME)-$(VERSION); git checkout $(VERSION))
+ $(MAKE) -C dist/$(NAME)-$(VERSION) plugins .version
+ rm -rf dist/$(NAME)-$(VERSION)/.git* \
+ dist/$(NAME)-$(VERSION)/*/.git*
+
+_dist_post: FORCE
+ rm -rf dist
+
+_dist_bz2: FORCE
+ cd dist; tar -cvjf ../$(NAME)-$(VERSION).tar.bz2 $(NAME)-$(VERSION)
+
+_dist_gz: FORCE
+ cd dist; tar -cvzf ../$(NAME)-$(VERSION).tar.gz $(NAME)-$(VERSION)
+
+_dist_xz: FORCE
+ cd dist; tar -cvJf ../$(NAME)-$(VERSION).tar.xz $(NAME)-$(VERSION)
+
+_dist_zip: FORCE
+ cd dist; zip -r ../$(NAME)-$(VERSION).zip $(NAME)-$(VERSION)
+
+dist_bz2: _dist_pre _dist_bz2 _dist_post
+dist_gz: _dist_pre _dist_gz _dist_post
+dist_xz: _dist_pre _dist_xz _dist_post
+dist_zip: _dist_pre _dist_zip _dist_post
+dist: dist_xz
+
+FORCE:
-.PHONY: libs plugins
diff --git a/Makefile.mk b/Makefile.mk
index f696755..40ca728 100644
--- a/Makefile.mk
+++ b/Makefile.mk
@@ -23,8 +23,9 @@ endif
# --------------------------------------------------------------
# Common build and link flags
+
BASE_FLAGS = -Wall -Wextra -pipe
-BASE_OPTS = -O2 -ffast-math -mtune=generic -msse -msse2 -mfpmath=sse -fdata-sections -ffunction-sections
+BASE_OPTS = $(OPTIMIZATIONS) -fdata-sections -ffunction-sections
LINK_OPTS = -fdata-sections -ffunction-sections -Wl,-O1 -Wl,--as-needed -Wl,--gc-sections -Wl,--strip-all
ifeq ($(MACOS),true)
@@ -34,7 +35,7 @@ endif
ifeq ($(RASPPI),true)
# Raspberry-Pi optimization flags
-BASE_OPTS = -O2 -ffast-math -march=armv6 -mfpu=vfp -mfloat-abi=hard
+BASE_OPTS = $(OPTIMIZATIONS)
LINK_OPTS = -Wl,-O1 -Wl,--as-needed -Wl,--strip-all
endif