view makefile.vac @ 2355:fad0821cb953

Add new function dw_render_redraw() which will trigger expose event on render widgets. This is to help optimize drawing on GTK4 and GTK3 with Wayland. To make existing code function on GTK4 and GTK3 with Wayland, drawing outside of a callback will mark widgets dirty and dw_flush() will trigger draw/expose callbacks on them. This may result in double drawing the widgets. dw_render_redraw() will allow you to just trigger the draw event without actually attempting to draw, allowing one draw pass in the expose callback. Only tested on Windows, may require fixes on other platforms.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 08 Mar 2021 19:53:55 +0000
parents 76b24619f6fa
children 1660b4ecb92f
line wrap: on
line source

.SUFFIXES: .c .obj

!if ![cmd /c os2\svnrev.cmd]
!include SVN.REV
!endif        

.all: \
    .\dw.dll \
    .\dwcompat.dll \
    .\dwtest.exe

.c.obj:
  icc.exe  /DOS2 /DTCPV40HDRS /DBUILD_DLL /DUNICODE /DVER_REV=$(VERREV) /I. /Tm+ /Tdc /Ss /V"Dynamic Windows Compatibility" /Ti /Gm /Gd- /G5 /Ge- /C /W3 %s

.\dw.dll: \
    .\os2\dw.obj
    @echo " Link::Linker "
    icc.exe @<<
    /B" /NOE /de /ST:32768 /nologo /li"
    /Fe"dw.dll" os2\dw.def
    .\dw.obj
   so32dll.lib
   tcp32dll.lib
   libuls.lib
   libconv.lib
   unikbd.lib
<<
  IMPLIB DW.LIB OS2\DW.DEF
  copy dw.lib lib\dw.lib
  copy dw.dll dll\dw.dll

.\dwcompat.dll: \
    .\os2\dirent.obj \
    .\dwcompat.obj
    @echo " Link::Linker "
    icc.exe @<<
    /B" /NOE /de /ST:32768 /nologo /li"
    /Fe"dwcompat.dll" os2\dwcompat.def
    .\dirent.obj
    .\dwcompat.obj
   so32dll.lib
   tcp32dll.lib
<<
  IMPLIB DWCOMPAT.LIB OS2\DWCOMPAT.DEF
  copy dwcompat.lib lib\dwcompat.lib
  copy dwcompat.dll dll\dwcompat.dll

dwtest.obj:
	icc /Ti /DOS2 /DTCPV40HDRS /Sp1 /I. /Sm /Ss /Q /Gm /Gt /C dwtest.c
dwtest.exe:  dwtest.obj
	icc @<<
	 /B" /DE /optfunc /pm:pm"
	 /Fedwtest.exe
	 lib\dw.lib lib\dwcompat.lib
	 dwtest.obj
	 os2\dwtest.def
<<
clean :
        @if exist *.obj del *.obj
        @if exist *.map del *.map
        @if exist *.lib del *.lib
        @if exist *.dll del *.dll
        @if exist *.exe del *.exe
        @if exist *.REV del *.REV