|
@echo off |
|
setlocal |
|
set Name=INetC |
|
set DistRoot=. |
|
set SrcRoot=%DistRoot%\Contrib\%Name% |
|
set BaseCL=/GL /LD /W3 /O1 /Osy /GF /Gz /GS- /GR- /Zl /D_VC_NODEFAULTLIB |
|
set BaseLINK=/LTCG /DLL /OPT:REF /OPT:ICF,99 /MERGE:.rdata=.text /OPT:NOWIN98 /NODEFAULTLIB kernel32.lib user32.lib advapi32.lib comctl32.lib wininet.lib |
|
set Targets=x86-ansi x86-unicode |
|
(>nul (( 2>&1 call cl "/?" )|find /I "AMD64"))&&(set Targets=amd64-unicode) |
|
for %%A in (%Targets%) do (call :B %%A) |
|
@goto :EOF |
|
|
|
|
|
:B targ |
|
set DEF=/D___NSISPLUGIN |
|
((echo %1|find /I "unicode")>nul)&&set DEF=%DEF% /DUNICODE /D_UNICODE |
|
set CL=%BaseCL% %DEF% /Gy |
|
set LINK=%BaseLINK% |
|
for %%B in (%SrcRoot%\*.rc) do call RC /R /FO"%DistRoot%\%%~nB.res" "%%B" |
|
for %%A in (c cpp cxx) do for %%B in (%SrcRoot%\*.%%A) do ( |
|
if exist "%DistRoot%\%%~nB.obj" del "%DistRoot%\%%~nB.obj" |
|
call CL /c %%B /Fe"%DistRoot%\%Name%" |
|
) |
|
md "%DistRoot%\Plugins\%1" 2>nul |
|
call LINK /NOLOGO /OUT:"%DistRoot%\Plugins\%1\%Name%.dll" /PDB:"%DistRoot%\%Name%-%1" "%DistRoot%\*.obj" "%DistRoot%\*.res" |
|
@goto :EOF |
|
|