view makefile.vac @ 2300:6e47d510dbbb

GTK4: Since GTK4 needs to add the popup menu to the parent widget... We need to remove it after the popup closes, so we trap the "close" signal and try to remove the popup from the parent. Since the "close" signal gets called before the menu's "activate" signal, we have to delay unparenting until after the "activate" signal handler is run. Otherwise the menu objects won't be valid for the "activate" handler, therefore we add an idle callback to unparent the widget when the rest of the processing is done.
author bsmith@81767d24-ef19-dc11-ae90-00e081727c95
date Mon, 08 Feb 2021 10:49:50 +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