File: Makefile

package info (click to toggle)
faust 2.30.5~ds0-2
  • links: PTS, VCS
  • area: main
  • in suites: bullseye
  • size: 279,348 kB
  • sloc: cpp: 239,368; javascript: 32,310; ansic: 17,442; sh: 11,925; java: 5,903; objc: 3,879; makefile: 3,030; cs: 1,139; python: 987; ruby: 951; xml: 693; yacc: 537; lex: 239; lisp: 201; awk: 110
file content (46 lines) | stat: -rw-r--r-- 1,353 bytes parent folder | download | duplicates (4)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
# All libraries
LIBS := $(wildcard ../*.lib)

# All libraries without the 'entry' points ones
INTERNAL_LIBS := $(filter-out ../all.lib ../sf.lib ../stdfaust.lib, $(LIBS))

all: deps.pdf internal_deps.pdf

internal: internal_deps.pdf

help:
	@echo "============ Faust libraries tools ============"
	@echo "Available targets are:"
	@echo "  all (default) : compute a dependencies graph of all libraries using dot"
	@echo "  internal      : compute a dependencies graph of libraries (without 'entry' point ones) using dot"
	@echo "  clean         : remove output files"

deps.pdf: deps.dot

deps.dot: 
	echo "digraph impl { " > $@
	echo "margin=0.05;\n" >> $@
	egrep "=[ \t]*library|^import" $(LIBS) | sed -e 's/^\.\.\///' \
	| sed -e 's/:.*=[ \t]*library("/ -> /' | sed -e 's/:import("/ -> /' \
	| sed -e 's/"..*/;/' |sed -e 's/\.lib//g' | sed -e 's/\//_/g' >> $@
	echo "}" >> $@

internal_deps.pdf: internal_deps.dot

internal_deps.dot: 
	echo "digraph impl { " > $@
	echo "margin=0.05;\n" >> $@
	egrep "=[ \t]*library|^import" $(INTERNAL_LIBS) | sed -e 's/^\.\.\///' \
	| sed -e 's/:.*=[ \t]*library("/ -> /' | sed -e 's/:import("/ -> /' \
	| sed -e 's/"..*/;/' |sed -e 's/\.lib//g' | sed -e 's/\//_/g' >> $@
	echo "}" >> $@
	
clean:
	rm -f deps.pdf deps.dot internal_deps.pdf internal_deps.dot

test:
	echo $(LIBS) 

%.pdf: %.dot
	dot -Tpdf -o $@ $<