summaryrefslogtreecommitdiff
path: root/Makefile
diff options
context:
space:
mode:
authorDamien Zammit <damien@zamaudio.com>2014-04-19 20:27:12 +1000
committerDamien Zammit <damien@zamaudio.com>2014-04-19 20:27:12 +1000
commit86a4c7c308068d255160c2218b37c4d0e7f0a259 (patch)
tree60a8ca4a03c7b4b5cbe12fc8dbffcf20e7053c14 /Makefile
parentd920b179ebd32d7c266c83640d85f128b1ebc526 (diff)
Makefile tweaks for make dist
Signed-off-by: Damien Zammit <damien@zamaudio.com>
Diffstat (limited to 'Makefile')
-rw-r--r--Makefile99
1 files changed, 72 insertions, 27 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