File: Make.gcc

package info (click to toggle)
faust 2.79.3%2Bds-2
  • links: PTS, VCS
  • area: main
  • in suites: trixie
  • size: 397,496 kB
  • sloc: cpp: 278,433; ansic: 116,164; javascript: 18,529; vhdl: 14,052; sh: 13,884; java: 5,900; objc: 3,852; python: 3,222; makefile: 2,655; cs: 1,672; lisp: 1,146; ruby: 954; yacc: 586; xml: 471; lex: 247; awk: 110; tcl: 26
file content (188 lines) | stat: -rw-r--r-- 7,809 bytes parent folder | download | duplicates (2)
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
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
#
# Makefile for testing the Faust compiler output
#

system := $(shell uname -s)
system := $(shell echo $(system) | grep MINGW > /dev/null && echo MINGW || echo $(system))
ifeq ($(system), MINGW)
 FAUST ?= ../../build/bin/faust.exe
 COMPARE := ./filesCompare.exe
else
 FAUST ?= ../../build/bin/faust
 COMPARE := ./filesCompare
endif
MAKE ?= make

GCCOPTIONS := -O3 -I../../architecture -I/usr/local/include/ap_fixed -Iarchs -pthread -std=c++11
outdir ?= cpp/double
lang ?= cpp
ext  ?= cpp
arch ?= impulsearch.cpp
precision ?=		# filesCompare precision (empty by default)
FAUSTOPTIONS := -double
ifeq ($(lang), c)
#	CXX = gcc
	ext = c
endif

.PHONY: test 
.DELETE_ON_ERROR:

