BINPATH = .

TARGETS = testatomic.exe testdisplayinfo.exe testbounds.exe testdraw2.exe &
          testdrawchessboard.exe testdropfile.exe testerror.exe testfile.exe &
          testfilesystem.exe testgamecontroller.exe testgesture.exe &
          testhittesting.exe testhotplug.exe testiconv.exe testime.exe testlocale.exe &
          testintersections.exe testjoystick.exe testkeys.exe testloadso.exe &
          testlock.exe testmessage.exe testoverlay2.exe testplatform.exe &
          testpower.exe testsensor.exe testrelative.exe testrendercopyex.exe &
          testrendertarget.exe testrumble.exe testscale.exe testsem.exe &
          testshader.exe testshape.exe testsprite2.exe testspriteminimal.exe &
          teststreaming.exe testthread.exe testtimer.exe testver.exe &
          testviewport.exe testwm2.exe torturethread.exe checkkeys.exe &
          controllermap.exe testhaptic.exe testqsort.exe testresample.exe &
          testaudioinfo.exe testaudiocapture.exe loopwave.exe loopwavequeue.exe &
          testyuv.exe testgl2.exe testvulkan.exe testnative.exe testautomation.exe

# SDL2test.lib sources (../src/test)

CSRCS = SDL_test_assert.c SDL_test_common.c SDL_test_compare.c &
        SDL_test_crc32.c SDL_test_font.c SDL_test_fuzzer.c SDL_test_harness.c &
        SDL_test_imageBlit.c SDL_test_imageBlitBlend.c SDL_test_imageFace.c &
        SDL_test_imagePrimitives.c SDL_test_imagePrimitivesBlend.c &
        SDL_test_log.c SDL_test_md5.c SDL_test_random.c SDL_test_memory.c
TESTLIB = SDL2test.lib

# testautomation sources

TASRCS = testautomation.c testautomation_audio.c testautomation_clipboard.c &
         testautomation_events.c testautomation_hints.c &
         testautomation_keyboard.c testautomation_main.c &
         testautomation_mouse.c testautomation_pixels.c &
         testautomation_platform.c testautomation_rect.c &
         testautomation_render.c testautomation_rwops.c &
         testautomation_sdltest.c testautomation_stdlib.c &
         testautomation_surface.c testautomation_syswm.c &
         testautomation_timer.c testautomation_video.c

OBJS = $(TARGETS:.exe=.obj)
COBJS = $(CSRCS:.c=.obj)
TAOBJS = $(TASRCS:.c=.obj)

all: $(TARGETS)

INCPATH = -I$(%WATCOM)/h/os2 -I$(%WATCOM)/h -I../include

CFLAGS = $(INCPATH) -bt=os2 -d0 -q -bm -5s -fp5 -fpi87 -sg -oteanbmier -ei
CFLAGS+= -wx -wcd=303

LIBPATH = ..
LIBS    = SDL2.lib $(TESTLIB)

#CFLAGS+= -DHAVE_SDL_TTF
#LIBS_TTF = SDL2ttf.lib

.c: ../src/test

$(TESTLIB): $(COBJS)
  wlib -q -b -n -c $@ $(COBJS)

.obj.exe:
  @%make $(TESTLIB)
  wlink SYS os2v2 libpath $(LIBPATH) lib {$(LIBS)} op q op el file {$<} name $@

.c.obj:
  wcc386 $(CFLAGS) -fo=$^@ $<

# specials
testautomation.exe: $(TAOBJS)
  @%make $(TESTLIB)
  wlink SYS os2v2 libpath $(LIBPATH) lib {$(LIBS)} op q op el file {$<} name $@

testnative.exe: testnative.obj testnativeos2.obj
  @%make $(TESTLIB)
  wlink SYS os2v2 libpath $(LIBPATH) lib {$(LIBS)} op q op el file {$<} name $@

testoverlay2.exe: testoverlay2.obj testyuv_cvt.obj
  @%make $(TESTLIB)
  wlink SYS os2v2 libpath $(LIBPATH) lib {$(LIBS)} op q op el file {$<} name $@

testyuv.exe: testyuv.obj testyuv_cvt.obj
  @%make $(TESTLIB)
  wlink SYS os2v2 libpath $(LIBPATH) lib {$(LIBS)} op q op el file {$<} name $@

testime.exe: testime.obj
  @%make $(TESTLIB)
  wlink SYS os2v2 libpath $(LIBPATH) lib {$(LIBS) $(LIBS_TTF)} op q op el file {$<} name $@

clean: .SYMBOLIC
  @echo * Clean tests in $(BINPATH)
  @if exist *.obj rm *.obj
  @if exist *.err rm *.err

distclean: .SYMBOLIC clean
  @if exist *.exe rm *.exe
  @if exist $(TESTLIB) rm $(TESTLIB)
