| # Makefile to build the SDL tests | 
 |  | 
 | srcdir  = @srcdir@ | 
 |  | 
 | prefix = @prefix@ | 
 | exec_prefix = @exec_prefix@ | 
 | bindir = @bindir@ | 
 | libdir = @libdir@ | 
 | libexecdir = @libexecdir@ | 
 | includedir = @includedir@ | 
 | datarootdir = @datarootdir@ | 
 | datadir = @datadir@ | 
 |  | 
 | CC      = @CC@ | 
 | EXE	= @EXE@ | 
 | CFLAGS  = @CFLAGS@ -g | 
 | LIBS	= @LIBS@ | 
 |  | 
 | TARGETS = \ | 
 | 	checkkeys$(EXE) \ | 
 | 	checkkeysthreads$(EXE) \ | 
 | 	controllermap$(EXE) \ | 
 | 	loopwave$(EXE) \ | 
 | 	loopwavequeue$(EXE) \ | 
 | 	testatomic$(EXE) \ | 
 | 	testaudiocapture$(EXE) \ | 
 | 	testaudiohotplug$(EXE) \ | 
 | 	testaudioinfo$(EXE) \ | 
 | 	testautomation$(EXE) \ | 
 | 	testbounds$(EXE) \ | 
 | 	testcustomcursor$(EXE) \ | 
 | 	testdisplayinfo$(EXE) \ | 
 | 	testdraw2$(EXE) \ | 
 | 	testdrawchessboard$(EXE) \ | 
 | 	testdropfile$(EXE) \ | 
 | 	testerror$(EXE) \ | 
 | 	testevdev$(EXE) \ | 
 | 	testfile$(EXE) \ | 
 | 	testfilesystem$(EXE) \ | 
 | 	testgamecontroller$(EXE) \ | 
 | 	testgeometry$(EXE) \ | 
 | 	testgesture$(EXE) \ | 
 | 	testhaptic$(EXE) \ | 
 | 	testhittesting$(EXE) \ | 
 | 	testhotplug$(EXE) \ | 
 | 	testiconv$(EXE) \ | 
 | 	testime$(EXE) \ | 
 | 	testintersections$(EXE) \ | 
 | 	testjoystick$(EXE) \ | 
 | 	testkeys$(EXE) \ | 
 | 	testloadso$(EXE) \ | 
 | 	testlocale$(EXE) \ | 
 | 	testlock$(EXE) \ | 
 | 	testmessage$(EXE) \ | 
 | 	testmouse$(EXE) \ | 
 | 	testmultiaudio$(EXE) \ | 
 | 	testnative$(EXE) \ | 
 | 	testoverlay2$(EXE) \ | 
 | 	testplatform$(EXE) \ | 
 | 	testpower$(EXE) \ | 
 | 	testqsort$(EXE) \ | 
 | 	testrelative$(EXE) \ | 
 | 	testrendercopyex$(EXE) \ | 
 | 	testrendertarget$(EXE) \ | 
 | 	testresample$(EXE) \ | 
 | 	testrumble$(EXE) \ | 
 | 	testscale$(EXE) \ | 
 | 	testsem$(EXE) \ | 
 | 	testsensor$(EXE) \ | 
 | 	testshape$(EXE) \ | 
 | 	testsprite2$(EXE) \ | 
 | 	testspriteminimal$(EXE) \ | 
 | 	teststreaming$(EXE) \ | 
 | 	testsurround$(EXE) \ | 
 | 	testthread$(EXE) \ | 
 | 	testtimer$(EXE) \ | 
 | 	testurl$(EXE) \ | 
 | 	testver$(EXE) \ | 
 | 	testviewport$(EXE) \ | 
 | 	testvulkan$(EXE) \ | 
 | 	testwm2$(EXE) \ | 
 | 	testyuv$(EXE) \ | 
 | 	torturethread$(EXE) \ | 
 |  | 
 |  | 
 | @OPENGL_TARGETS@ += testgl2$(EXE) testshader$(EXE) | 
 | @OPENGLES1_TARGETS@ += testgles$(EXE) | 
 | @OPENGLES2_TARGETS@ += testgles2$(EXE) | 
 |  | 
 |  | 
 | all: Makefile $(TARGETS) copydatafiles generatetestmeta | 
 |  | 
 | installedtestsdir = $(libexecdir)/installed-tests/SDL2 | 
 | installedtestsmetadir = $(datadir)/installed-tests/SDL2 | 
 |  | 
 | generatetestmeta: | 
 | 	rm -f *.test | 
 | 	set -e; for exe in $(noninteractive) $(needs_audio) $(needs_display); do \ | 
 | 		sed \ | 
 | 			-e 's#@installedtestsdir@#$(installedtestsdir)#g' \ | 
 | 			-e "s#@exe@#$$exe#g" \ | 
 | 			< $(srcdir)/template.test.in > $$exe.test; \ | 
 | 	done | 
 |  | 
 | install: all | 
 | 	install -d $(DESTDIR)$(installedtestsdir) | 
 | 	install $(TARGETS) $(DESTDIR)$(installedtestsdir) | 
 | 	install -m644 $(DATA) $(DESTDIR)$(installedtestsdir) | 
 | 	install -d $(DESTDIR)$(installedtestsmetadir) | 
 | 	install -m644 *.test $(DESTDIR)$(installedtestsmetadir) | 
 |  | 
 | Makefile: $(srcdir)/Makefile.in | 
 | 	$(SHELL) config.status $@ | 
 |  | 
 | checkkeys$(EXE): $(srcdir)/checkkeys.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | checkkeysthreads$(EXE): $(srcdir)/checkkeysthreads.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | loopwave$(EXE): $(srcdir)/loopwave.c $(srcdir)/testutils.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | loopwavequeue$(EXE): $(srcdir)/loopwavequeue.c $(srcdir)/testutils.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testsurround$(EXE): $(srcdir)/testsurround.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testresample$(EXE): $(srcdir)/testresample.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testaudioinfo$(EXE): $(srcdir)/testaudioinfo.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testautomation$(EXE): $(srcdir)/testautomation.c \ | 
 | 		      $(srcdir)/testautomation_audio.c \ | 
 | 		      $(srcdir)/testautomation_clipboard.c \ | 
 | 		      $(srcdir)/testautomation_events.c \ | 
 | 		      $(srcdir)/testautomation_guid.c \ | 
 | 		      $(srcdir)/testautomation_hints.c \ | 
 | 		      $(srcdir)/testautomation_joystick.c \ | 
 | 		      $(srcdir)/testautomation_keyboard.c \ | 
 | 		      $(srcdir)/testautomation_main.c \ | 
 | 		      $(srcdir)/testautomation_math.c \ | 
 | 		      $(srcdir)/testautomation_mouse.c \ | 
 | 		      $(srcdir)/testautomation_pixels.c \ | 
 | 		      $(srcdir)/testautomation_platform.c \ | 
 | 		      $(srcdir)/testautomation_rect.c \ | 
 | 		      $(srcdir)/testautomation_render.c \ | 
 | 		      $(srcdir)/testautomation_rwops.c \ | 
 | 		      $(srcdir)/testautomation_sdltest.c \ | 
 | 		      $(srcdir)/testautomation_stdlib.c \ | 
 | 		      $(srcdir)/testautomation_surface.c \ | 
 | 		      $(srcdir)/testautomation_syswm.c \ | 
 | 		      $(srcdir)/testautomation_timer.c \ | 
 | 		      $(srcdir)/testautomation_video.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS)  | 
 |  | 
 | testmultiaudio$(EXE): $(srcdir)/testmultiaudio.c $(srcdir)/testutils.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testaudiohotplug$(EXE): $(srcdir)/testaudiohotplug.c $(srcdir)/testutils.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testaudiocapture$(EXE): $(srcdir)/testaudiocapture.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testatomic$(EXE): $(srcdir)/testatomic.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testintersections$(EXE): $(srcdir)/testintersections.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testrelative$(EXE): $(srcdir)/testrelative.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testhittesting$(EXE): $(srcdir)/testhittesting.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testdraw2$(EXE): $(srcdir)/testdraw2.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testdrawchessboard$(EXE): $(srcdir)/testdrawchessboard.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testdropfile$(EXE): $(srcdir)/testdropfile.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testerror$(EXE): $(srcdir)/testerror.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testevdev$(EXE): $(srcdir)/testevdev.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testfile$(EXE): $(srcdir)/testfile.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testgamecontroller$(EXE): $(srcdir)/testgamecontroller.c $(srcdir)/testutils.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testgeometry$(EXE): $(srcdir)/testgeometry.c $(srcdir)/testutils.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testgesture$(EXE): $(srcdir)/testgesture.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) @MATHLIB@ | 
 |  | 
 | testgl2$(EXE): $(srcdir)/testgl2.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) @MATHLIB@ | 
 |  | 
 | testgles$(EXE): $(srcdir)/testgles.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) @GLESLIB@ @MATHLIB@ | 
 |  | 
 | testgles2$(EXE): $(srcdir)/testgles2.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) @MATHLIB@ | 
 |  | 
 | testgles2_sdf$(EXE): $(srcdir)/testgles2_sdf.c $(srcdir)/testutils.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) @MATHLIB@ | 
 |  | 
 | testhaptic$(EXE): $(srcdir)/testhaptic.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testhotplug$(EXE): $(srcdir)/testhotplug.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testrumble$(EXE): $(srcdir)/testrumble.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testthread$(EXE): $(srcdir)/testthread.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testiconv$(EXE): $(srcdir)/testiconv.c $(srcdir)/testutils.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testime$(EXE): $(srcdir)/testime.c $(srcdir)/testutils.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) @SDL_TTF_LIB@ | 
 |  | 
 | testjoystick$(EXE): $(srcdir)/testjoystick.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testkeys$(EXE): $(srcdir)/testkeys.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testloadso$(EXE): $(srcdir)/testloadso.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testlock$(EXE): $(srcdir)/testlock.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | ifeq (@ISMACOSX@,true) | 
 | testnative$(EXE): $(srcdir)/testnative.c \ | 
 | 			$(srcdir)/testnativecocoa.m \ | 
 | 			$(srcdir)/testutils.c \ | 
 | 			$(srcdir)/testnativex11.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) -framework Cocoa @XLIB@ | 
 | endif | 
 |  | 
 | ifeq (@ISWINDOWS@,true) | 
 | testnative$(EXE): $(srcdir)/testnative.c \ | 
 | 			$(srcdir)/testutils.c \ | 
 | 			$(srcdir)/testnativew32.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 | endif | 
 |  | 
 | ifeq (@ISUNIX@,true) | 
 | testnative$(EXE): $(srcdir)/testnative.c \ | 
 | 			$(srcdir)/testutils.c \ | 
 | 			$(srcdir)/testnativex11.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) @XLIB@ | 
 | endif | 
 |  | 
 | ifeq (@ISOS2@,true) | 
 | testnative$(EXE): $(srcdir)/testnative.c \ | 
 | 			$(srcdir)/testnativeos2.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 | endif | 
 |  | 
 | #there's probably a better way of doing this | 
 | ifeq (@ISMACOSX@,false) | 
 | ifeq (@ISWINDOWS@,false) | 
 | ifeq (@ISUNIX@,false) | 
 | ifeq (@ISOS2@,false) | 
 | testnative$(EXE): ; | 
 | endif | 
 | endif | 
 | endif | 
 | endif | 
 |  | 
 | testoverlay2$(EXE): $(srcdir)/testoverlay2.c $(srcdir)/testyuv_cvt.c $(srcdir)/testutils.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testplatform$(EXE): $(srcdir)/testplatform.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testpower$(EXE): $(srcdir)/testpower.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testfilesystem$(EXE): $(srcdir)/testfilesystem.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testrendertarget$(EXE): $(srcdir)/testrendertarget.c $(srcdir)/testutils.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testscale$(EXE): $(srcdir)/testscale.c $(srcdir)/testutils.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testsem$(EXE): $(srcdir)/testsem.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testsensor$(EXE): $(srcdir)/testsensor.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testshader$(EXE): $(srcdir)/testshader.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) @GLLIB@ @MATHLIB@ | 
 |  | 
 | testshape$(EXE): $(srcdir)/testshape.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testsprite2$(EXE): $(srcdir)/testsprite2.c $(srcdir)/testutils.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testspriteminimal$(EXE): $(srcdir)/testspriteminimal.c $(srcdir)/testutils.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) @MATHLIB@ | 
 |  | 
 | teststreaming$(EXE): $(srcdir)/teststreaming.c $(srcdir)/testutils.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) @MATHLIB@ | 
 |  | 
 | testtimer$(EXE): $(srcdir)/testtimer.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testurl$(EXE): $(srcdir)/testurl.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testver$(EXE): $(srcdir)/testver.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testviewport$(EXE): $(srcdir)/testviewport.c $(srcdir)/testutils.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testwm2$(EXE): $(srcdir)/testwm2.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testyuv$(EXE): $(srcdir)/testyuv.c $(srcdir)/testyuv_cvt.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | torturethread$(EXE): $(srcdir)/torturethread.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testrendercopyex$(EXE): $(srcdir)/testrendercopyex.c $(srcdir)/testutils.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) @MATHLIB@ | 
 |  | 
 | testmessage$(EXE): $(srcdir)/testmessage.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testdisplayinfo$(EXE): $(srcdir)/testdisplayinfo.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testqsort$(EXE): $(srcdir)/testqsort.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testbounds$(EXE): $(srcdir)/testbounds.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testcustomcursor$(EXE): $(srcdir)/testcustomcursor.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | controllermap$(EXE): $(srcdir)/controllermap.c $(srcdir)/testutils.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testvulkan$(EXE): $(srcdir)/testvulkan.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 | testlocale$(EXE): $(srcdir)/testlocale.c | 
 | 	$(CC) -o $@ $? $(CFLAGS) $(LIBS) | 
 |  | 
 | testmouse$(EXE): $(srcdir)/testmouse.c | 
 | 	$(CC) -o $@ $^ $(CFLAGS) $(LIBS) | 
 |  | 
 |  | 
 | clean: | 
 | 	rm -f $(TARGETS) *.test | 
 |  | 
 | distclean: clean | 
 | 	rm -f Makefile | 
 | 	rm -f config.status config.cache config.log | 
 | 	rm -rf $(srcdir)/autom4te* | 
 |  | 
 | noninteractive = \ | 
 | 	testatomic$(EXE) \ | 
 | 	testerror$(EXE) \ | 
 | 	testevdev$(EXE) \ | 
 | 	testfilesystem$(EXE) \ | 
 | 	testkeys$(EXE) \ | 
 | 	testlocale$(EXE) \ | 
 | 	testplatform$(EXE) \ | 
 | 	testpower$(EXE) \ | 
 | 	testqsort$(EXE) \ | 
 | 	testthread$(EXE) \ | 
 | 	testtimer$(EXE) \ | 
 | 	testver$(EXE) \ | 
 | 	$(NULL) | 
 |  | 
 | needs_audio = \ | 
 | 	testaudioinfo$(EXE) \ | 
 | 	testsurround$(EXE) \ | 
 | 	$(NULL) | 
 |  | 
 | needs_display = \ | 
 | 	testbounds$(EXE) \ | 
 | 	testdisplayinfo$(EXE) \ | 
 | 	$(NULL) | 
 |  | 
 | TESTS = $(noninteractive) $(needs_audio) $(needs_display) | 
 |  | 
 | check: | 
 | 	@set -e; \ | 
 | 	status=0; \ | 
 | 	export SDL_AUDIODRIVER=dummy; \ | 
 | 	export SDL_VIDEODRIVER=dummy; \ | 
 | 	for exe in $(TESTS); do \ | 
 | 		echo "$$exe..."; \ | 
 | 		if ./"$$exe"; then \ | 
 | 			echo "$$exe: OK"; \ | 
 | 		else \ | 
 | 			echo "$$exe: FAILED: $$?"; \ | 
 | 			status=1; \ | 
 | 		fi; \ | 
 | 	done; \ | 
 | 	exit "$$status" | 
 |  | 
 | DATA = \ | 
 | 	axis.bmp \ | 
 | 	button.bmp \ | 
 | 	controllermap.bmp \ | 
 | 	controllermap_back.bmp \ | 
 | 	icon.bmp \ | 
 | 	moose.dat \ | 
 | 	sample.bmp \ | 
 | 	sample.wav \ | 
 | 	testgles2_sdf_img_normal.bmp \ | 
 | 	testgles2_sdf_img_sdf.bmp \ | 
 | 	testyuv.bmp \ | 
 | 	unifont-13.0.06.hex \ | 
 | 	utf8.txt \ | 
 | 	$(NULL) | 
 |  | 
 | ifneq ($(srcdir), .) | 
 | $(DATA) : %: $(srcdir)/% Makefile | 
 | 	cp $< $@ | 
 | endif | 
 |  | 
 | copydatafiles: $(DATA) | 
 | .PHONY : copydatafiles |