# Visual C++ 2.x, 4.x, and 5.x makefile # Does not depend on the presence of any environment variables in # order to compile tcl; all needed information is derived from # location of the compiler directories. # Project directories # # TOOLS32 = location of VC++ 32-bit development tools. Note that the # VC++ 2.0 header files are broken, so you need to use the # ones that come with the developer network CD's, or later # versions of VC++. # !IFNDEF TOOLS32 TOOLS32 = f:\visual_studio\vc98\ !ENDIF # Set this to the appropriate value of /MACHINE: for your platform MACHINE = IX86 # Comment the following line to compile with symbols # NODEBUG=1 ###################################################################### # Do not modify below this line ###################################################################### ZLIB_LIB = k95inst.lib ZLIB_DLL = k95inst.dll ZLIB_OBJS = k95inst.obj cc32 = $(TOOLS32)\bin\cl.exe link32 = $(TOOLS32)\bin\link.exe rc32 = $(TOOLS32)\bin\rc.exe nmake = $(TOOLS32)\bin\nmake.exe include32 = -I$(TOOLS32)\include DEFINES = -D__WIN32__ -DWIN32 $(DEBUGDEFINES) CFLAGS = $(cdebug) $(cflags) $(cvarsdll) $(include32) \ $(INCLUDES) $(DEFINES) CON_CFLAGS = $(cdebug) $(cflags) $(cvars) $(include32) -DCONSOLE DOS_CFLAGS = $(cdebug) $(cflags) $(include16) -AL DLL16_CFLAGS = $(cdebug) $(cflags) $(include16) -ALw ###################################################################### # Link flags ###################################################################### !IFDEF NODEBUG ldebug = /RELEASE !ELSE ldebug = -debug:full -debugtype:cv !ENDIF # declarations common to all linker options lcommon = /NODEFAULTLIB /RELEASE /NOLOGO # declarations for use on Intel i386, i486, and Pentium systems !IF "$(MACHINE)" == "IX86" DLLENTRY = @12 lflags = $(lcommon) -align:0x1000 /MACHINE:$(MACHINE) !ELSE lflags = $(lcommon) /MACHINE:$(MACHINE) !ENDIF conlflags = $(lflags) -subsystem:console -entry:mainCRTStartup guilflags = $(lflags) -subsystem:windows -entry:WinMainCRTStartup dlllflags = $(lflags) -entry:_DllMainCRTStartup$(DLLENTRY) -dll !IF "$(MACHINE)" == "PPC" libc = libc.lib libcdll = crtdll.lib !ELSE libc = libc.lib oldnames.lib libcdll = msvcrt.lib oldnames.lib !ENDIF baselibs = kernel32.lib $(optlibs) advapi32.lib winspool.lib winlibs = $(baselibs) user32.lib gdi32.lib comdlg32.lib guilibs = $(libc) $(winlibs) conlibs = $(libc) $(baselibs) guilibsdll = $(libcdll) $(winlibs) conlibsdll = $(libcdll) $(baselibs) ###################################################################### # Compile flags ###################################################################### !IFDEF NODEBUG cdebug = -Ox !ELSE cdebug = -Z7 -Od !ENDIF # declarations common to all compiler options ccommon = -c -W3 -nologo -YX -Dtry=__try -Dexcept=__except !IF "$(MACHINE)" == "IX86" cflags = $(ccommon) -D_X86_=1 -J !ELSE !IF "$(MACHINE)" == "MIPS" cflags = $(ccommon) -D_MIPS_=1 -J !ELSE !IF "$(MACHINE)" == "PPC" cflags = $(ccommon) -D_PPC_=1 -J !ELSE !IF "$(MACHINE)" == "ALPHA" cflags = $(ccommon) -D_ALPHA_=1 -J !ENDIF !ENDIF !ENDIF !ENDIF cvars = -DWIN32 -D_WIN32 cvarsmt = $(cvars) -D_MT cvarsdll = $(cvarsmt) -D_DLL ###################################################################### # Project specific targets ###################################################################### release: $(ZLIB_DLL) $(ZLIB_LIB) all: $(ZLIB_DLL) $(ZLIB_LIB) $(ZLIB_DLL): $(ZLIB_OBJS) k95inst.def set LIB=$(TOOLS32)\lib $(link32) $(ldebug) $(dlllflags) -def:k95inst.def \ -out:$@ $(guilibsdll) @<< $(ZLIB_OBJS) << $(ZLIB_LIB): $(ZLIB_DLL) # # Implicit rules # .c.obj: $(cc32) $(CFLAGS) $< clean: -@del *~ -@del *.ncb -@del *.exp -@del *.lib -@del *.dll -@del *.exe -@del *.obj -@del *.res -@del *.pch -@del *.plg