@@ -108,7 +108,7 @@ $>/codegen/ase/gen/api-jsonipc.g.ts: ase/api.hh jsonipc/jsonipc.ts $(lib/Anklang
108108 $Q echo ' Jsonipc.classes["Ase::SharedBase"] = SharedBase;' >> $@ .tmp
109109 $Q echo >> $@ .tmp
110110 $Q ASAN_OPTIONS=detect_leaks=0 ASE_JSONTS=1 \
111- $(lib/AnklangSynthEngine ) --norc -P null -M null --jsonts >> $@ .tmp
111+ $(lib/AnklangSynthEngine ) --norc -P null -M null --jsonts >> $@ .tmp
112112 $Q echo ' /**@type{ServerImpl}*/' >> $@ .tmp
113113 $Q echo -n ' export let server: Promise<Server> | Server =' >> $@ .tmp
114114 $Q echo ' Jsonipc.setup_promise_type (Server, s => server = s);' >> $@ .tmp
@@ -196,7 +196,7 @@ $(call BUILD_PROGRAM, \
196196 $(lib/libase.so), \
197197 $(BOOST_SYSTEM_LIBS) $(ASEDEPS_LIBS) $(ALSA_LIBS) -lzstd -ldl $(lib/libsndfile.so), \
198198 ../lib)
199- ALL_TARGETS += $(lib/AnklangSynthEngine )
199+ CXX_TARGETS += $(lib/AnklangSynthEngine )
200200
201201# == jackdriver.so ==
202202lib/jackdriver.so ::= $>/lib/jackdriver.so
@@ -213,7 +213,7 @@ $(call BUILD_SHARED_LIB, \
213213 $(ANKLANG_JACK_LIBS) $(lib/libase.so), \
214214 ../lib)
215215endif
216- ALL_TARGETS += $(lib/jackdriver.so.MAYBE )
216+ CXX_TARGETS += $(lib/jackdriver.so.MAYBE )
217217
218218# == gtk2wrap.so ==
219219lib/gtk2wrap.so ::= $>/lib/gtk2wrap.so
@@ -227,7 +227,7 @@ $(call BUILD_SHARED_LIB, \
227227 $(lib/libase.so) | $>/lib/, \
228228 $(GTK2_LIBS), \
229229 ../lib)
230- ALL_TARGETS += $(lib/gtk2wrap.so )
230+ CXX_TARGETS += $(lib/gtk2wrap.so )
231231
232232# == install binaries ==
233233$(call INSTALL_BIN_RULE, $(basename $(lib/AnklangSynthEngine)), $(DESTDIR)$(pkgdir)/lib, $(wildcard \
@@ -246,7 +246,7 @@ $>/.media.done: $(EXTERNAL_BLOBS4ANKLANG_STAMPS) $>/media/Samples/
246246 $Q ln -s $(abspath external/freepats-vorbis/Drum/* .ogg) $> /media/Samples/freepats-vorbis/Drum/
247247 $Q ln -s $(abspath external/freepats-vorbis/Tone/* .ogg) $> /media/Samples/freepats-vorbis/Tone/
248248 $Q touch $@
249- ALL_TARGETS += $>/.media.done
249+ CXX_TARGETS += $>/.media.done
250250
251251# == install media/Samples ==
252252media/install :
@@ -290,18 +290,31 @@ ase/lint:
290290.PHONY : ase/lint
291291lint : ase/lint
292292
293- # == Check Integrity Tests ==
294- check-ase-tests : $(lib/AnklangSynthEngine )
295- $(eval xargs_parallel != P=`parallel --help 2>/dev/null` && \
296- [[ $$$$ P =~ GNU.[Pp]arallel ]] && echo ' parallel --ungroup' || \
297- { echo ' xargs -n1' ; echo " $$$$ 0: missing 'GNU parallel', falling back to 'xargs'" >&2 ; } )
293+ # == check-test-list ==
294+ .PHONY : check-ase-tests
295+ # Check: ase/tests/TestList.mk
296+ check-test-list : $(lib/AnklangSynthEngine ) | $>/ase/tests/
298297 $(QGEN )
299- $Q : $(lib/AnklangSynthEngine ) --check
300- $Q set -Eeuo pipefail \
301- && $(lib/AnklangSynthEngine ) --list-tests \
302- | $(xargs_parallel ) $(lib/AnklangSynthEngine ) --norc -P null -M null --test
303- CHECK_TARGETS += check-ase-tests
298+ $Q echo -n ' ASE_TEST_LIST := ' > $> /ase/tests/TestList.mk
299+ $Q $(lib/AnklangSynthEngine ) --list-tests=$$ ' \\\n' >> $> /ase/tests/TestList.mk
300+ $Q if cmp -s ase/tests/TestList.mk $> /ase/tests/TestList.mk ; then rm $> /ase/tests/TestList.mk ; else \
301+ ( diff -u ase/tests/TestList.mk $> /ase/tests/TestList.mk || : ) \
302+ && test -t 0 && ( read -p " ? Update ase/tests/TestList.mk? [y/N] " ANS ; test " $$ ANS" = " y" && mv $> /ase/tests/TestList.mk ase/tests/TestList.mk ) \
303+ && ( echo ' ase/tests/TestList.mk: test list updated, restart make' ; false ) \
304+ fi
305+ check-ase-tests : check-test-list
304306
307+ # == check-ase-tests ==
308+ include ase/tests/TestList.mk # ASE_TEST_LIST
309+ define ASE_TEST_CHECK
310+ check-$1: $$(lib/AnklangSynthEngine )
311+ $$(QECHO ) CHECK '$1'
312+ $$Q $$(lib/AnklangSynthEngine ) --norc -P null -M null --test '$1'
313+ .PHONY: check-$1
314+ check-ase-tests: check-$1
315+ endef
316+ $(foreach T, $(ASE_TEST_LIST), $(eval $(call ASE_TEST_CHECK,$T)))
317+ CHECK_TARGETS += check-ase-tests
305318
306319# == libsndfile ==
307320# cmake -B out/sndfile/ -S external/libsndfile/ -DBUILD_SHARED_LIBS=ON -DBUILD_PROGRAMS=OFF -DBUILD_EXAMPLES=OFF -DCMAKE_BUILD_TYPE=MINSIZEREL
0 commit comments