dspfiles := $(wildcard dsp/*.dsp)

listfiles = $(dspfiles:dsp/%.dsp=ir/$1/%.ir)
listintermediate = $(dspfiles:dsp/%.dsp=ir/$1/%) $(dspfiles:dsp/%.dsp=ir/$1/%.cpp) 

TOOLSOPTIONS := -std=c++11 -O3 -I../../architecture
LIB    ?= ../../build/lib/libfaust.a
SRCDIR := tools

all: filesCompare ir/$(outdir) $(call listfiles,$(outdir))

test:
#	$(file > faustoptions.txt, "some text")
	@echo $(call listwebfiles,$(asmjsdir))

help:
	@echo "-------- FAUST impulse response tests --------"
	@echo "Available targets are:"
	@echo " 'all' (default): generate ir for all the dsp files using the given options"
	@echo
	@echo "Options:"
	@echo " 'outdir'       : define the output directory (default to '$(outdir)')"
	@echo " 'lang'         : used for faust -lang option (default to '$(lang)')"
	@echo " 'arch'         : used for faust -a option (default to '$(arch)')"
	@echo " 'FAUSTOPTIONS' : define additional faust options (default to $(FAUSTOPTIONS))"
	@echo " 'precision'    : define filesCompare expected precision (empty by default)"

#########################################################################
# output directories
ir/$(outdir):
	mkdir -p ir/$(outdir)

filesCompare:
	$(MAKE) filesCompare

#########################################################################
# precision issues 

ir/$(lang)/float/omp/zita_rev1.ir:			precision=0.00001
ir/$(lang)/float/omp/virtual_analog_oscillators.ir: precision=0.00004
ir/$(lang)/float/omp/thru_zero_flanger.ir: 	precision=0.002
ir/$(lang)/float/omp/tester2.ir:			precision=0.000003
ir/$(lang)/float/omp/tester.ir:				precision=0.00008
ir/$(lang)/float/omp/spectral_tilt.ir:		precision=0.003
ir/$(lang)/float/omp/phaser_flanger.ir:		precision=0.005
ir/$(lang)/float/omp/parametric_eq.ir:		precision=0.015
ir/$(lang)/float/omp/osci.ir:				precision=0.005
ir/$(lang)/float/omp/osc.ir:				precision=0.002
ir/$(lang)/float/omp/lowcut.ir:				precision=0.000005
ir/$(lang)/float/omp/lfboost.ir:			precision=0.000005
ir/$(lang)/float/omp/cubic_distortion.ir:	precision=0.03
ir/$(lang)/float/omp/comb_delay2.ir:		precision=0.065
ir/$(lang)/float/omp/comb_delay1.ir:		precision=0.065
ir/$(lang)/float/omp/carre_volterra.ir:		precision=0.002

ir/$(lang)/float/sched/zita_rev1.ir:		precision=0.00001
ir/$(lang)/float/sched/virtual_analog_oscillators.ir: precision=0.00004
ir/$(lang)/float/sched/thru_zero_flanger.ir: precision=0.002
ir/$(lang)/float/sched/tester2.ir:			precision=0.000003
ir/$(lang)/float/sched/tester.ir:			precision=0.00008
ir/$(lang)/float/sched/spectral_tilt.ir:	precision=0.003
ir/$(lang)/float/sched/phaser_flanger.ir:	precision=0.005
ir/$(lang)/float/sched/parametric_eq.ir:	precision=0.015
ir/$(lang)/float/sched/osci.ir:				precision=0.005
ir/$(lang)/float/sched/osc.ir:				precision=0.002
ir/$(lang)/float/sched/lowcut.ir:			precision=0.000005
ir/$(lang)/float/sched/lfboost.ir:			precision=0.000005
ir/$(lang)/float/sched/cubic_distortion.ir:	precision=0.03
ir/$(lang)/float/sched/comb_delay2.ir:		precision=0.065
ir/$(lang)/float/sched/comb_delay1.ir:		precision=0.065
ir/$(lang)/float/sched/carre_volterra.ir:	precision=0.002

ir/$(lang)/float/vec/zita_rev1.ir:			precision=0.00001
ir/$(lang)/float/vec/virtual_analog_oscillators.ir: precision=0.00004
ir/$(lang)/float/vec/thru_zero_flanger.ir:	precision=0.002
ir/$(lang)/float/vec/tester2.ir:			precision=0.000003
ir/$(lang)/float/vec/tester.ir:				precision=0.00008
ir/$(lang)/float/vec/spectral_tilt.ir:		precision=0.003
ir/$(lang)/float/vec/phaser_flanger.ir:		precision=0.005
ir/$(lang)/float/vec/parametric_eq.ir:		precision=0.015
ir/$(lang)/float/vec/osci.ir:				precision=0.005
ir/$(lang)/float/vec/osc.ir:				precision=0.002
ir/$(lang)/float/vec/lowcut.ir:				precision=0.000005
ir/$(lang)/float/vec/lfboost.ir:			precision=0.000005
ir/$(lang)/float/vec/cubic_distortion.ir:	precision=0.03
ir/$(lang)/float/vec/comb_delay2.ir:		precision=0.065
ir/$(lang)/float/vec/comb_delay1.ir:		precision=0.065
ir/$(lang)/float/vec/carre_volterra.ir:		precision=0.002
 
ir/$(lang)/float/zita_rev1.ir:				precision=0.00001
ir/$(lang)/float/virtual_analog_oscillators.ir: precision=0.00004
ir/$(lang)/float/thru_zero_flanger.ir:		precision=0.002
ir/$(lang)/float/tester2.ir:				precision=0.000003
ir/$(lang)/float/tester.ir:					precision=0.00008
ir/$(lang)/float/spectral_tilt.ir:			precision=0.003
ir/$(lang)/float/phaser_flanger.ir:			precision=0.005
ir/$(lang)/float/parametric_eq.ir:			precision=0.015
ir/$(lang)/float/osci.ir:					precision=0.005
ir/$(lang)/float/osc.ir:					precision=0.002
ir/$(lang)/float/lowcut.ir:					precision=1e-05
ir/$(lang)/float/lfboost.ir:				precision=5e-05
ir/$(lang)/float/cubic_distortion.ir:		precision=0.03
ir/$(lang)/float/comb_delay2.ir:			precision=0.065
ir/$(lang)/float/comb_delay1.ir:			precision=0.065
ir/$(lang)/float/carre_volterra.ir: 		precision=0.0015

ir/c/double/sched/parametric_eq.ir:		precision=0.004
ir/cpp/double/sched/parametric_eq.ir: 	precision=0.04

#########################################################################
# rules 
ir/$(outdir)/%.ir: ir/$(outdir)/% reference/%.ir
	$< -n 60000 > $@
	$(COMPARE) $@ reference/$(notdir $@) $(precision)
	
ir/$(outdir)/% : ir/$(outdir)/%.$(ext)
	$(CXX) $(GCCOPTIONS) $< -o $@

# Specific rule to test 'control' primitive that currently uses the -lang ocpp backend (still compiling in scalar mode...)
ir/$(outdir)/control.cpp : dsp/control.dsp
	@echo "Can only be tested in scalar mode"
	$(FAUST) -lang $(lang) -double -i -A ../../architecture -a archs/$(arch) $< -o $@

ir/cpp/double/os/osc_enable.ir:
	@echo "osc_enable test is broken with flag -os"

# Specific rule to test 'enable/control' primitives that currently only work in scalar mode, used for 'cpp', 'c' and 'travis'
ir/$(outdir)/osc_enable.$(ext) : dsp/osc_enable.dsp
	@echo "Can only be tested in scalar mode"
	$(FAUST) -lang $(lang) -double -i -A ../../architecture -a archs/$(arch) $< -o $@

# Three rules for -c1 (= -os) mode
# Specific rule to test 'enable/control' primitives that currently only work in scalar mode
ir/c1/double/osc_enable.c : dsp/osc_enable.dsp
	@echo "Can only be tested in scalar mode"
	$(FAUST) -lang $(lang) -double -os -i -A ../../architecture -a archs/$(arch) $< -o $@

# Specific rule to test 'enable/control' primitives that currently only work in scalar mode
ir/c1/double/dlt0/osc_enable.c : dsp/osc_enable.dsp
	@echo "Can only be tested in scalar mode"
	$(FAUST) -lang $(lang) -double -os -i -A ../../architecture -a archs/$(arch) $< -o $@

# Specific rule to test 'enable/control' primitives that currently only work in scalar mode
ir/c1/double/dlt256/osc_enable.c : dsp/osc_enable.dsp
	@echo "Can only be tested in scalar mode"
	$(FAUST) -lang $(lang) -double -os -i -A ../../architecture -a archs/$(arch) $< -o $@

ir/$(outdir)/prefix.ir:
	echo "todo fix bug #1071 to test dsp/prefix.dsp"

ir/cpp/double/mapp/constant.ir:
	echo "todo fix bug #1074 to test dsp/constant.dsp"

ir/cpp/double/os/bs.ir:
	@echo "accessing foreign variable 'count' is not allowed in this compilation mode"

ir/$(outdir)/%.$(ext) : dsp/%.dsp
	$(FAUST) -lang $(lang) $(FAUSTOPTIONS) -i -A ../../architecture -a archs/$(arch) $< -o $@