Mercurial > dwindows
view makefile.vac @ 2163:98db0e81a514
Rewrite the Compiler detection tests for deprecation and unused.
Simplify and make more safe, clang or compilers supporting __has_extension()
and __has_attribute() should work perfectly. There are now GCC version
tests for all these features, however there seems to be some disagreement
online about which GCC versions introduced these features, so I picked the
versions that I felt had the highest consensus. Can revisit the specific
versions if new information is available:
unused attribute: GCC 3.1 (BSD seems to think 2.7)
deprecated attribute: GCC 3.2 (Hedley seems to think 4.0)
deprecated with message attribute: GCC 4.5
author | bsmith@81767d24-ef19-dc11-ae90-00e081727c95 |
---|---|
date | Wed, 30 Sep 2020 19:34:17 +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