# Program Files (x86) directory !IF $(CONF_BITS) == 64 PROGRAMSX86=$(CONF_PROGRAMS) (x86) WXVCLIB=vc_amd64_lib !ELSE PROGRAMSX86=$(CONF_PROGRAMS) WXVCLIB=vc_lib !ENDIF # VC: Directory where Visual Studio resides !IF "$(CONF_VSTUDIO)" == "2013" VC=$(PROGRAMSX86)\Microsoft Visual Studio 12.0\VC LINKMANIFEST= /MANIFEST CFLCRT=-D_CRT_SECURE_NO_WARNINGS=1 -D_CRT_SECURE_NO_DEPRECATE=1 \ -DNDEBUG=1 -D_CONSOLE=1 !ELSEIF "$(CONF_VSTUDIO)" == "2012" VC=$(PROGRAMSX86)\Microsoft Visual Studio 11.0\VC LINKMANIFEST= /MANIFEST CFLCRT=-D_CRT_SECURE_NO_WARNINGS=1 -D_CRT_SECURE_NO_DEPRECATE=1 \ -DNDEBUG=1 -D_CONSOLE=1 !ELSEIF "$(CONF_VSTUDIO)" == "2008" VC=$(PROGRAMSX86)\Microsoft Visual Studio 9.0\VC LINKMANIFEST= /MANIFEST CFLCRT=-D_CRT_SECURE_NO_WARNINGS=1 -D_CRT_SECURE_NO_DEPRECATE=1 \ -DNDEBUG=1 -D_CONSOLE=1 !ELSEIF "$(CONF_VSTUDIO)" == "2005" VC=$(CONF_PROGRAMS)\Microsoft Visual Studio 8\VC LINKMANIFEST= CFLCRT=-DNDEBUG=1 -D_CONSOLE=1 !ELSEIF "$(CONF_VSTUDIO)" == "2003" VC=$(CONF_PROGRAMS)\Microsoft Visual Studio .NET 2003\Vc7 LINKMANIFEST= CFLCRT=-DNDEBUG=1 -D_CONSOLE=1 !ELSEIF "$(CONF_VSTUDIO)" == "6" VC=$(CONF_PROGRAMS)\Microsoft Visual Studio\Vc98 LINKMANIFEST= CFLCRT=-DNDEBUG=1 -D_CONSOLE=1 !ELSE VC=$(CONF_PROGRAMS)\DevStudio\Vc LINKMANIFEST= CFLCRT=-DNDEBUG=1 -D_CONSOLE=1 !ENDIF # Check for legacy versions !IF "$(CONF_LEGACY)" == "yes" CFLAGSLEGACY=/DDK4_WINDOWS_LEGACY=1 !ELSE CFLAGSLEGACY= !ENDIF # PSDK: Directory for Platform SDK !IF "$(CONF_PSDK)" == "8.1" PSDK=$(PROGRAMSX86)\Windows Kits\8.1 !ELSEIF "$(CONF_PSDK)" == "8" PSDK=$(PROGRAMSX86)\Windows Kits\8.0 !ELSEIF "$(CONF_PSDK)" == "7" PSDK=$(CONF_PROGRAMS)\Microsoft SDKs\Windows\v7.0 !ELSE PSDK=$(VC) !ENDIF # CFLUC: CFLAGS related to UNICODE !IF "$(CONF_UNICODE)" == "1" CFLUC= /D_UNICODE=1 /DUNICODE=1 /DTRACE_WIDE=1 !ELSE CFLUC= !ENDIF # CFLRT: CFLAGS for runtime selection !IF "$(CONF_MSVCRT_THREADED)" == "1" !IF "$(CONF_MSVCRT_DLL)" == "1" !IF "$(CONF_MSVCRT_DEBUG)" == "1" CFLRT= /MDd EXEFLREL= /debug !ELSE CFLRT= /MD EXEFLREL= /release !ENDIF !ELSE !IF "$(CONF_MSVCRT_DEBUG)" == "1" CFLRT= /MTD EXEFLREL= /debug !ELSE CFLRT= /MT EXEFLREL= /release !ENDIF !ENDIF !ELSE !IF "$(CONF_MSVCRT_DEBUG)" == "1" CFLRT= /MLd EXEFLREL= /debug !ELSE CFLRT= /ML EXEFLREL= /release !ENDIF !ENDIF CFLWX= /I"$(CONF_WX_DIR)\lib\$(WXVCLIB)\mswu" \ /I"$(CONF_WX_DIR)\include\msvc" \ /I"$(CONF_WX_DIR)\include" \ -DDK3_USE_WX=1 \ /EHsc /GF /Gy /fp:precise LFLWX= /LIBPATH:"$(CONF_WX_DIR)\lib\$(WXVCLIB)" \ /LIBPATH:"$(CONF_WX_DIR)\lib" # Programs CC=CL RC=RC LD=LINK LIB=LIB # Library path to build command line executables !IF $(CONF_BITS) == 64 # 64 bit start !IF "$(CONF_PSDK)" == "8.1" EXEDLPATH= \ /LIBPATH:"$(PSDK)\Lib\winv6.3\um\x64" \ /LIBPATH:"$(PSDK)\Lib\winv6.3\um\x86" \ /LIBPATH:"$(VC)\LIB\AMD64" \ /LIBPATH:"$(VC)\LIB" !ELSEIF "$(CONF_PSDK)" == "8" EXEDLPATH= \ /LIBPATH:"$(PSDK)\Lib\win8\um\x64" \ /LIBPATH:"$(PSDK)\Lib\win8\um\x86" \ /LIBPATH:"$(VC)\LIB\AMD64" \ /LIBPATH:"$(VC)\LIB" !ELSEIF "$(CONF_PSDK)" == "7" EXEDLPATH= \ /LIBPATH:"$(PSDK)\Lib\x64" \ /LIBPATH:"$(PSDK)\Lib" \ /LIBPATH:"$(VC)\LIB\AMD64" \ /LIBPATH:"$(VC)\LIB" !ELSE EXEDLPATH= \ /LIBPATH:"$(VC)\LIB\AMD64" \ /LIBPATH:"$(VC)\LIB" !ENDIF # 64 biit end !ELSE # 32 bit start !IF "$(CONF_PSDK)" == "8.1" EXEDLPATH= \ /LIBPATH:"$(PSDK)\Lib\winv6.3\um\x86" \ /LIBPATH:"$(VC)\LIB" \ /LIBPATH:"$(LIBSRC)\LIB" !ELSEIF "$(CONF_PSDK)" == "8" EXEDLPATH= \ /LIBPATH:"$(PSDK)\Lib\win8\um\x86" \ /LIBPATH:"$(VC)\LIB" !ELSEIF "$(CONF_PSDK)" == "7" EXEDLPATH= \ /LIBPATH:"$(PSDK)\Lib" \ /LIBPATH:"$(VC)\LIB" !ELSE EXEDLPATH= /LIBPATH:"$(VC)\LIB" !ENDIF # 32 bit end !ENDIF # Popular libraries !IF "$(CONF_ZLIB_AVAILABLE)" == "1" P01D= $(CONF_ZLIB_DEF) P01I= $(CONF_ZLIB_INCLUDE) P01L= $(CONF_ZLIB_LIBDIR) P01F= $(CONF_ZLIB_LIBFILE) !ELSE P01D= P01I= P01L= P01F= !ENDIF !IF "$(CONF_BZIP2_AVAILABLE)" == "1" P02D= $(CONF_BZIP2_DEF) P02I= $(CONF_BZIP2_INCLUDE) P02L= $(CONF_BZIP2_LIBDIR) P02F= $(CONF_BZIP2_LIBFILE) !ELSE P02D= P02I= P02L= P02F= !ENDIF !IF "$(CONF_PNG_AVAILABLE)" == "1" P03D= $(CONF_PNG_DEF) P03I= $(CONF_PNG_INCLUDE) P03L= $(CONF_PNG_LIBDIR) P03F= $(CONF_PNG_LIBFILE) !ELSE P03D= P03I= P03L= P03F= !ENDIF !IF "$(CONF_JPG_AVAILABLE)" == "1" P04D= $(CONF_JPG_DEF) P04I= $(CONF_JPG_INCLUDE) P04L= $(CONF_JPG_LIBDIR) P04F= $(CONF_JPG_LIBFILE) !ELSE P04D= P04I= P04L= P04F= !ENDIF !IF "$(CONF_TIFF_AVAILABLE)" == "1" P05D= $(CONF_TIFF_DEF) P05I= $(CONF_TIFF_INCLUDE) P05L= $(CONF_TIFF_LIBDIR) P05F= $(CONF_TIFF_LIBFILE) !ELSE P05D= P05I= P05L= P05F= !ENDIF !IF "$(CONF_OPENSSL_AVAILABLE)" == "1" P06D= $(CONF_OPENSSL_DEF) P06I= $(CONF_OPENSSL_INCLUDE) P06L= $(CONF_OPENSSL_LIBDIR) P06F= $(CONF_OPENSSL_LIBFILE) !ELSE P06D= P06I= P06L= P06F= !ENDIF !IF "$(CONF_NETSNMP_AVAILABLE)" == "1" P07D= $(CONF_NETSNMP_DEF) P07I= $(CONF_NETSNMP_INCLUDE) P07L= $(CONF_NETSNMP_LIBDIR) P07F= $(CONF_NETSNMP_LIBFILE) !ELSE P07D= P07I= P07L= P07F= !ENDIF !IF "$(CONF_WX_AVAILABLE)" == "1" P08D= $(CONF_WX_DEF) P08I= $(CONF_WX_INCLUDE) P08L= $(CONF_WX_LIBDIR) P08F= $(CONF_WX_LIBFILE) !ELSE P08D= P08I= P08L= P08F= !ENDIF !IF "$(CONF_L01_AVAILABLE)" == "1" L01D= $(CONF_L01_DEF) L01I= $(CONF_L01_INCLUDE) L01L= $(CONF_L01_LIBDIR) L01F= $(CONF_L01_LIBFILE) !ELSE L01D= L01I= L01L= L01F= !ENDIF !IF "$(CONF_L02_AVAILABLE)" == "1" L02D= $(CONF_L02_DEF) L02I= $(CONF_L02_INCLUDE) L02L= $(CONF_L02_LIBDIR) L02F= $(CONF_L02_LIBFILE) !ELSE L02D= L02I= L02L= L02F= !ENDIF !IF "$(CONF_L03_AVAILABLE)" == "1" L03D= $(CONF_L03_DEF) L03I= $(CONF_L03_INCLUDE) L03L= $(CONF_L03_LIBDIR) L03F= $(CONF_L03_LIBFILE) !ELSE L03D= L03I= L03L= L03F= !ENDIF !IF "$(CONF_L04_AVAILABLE)" == "1" L04D= $(CONF_L04_DEF) L04I= $(CONF_L04_INCLUDE) L04L= $(CONF_L04_LIBDIR) L04F= $(CONF_L04_LIBFILE) !ELSE L04D= L04I= L04L= L04F= !ENDIF !IF "$(CONF_L05_AVAILABLE)" == "1" L05D= $(CONF_L05_DEF) L05I= $(CONF_L05_INCLUDE) L05L= $(CONF_L05_LIBDIR) L05F= $(CONF_L05_LIBFILE) !ELSE L05D= L05I= L05L= L05F= !ENDIF !IF "$(CONF_L06_AVAILABLE)" == "1" L06D= $(CONF_L06_DEF) L06I= $(CONF_L06_INCLUDE) L06L= $(CONF_L06_LIBDIR) L06F= $(CONF_L06_LIBFILE) !ELSE L06D= L06I= L06L= L06F= !ENDIF !IF "$(CONF_L07_AVAILABLE)" == "1" L07D= $(CONF_L07_DEF) L07I= $(CONF_L07_INCLUDE) L07L= $(CONF_L07_LIBDIR) L07F= $(CONF_L07_LIBFILE) !ELSE L07D= L07I= L07L= L07F= !ENDIF !IF "$(CONF_L08_AVAILABLE)" == "1" L08D= $(CONF_L08_DEF) L08I= $(CONF_L08_INCLUDE) L08L= $(CONF_L08_LIBDIR) L08F= $(CONF_L08_LIBFILE) !ELSE L08D= L08I= L08L= L08F= !ENDIF !IF "$(CONF_L09_AVAILABLE)" == "1" L09D= $(CONF_L09_DEF) L09I= $(CONF_L09_INCLUDE) L09L= $(CONF_L09_LIBDIR) L09F= $(CONF_L09_LIBFILE) !ELSE L09D= L09I= L09L= L09F= !ENDIF !IF "$(CONF_L10_AVAILABLE)" == "1" L10D= $(CONF_L10_DEF) L10I= $(CONF_L10_INCLUDE) L10L= $(CONF_L10_LIBDIR) L10F= $(CONF_L10_LIBFILE) !ELSE L10D= L10I= L10L= L10F= !ENDIF !IF "$(CONF_L11_AVAILABLE)" == "1" L11D= $(CONF_L11_DEF) L11I= $(CONF_L11_INCLUDE) L11L= $(CONF_L11_LIBDIR) L11F= $(CONF_L11_LIBFILE) !ELSE L11D= L11I= L11L= L11F= !ENDIF !IF "$(CONF_L12_AVAILABLE)" == "1" L12D= $(CONF_L12_DEF) L12I= $(CONF_L12_INCLUDE) L12L= $(CONF_L12_LIBDIR) L12F= $(CONF_L12_LIBFILE) !ELSE L12D= L12I= L12L= L12F= !ENDIF !IF "$(CONF_L13_AVAILABLE)" == "1" L13D= $(CONF_L13_DEF) L13I= $(CONF_L13_INCLUDE) L13L= $(CONF_L13_LIBDIR) L13F= $(CONF_L13_LIBFILE) !ELSE L13D= L13I= L13L= L13F= !ENDIF !IF "$(CONF_L14_AVAILABLE)" == "1" L14D= $(CONF_L14_DEF) L14I= $(CONF_L14_INCLUDE) L14L= $(CONF_L14_LIBDIR) L14F= $(CONF_L14_LIBFILE) !ELSE L14D= L14I= L14L= L14F= !ENDIF !IF "$(CONF_L15_AVAILABLE)" == "1" L15D= $(CONF_L15_DEF) L15I= $(CONF_L15_INCLUDE) L15L= $(CONF_L15_LIBDIR) L15F= $(CONF_L15_LIBFILE) !ELSE L15D= L15I= L15L= L15F= !ENDIF !IF "$(CONF_L16_AVAILABLE)" == "1" L16D= $(CONF_L16_DEF) L16I= $(CONF_L16_INCLUDE) L16L= $(CONF_L16_LIBDIR) L16F= $(CONF_L16_LIBFILE) !ELSE L16D= L16I= L16L= L16F= !ENDIF !IF "$(CONF_L17_AVAILABLE)" == "1" L17D= $(CONF_L17_DEF) L17I= $(CONF_L17_INCLUDE) L17L= $(CONF_L17_LIBDIR) L17F= $(CONF_L17_LIBFILE) !ELSE L17D= L17I= L17L= L17F= !ENDIF !IF "$(CONF_L18_AVAILABLE)" == "1" L18D= $(CONF_L18_DEF) L18I= $(CONF_L18_INCLUDE) L18L= $(CONF_L18_LIBDIR) L18F= $(CONF_L18_LIBFILE) !ELSE L18D= L18I= L18L= L18F= !ENDIF !IF "$(CONF_L19_AVAILABLE)" == "1" L19D= $(CONF_L19_DEF) L19I= $(CONF_L19_INCLUDE) L19L= $(CONF_L19_LIBDIR) L19F= $(CONF_L19_LIBFILE) !ELSE L19D= L19I= L19L= L19F= !ENDIF !IF "$(CONF_L20_AVAILABLE)" == "1" L20D= $(CONF_L20_DEF) L20I= $(CONF_L20_INCLUDE) L20L= $(CONF_L20_LIBDIR) L20F= $(CONF_L20_LIBFILE) !ELSE L20D= L20I= L20L= L20F= !ENDIF LFL= \ $(P07L) $(P06L) $(P05L) $(P04L) $(P03L) $(P02L) $(P01L) \ $(L01L) $(L02L) $(L03L) $(L04L) $(L05L) \ $(L06L) $(L07L) $(L08L) $(L09L) $(L10L) \ $(L11L) $(L12L) $(L13L) $(L14L) $(L15L) \ $(L16L) $(L17L) $(L18L) $(L19L) $(L20L) \ $(P07F) $(P06F) $(P05F) $(P04F) $(P03F) $(P02F) $(P01F) \ $(F01F) $(F02F) $(F03F) $(F04F) $(F05F) \ $(F06F) $(F07F) $(F08F) $(F09F) $(F10F) \ $(F11F) $(F12F) $(F13F) $(F14F) $(F15F) \ $(F16F) $(F17F) $(F18F) $(F19F) $(F20F) CFL= \ $(P01D) $(P02D) $(P03D) $(P04D) $(P05D) $(P06D) $(P07D) \ $(D01D) $(D02D) $(D03D) $(D04D) $(D05D) \ $(D06D) $(D07D) $(D08D) $(D09D) $(D10D) \ $(D11D) $(D12D) $(D13D) $(D14D) $(D15D) \ $(D16D) $(D17D) $(D18D) $(D19D) $(D20D) \ $(P01I) $(P02I) $(P03I) $(P04I) $(P05I) $(P06I) $(P07I) \ $(I01I) $(I02I) $(I03I) $(I04I) $(I05I) \ $(I06I) $(I07I) $(I08I) $(I09I) $(I10I) \ $(I11I) $(I12I) $(I13I) $(I14I) $(I15I) \ $(I16I) $(I17I) $(I18I) $(I19I) $(I20I) GUILFL= \ $(P08L) $(P07L) $(P06L) $(P02L) \ $(L02L) \ $(L06L) $(L07L) $(L08L) $(L09L) $(L10L) \ $(L11L) $(L12L) $(L13L) $(L14L) $(L15L) \ $(L16L) $(L17L) $(L18L) $(L19L) $(L20L) \ $(P08F) $(P07F) $(P06F) $(P03F) $(P02F) $(P01F) \ $(F01F) $(F02F) $(F03F) $(F04F) $(F05F) \ $(F06F) $(F07F) $(F08F) $(F09F) $(F10F) \ $(F11F) $(F12F) $(F13F) $(F14F) $(F15F) \ $(F16F) $(F17F) $(F18F) $(F19F) $(F20F) GUICFL= \ $(P08D) $(P07D) $(P06D) $(P05D) $(P04D) $(P03D) $(P02D) $(P01D) \ $(D01D) $(D02D) $(D03D) $(D04D) $(D05D) \ $(D06D) $(D07D) $(D08D) $(D09D) $(D10D) \ $(D11D) $(D12D) $(D13D) $(D14D) $(D15D) \ $(D16D) $(D17D) $(D18D) $(D19D) $(D20D) \ $(P08I) $(P07I) $(P06I) $(P03I) $(P02I) $(P01I) \ $(I01I) $(I02I) $(I03I) $(I04I) $(I05I) \ $(I06I) $(I07I) $(I08I) $(I09I) $(I10I) \ $(I11I) $(I12I) $(I13I) $(I14I) $(I15I) \ $(I16I) $(I17I) $(I18I) $(I19I) $(I20I) DEFAULTLIBS= kernel32.lib gdi32.lib advapi32.lib user32.lib netapi32.lib DEFAULTGUILIBS= ole32.lib \ oleaut32.lib \ shell32.lib \ comctl32.lib \ comdlg32.lib \ winspool.lib \ rpcrt4.lib WINSOCKLIB= ws2_32.lib # Flags to build executable EXEFLAGS= \ /nologo /subsystem:console /incremental:no $(EXEFLREL) $(LINKMANIFEST) \ /LIBPATH:. $(EXEDLPATH) $(LFL) GUIEXEFLAGS= \ /nologo /subsystem:windows /incremental:no $(EXEFLREL) $(LINKMANIFEST) \ /LIBPATH:. $(EXEDLPATH) $(LFLWX) $(GUILFL) EXE= LINK $(EXEFLAGS) $(DEFAULTLIBS) GUIEXE= LINK $(GUIEXEFLAGS) $(DEFAULTLIBS) $(DEFAULTGUILIBS) VC_MANIFEST_EMBED_EXE= \ if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;1 VC_MANIFEST_EMBED_DLL= \ if exist $@.manifest mt.exe -manifest $@.manifest -outputresource:$@;2 COBJFL= $(CFLAGSLEGACY) $(CFLUC) $(CFLRT) $(CFLCRT) /W3 \ /I. /I.. /I"$(PSDK)\Include" /I"$(VC)\Include" $(GUICFL) RCOBJFL= $(CFLAGSLEGACY) $(CFLUC) \ /I. /I.. /I"$(PSDK)\Include" /I"$(VC)\Include" $(GUICFL) .cpp.obj: @echo Compile $*.cpp $(CC) /nologo $(CPPFLAGS) $(CFLAGS) $(COBJFL) $(CFLWX) /c $*.cpp .c.obj: @echo Compile $*.c $(CC) /nologo $(CPPFLAGS) $(CFLAGS) $(COBJFL) /c $*.c .rc.res: $(RC) /nologo $(CPPFLAGS) $(CFLAGS) $(RCOBJFL) $*.rc # Destination directory for package building # PREFIX=$(CONF_OUTPUTDIR)\krause$(CONF_BITS) BINDIR=$(PREFIX)\bin ETCDIR=$(PREFIX)\etc SHAREDIR=$(PREFIX)\share MANDIR=$(SHAREDIR)\man MAN1DIR=$(MANDIR)\man1 MAN5DIR=$(MANDIR)\man5 DATADIR=$(SHAREDIR)\dktools DK4APPDIR=$(SHAREDIR)\dk4app INCLUDEDIR=$(PREFIX)\include LIBDIR=$(PREFIX)\lib CONTRIBDIR=$(PREFIX)\contrib