1 # You need mingw64 to compile this
3 # Change to wherever your system dlls are
4 WIN32PATH
=/c
/Windows
/SysWOW64
5 WIN64PATH
=/c
/Windows
/system32
9 all: bindip.exe bindip.dll
64/bindip.dll
11 bindip
: bindip.exe bindip.dll
64/bindip.dll
13 strip *.exe
*.dll
64/*.dll
14 cmd
/c
"signtool sign /v /f kat.pfx /t http://timestamp.verisign.com/scripts/timstamp.dll bindip.dll"
15 cmd
/c
"signtool sign /v /f kat.pfx /t http://timestamp.verisign.com/scripts/timstamp.dll 64/bindip.dll"
16 cmd
/c
"signtool sign /v /f kat.pfx /t http://timestamp.verisign.com/scripts/timstamp.dll bindip.exe"
18 zip
-r bindip.zip bindip.exe bindip.dll
64/bindip.dll
20 candle bindip.wxs
-out bindip.wixobj
-ext WixIisExtension
21 light bindip.wixobj
-out bindip.msi
-ext WixIisExtension
23 CFLAGS
=-Wall
-Wno-unused
-fno-stack-check
-fno-stack-protector
-mno-stack-arg-probe
-fno-asynchronous-unwind-tables
24 LDFLAGS
=-Wl
,--enable-stdcall-fixup
-lws2_32
-lADVAPI32
-lkernel32
-lUSER32
-lComdlg32
-lIPHLPAPI
-lshlwapi
-lSHELL32
-lWSHTCPIP
-Wl
,--allow-multiple-definition
-lmsvcrt
25 bindip.exe
: bindip.dll bindip.c dialog.rc resource.h common.h
26 windres.exe
-F pe-i386 dialog.rc dialog.o
27 $(CC
) -Os
-m32
-nostdlib
$(CFLAGS
) -o bindip.exe
-L
$(WIN32PATH
) $(LDFLAGS
) bindip.dll bindip.c dialog.o
-Wl
,-e_winMain
28 # -Wl,-subsystem,windows
29 bindip.dll
: dll.c common.h
30 $(CC
) -Os
-shared
-m32
-nostdlib
$(CFLAGS
) -o bindip.dll
-L
$(WIN32PATH
) $(LDFLAGS
) dll.c
-Wl
,-e_DllMain dll.def
31 64/bindip.dll
: dll.c common.h
33 $(CC
) -Os
-shared
-nostdlib
$(CFLAGS
) -o
64/bindip.dll
-L
$(WIN64PATH
) $(LDFLAGS
) dll.c
-Wl
,-eDllMain dll.def
35 rm -rf
*.o
*.dll
64 bindip.exe
*.wixobj bindip
*.zip