📄 makefile.vc
字号:
# Visual C++ 2.x and 4.0 makefile## See the file "license.terms" for information on usage and redistribution# of this file, and for a DISCLAIMER OF ALL WARRANTIES.# # Copyright (c) 1995-1996 Sun Microsystems, Inc.# SCCS: @(#) makefile.vc 1.13 98/08/20 22:10:09# 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## ROOT = top of source tree## TMPDIR = location where .obj files should be stored during build## 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++.## TCLDIR = location of top of Tcl source heirarchy#ROOT = ..TOOLS32 = c:\progra~1\devstudio\vcTOOLS32_rc = c:\progra~1\devstudio\sharedideTCLDIR = ..\..\tcl8.0.3# Set this to the appropriate value of /MACHINE: for your platformMACHINE = IX86# Set NODEBUG to 0 to compile with symbolsNODEBUG = 1# uncomment the following two lines to compile with TCL_MEM_DEBUG#DEBUGDEFINES =-DTCL_MEM_DEBUG####################################################################### Do not modify below this line######################################################################TCLNAMEPREFIX = tclTKNAMEPREFIX = tkWISHNAMEPREFIX = wishVERSION = 80BINROOT = .!IF "$(NODEBUG)" == "1"TMPDIRNAME = ReleaseDBGX =!ELSETMPDIRNAME = DebugDBGX = d!ENDIFTMPDIR = $(BINROOT)\$(TMPDIRNAME)OUTDIRNAME = $(TMPDIRNAME)OUTDIR = $(TMPDIR)TCLLIB = $(TCLNAMEPREFIX)$(VERSION)$(DBGX).libTCLPLUGINLIB = $(TCLNAMEPREFIX)$(VERSION)p.libTKDLLNAME = $(TKNAMEPREFIX)$(VERSION)$(DBGX).dllTKDLL = $(OUTDIR)\$(TKDLLNAME)TKLIB = $(OUTDIR)\$(TKNAMEPREFIX)$(VERSION)$(DBGX).libTKPLUGINDLLNAME = $(TKNAMEPREFIX)$(VERSION)p$(DBG).dllTKPLUGINDLL = $(OUTDIR)\$(TKPLUGINDLLNAME)TKPLUGINLIB = $(OUTDIR)\$(TKNAMEPREFIX)$(VERSION)p$(DBGX).libWISH = $(OUTDIR)\$(WISHNAMEPREFIX)$(VERSION)$(DBGX).exeWISHP = $(OUTDIR)\$(WISHNAMEPREFIX)p$(VERSION)$(DBGX).exeTKTEST = $(OUTDIR)\$(TKNAMEPREFIX)test.exeDUMPEXTS = $(TMPDIR)\dumpexts.exeWISHOBJS = \ $(TMPDIR)\winMain.objTKTESTOBJS = \ $(TMPDIR)\tkTest.obj \ $(TMPDIR)\tkSquare.obj \ $(TMPDIR)\testMain.objXLIBOBJS = \ $(TMPDIR)\xcolors.obj \ $(TMPDIR)\xdraw.obj \ $(TMPDIR)\xgc.obj \ $(TMPDIR)\ximage.obj \ $(TMPDIR)\xutil.objTKOBJS = \ $(TMPDIR)\tkConsole.obj \ $(TMPDIR)\tkUnixMenubu.obj \ $(TMPDIR)\tkUnixScale.obj \ $(XLIBOBJS) \ $(TMPDIR)\tkWin3d.obj \ $(TMPDIR)\tkWin32Dll.obj \ $(TMPDIR)\tkWinButton.obj \ $(TMPDIR)\tkWinClipboard.obj \ $(TMPDIR)\tkWinColor.obj \ $(TMPDIR)\tkWinCursor.obj \ $(TMPDIR)\tkWinDialog.obj \ $(TMPDIR)\tkWinDraw.obj \ $(TMPDIR)\tkWinEmbed.obj \ $(TMPDIR)\tkWinFont.obj \ $(TMPDIR)\tkWinGdi.obj \ $(TMPDIR)\tkWinImage.obj \ $(TMPDIR)\tkWinInit.obj \ $(TMPDIR)\tkWinKey.obj \ $(TMPDIR)\tkWinMenu.obj \ $(TMPDIR)\tkWinPixmap.obj \ $(TMPDIR)\tkWinPointer.obj \ $(TMPDIR)\tkWinRegion.obj \ $(TMPDIR)\tkWinScrlbr.obj \ $(TMPDIR)\tkWinSend.obj \ $(TMPDIR)\tkWinUtil.obj \ $(TMPDIR)\tkWinWindow.obj \ $(TMPDIR)\tkWinWm.obj \ $(TMPDIR)\tkWinX.obj \ $(TMPDIR)\stubs.obj \ $(TMPDIR)\tk3d.obj \ $(TMPDIR)\tkArgv.obj \ $(TMPDIR)\tkAtom.obj \ $(TMPDIR)\tkBind.obj \ $(TMPDIR)\tkBitmap.obj \ $(TMPDIR)\tkButton.obj \ $(TMPDIR)\tkCanvArc.obj \ $(TMPDIR)\tkCanvBmap.obj \ $(TMPDIR)\tkCanvImg.obj \ $(TMPDIR)\tkCanvLine.obj \ $(TMPDIR)\tkCanvPoly.obj \ $(TMPDIR)\tkCanvPs.obj \ $(TMPDIR)\tkCanvText.obj \ $(TMPDIR)\tkCanvUtil.obj \ $(TMPDIR)\tkCanvWind.obj \ $(TMPDIR)\tkCanvas.obj \ $(TMPDIR)\tkClipboard.obj \ $(TMPDIR)\tkCmds.obj \ $(TMPDIR)\tkColor.obj \ $(TMPDIR)\tkConfig.obj \ $(TMPDIR)\tkCursor.obj \ $(TMPDIR)\tkEntry.obj \ $(TMPDIR)\tkError.obj \ $(TMPDIR)\tkEvent.obj \ $(TMPDIR)\tkFileFilter.obj \ $(TMPDIR)\tkFocus.obj \ $(TMPDIR)\tkFont.obj \ $(TMPDIR)\tkFrame.obj \ $(TMPDIR)\tkGC.obj \ $(TMPDIR)\tkGeometry.obj \ $(TMPDIR)\tkGet.obj \ $(TMPDIR)\tkGrab.obj \ $(TMPDIR)\tkGrid.obj \ $(TMPDIR)\tkImage.obj \ $(TMPDIR)\tkImgBmap.obj \ $(TMPDIR)\tkImgGIF.obj \ $(TMPDIR)\tkImgPPM.obj \ $(TMPDIR)\tkImgPhoto.obj \ $(TMPDIR)\tkImgUtil.obj \ $(TMPDIR)\tkListbox.obj \ $(TMPDIR)\tkMacWinMenu.obj \ $(TMPDIR)\tkMain.obj \ $(TMPDIR)\tkMenu.obj \ $(TMPDIR)\tkMenubutton.obj \ $(TMPDIR)\tkMenuDraw.obj \ $(TMPDIR)\tkMessage.obj \ $(TMPDIR)\tkOption.obj \ $(TMPDIR)\tkPack.obj \ $(TMPDIR)\tkPlace.obj \ $(TMPDIR)\tkPointer.obj \ $(TMPDIR)\tkRectOval.obj \ $(TMPDIR)\tkScale.obj \ $(TMPDIR)\tkScrollbar.obj \ $(TMPDIR)\tkSelect.obj \ $(TMPDIR)\tkText.obj \ $(TMPDIR)\tkTextBTree.obj \ $(TMPDIR)\tkTextDisp.obj \ $(TMPDIR)\tkTextImage.obj \ $(TMPDIR)\tkTextIndex.obj \ $(TMPDIR)\tkTextMark.obj \ $(TMPDIR)\tkTextTag.obj \ $(TMPDIR)\tkTextWind.obj \ $(TMPDIR)\tkTrig.obj \ $(TMPDIR)\tkUtil.obj \ $(TMPDIR)\tkVisual.obj \ $(TMPDIR)\tkWindow.objcc32 = $(TOOLS32)\bin\cl.exelink32 = $(TOOLS32)\bin\link.exerc32 = $(TOOLS32_rc)\bin\rc.exeinclude32 = -I$(TOOLS32)\includeWINDIR = $(ROOT)\winGENERICDIR = $(ROOT)\genericXLIBDIR = $(ROOT)\xlibBITMAPDIR = $(ROOT)\bitmapsTCLLIBDIR = $(TCLDIR)\win\$(OUTDIRNAME)RCDIR = $(WINDIR)\rcTK_INCLUDES = -I$(WINDIR) -I$(GENERICDIR) -I$(BITMAPDIR) -I$(XLIBDIR) \ -I$(TCLDIR)\genericTK_DEFINES = $(DEBUGDEFINES)TK_CFLAGS = $(cdebug) $(cflags) $(cvarsdll) $(include32) \ $(TK_INCLUDES) $(TK_DEFINES) ####################################################################### Link flags######################################################################!IF "$(NODEBUG)" == "1"ldebug = /RELEASE!ELSEldebug = -debug:full -debugtype:cv!ENDIF# declarations common to all linker optionslcommon = /NODEFAULTLIB /RELEASE /NOLOGO# declarations for use on Intel i386, i486, and Pentium systems!IF "$(MACHINE)" == "IX86"DLLENTRY = @12lflags = $(lcommon) -align:0x1000 /MACHINE:$(MACHINE)!ELSElflags = $(lcommon) /MACHINE:$(MACHINE)!ENDIFconlflags = $(lflags) -subsystem:console -entry:mainCRTStartupguilflags = $(lflags) -subsystem:windows -entry:WinMainCRTStartupdlllflags = $(lflags) -entry:_DllMainCRTStartup$(DLLENTRY) -dll!IF "$(MACHINE)" == "PPC"libc = libc.liblibcdll = crtdll.lib!ELSElibc = libc.lib oldnames.liblibcdll = msvcrt.lib oldnames.lib!ENDIFbaselibs = kernel32.lib $(optlibs) advapi32.libwinlibs = $(baselibs) user32.lib gdi32.lib comdlg32.lib winspool.libguilibs = $(libc) $(winlibs)guilibsdll = $(libcdll) $(winlibs)####################################################################### Compile flags######################################################################!IF "$(NODEBUG)" == "1"!IF "$(MACHINE)" == "ALPHA"# MSVC on Alpha doesn't understand -Otcdebug = -O2i -Gs -GD!ELSEcdebug = -Oti -Gs -GD!ENDIF!ELSEcdebug = -Z7 -Od -WX!ENDIF# declarations common to all compiler optionsccommon = -c -W3 -nologo -Fp$(TMPDIR)\ -YX!IF "$(MACHINE)" == "IX86"cflags = $(ccommon) -D_X86_=1!ELSE!IF "$(MACHINE)" == "MIPS"cflags = $(ccommon) -D_MIPS_=1!ELSE!IF "$(MACHINE)" == "PPC"cflags = $(ccommon) -D_PPC_=1!ELSE!IF "$(MACHINE)" == "ALPHA"cflags = $(ccommon) -D_ALPHA_=1!ENDIF!ENDIF!ENDIF!ENDIFcvars = -DWIN32 -D_WIN32cvarsmt = $(cvars) -D_MTcvarsdll = $(cvarsmt) -D_DLL!IF "$(NODEBUG)" == "1"cvarsdll = $(cvars) -MD!ELSEcvarsdll = $(cvars) -MDd!ENDIFCON_CFLAGS = $(cdebug) $(cflags) $(cvars) $(include32) -DCONSOLE####################################################################### Project specific targets######################################################################all: setup $(WISH)test: setup $(TKTEST)plugin: setup $(TKPLUGINDLL) $(WISHP)setup: @mkd $(TMPDIR) @mkd $(OUTDIR)$(TKLIB): $(TKDLL)$(TKDLL): $(TKOBJS) $(TMPDIR)\tk.res $(TMPDIR)\tk.def set LIB=$(TOOLS32)\lib $(link32) $(ldebug) $(dlllflags) -def:$(TMPDIR)\tk.def \ -out:$@ $(TMPDIR)\tk.res $(TCLLIBDIR)\$(TCLLIB) \ $(guilibsdll) @<< $(TKOBJS)<<$(TKPLUGINLIB): $(TKPLUGINDLL)$(TKPLUGINDLL): $(TKOBJS) $(TMPDIR)\tk.res $(TMPDIR)\plugin.def set LIB=$(TOOLS32)\lib $(link32) $(ldebug) $(dlllflags) -def:$(TMPDIR)\plugin.def \ -out:$@ $(TMPDIR)\tk.res $(TCLLIBDIR)\$(TCLPLUGINLIB) \ $(guilibsdll) @<< $(TKOBJS)<<$(WISH): $(WISHOBJS) $(TKLIB) $(TMPDIR)\wish.res set LIB=$(TOOLS32)\lib $(link32) $(ldebug) $(guilflags) $(TMPDIR)\wish.res -out:$@ \ $(guilibsdll) $(TCLLIBDIR)\$(TCLLIB) $(TKLIB) $(WISHOBJS) $(WISHP): $(WISHOBJS) $(TKPLUGINLIB) $(TMPDIR)\wish.res set LIB=$(TOOLS32)\lib $(link32) $(ldebug) $(guilflags) $(TMPDIR)\wish.res -out:$@ \ $(guilibsdll) $(TCLLIBDIR)\$(TCLPLUGINLIB) \ $(TKPLUGINLIB) $(WISHOBJS) $(TKTEST): $(TKTESTOBJS) $(TKLIB) $(TMPDIR)\wish.res set LIB=$(TOOLS32)\lib $(link32) $(ldebug) $(guilflags) $(TMPDIR)\wish.res -out:$@ \ $(guilibsdll) $(TCLLIBDIR)\$(TCLLIB) $(TKLIB) $(TKTESTOBJS)$(TMPDIR)\tk.def: $(DUMPEXTS) $(TKOBJS) $(DUMPEXTS) -o $@ $(TKDLLNAME) @<< $(TKOBJS)<<$(TMPDIR)\plugin.def: $(DUMPEXTS) $(TKOBJS) $(DUMPEXTS) -o $@ $(TKPLUGINDLLNAME) @<< $(TKOBJS)<<$(DUMPEXTS): $(TCLDIR)\win\winDumpExts.c $(cc32) $(CON_CFLAGS) -Fo$(TMPDIR)\ $? set LIB=$(TOOLS32)\lib $(link32) $(ldebug) $(conlflags) $(guilibs) -out:$@ \ $(TMPDIR)\winDumpExts.obj ## Special case object file targets#$(TMPDIR)\testMain.obj: $(ROOT)\win\winMain.c $(cc32) $(TK_CFLAGS) -DSTATIC_BUILD -DTK_TEST -Fo$@ $?$(TMPDIR)\tkTest.obj: $(ROOT)\generic\tkTest.c $(cc32) $(TK_CFLAGS) -DSTATIC_BUILD -Fo$@ $?$(TMPDIR)\tkSquare.obj: $(ROOT)\generic\tkSquare.c $(cc32) $(TK_CFLAGS) -Fo$@ $?$(TMPDIR)\winMain.obj: $(ROOT)\win\winMain.c $(cc32) $(TK_CFLAGS) -DSTATIC_BUILD -Fo$@ $?## Implicit rules#{$(XLIBDIR)}.c{$(TMPDIR)}.obj: $(cc32) -DDLL_BUILD -DBUILD_tk $(TK_CFLAGS) -Fo$(TMPDIR)\ $<{$(GENERICDIR)}.c{$(TMPDIR)}.obj: $(cc32) -DDLL_BUILD -DBUILD_tk $(TK_CFLAGS) -Fo$(TMPDIR)\ $<{$(WINDIR)}.c{$(TMPDIR)}.obj: $(cc32) -DDLL_BUILD -DBUILD_tk $(TK_CFLAGS) -Fo$(TMPDIR)\ $<{$(ROOT)\unix}.c{$(TMPDIR)}.obj: $(cc32) -DDLL_BUILD -DBUILD_tk $(TK_CFLAGS) -Fo$(TMPDIR)\ $<{$(RCDIR)}.rc{$(TMPDIR)}.res: $(rc32) -fo $@ -r -i $(GENERICDIR) $<clean: -@del $(OUTDIR)\*.exp -@del $(OUTDIR)\*.lib -@del $(OUTDIR)\*.dll -@del $(OUTDIR)\*.exe -@del $(OUTDIR)\*.pdb -@del $(TMPDIR)\*.pch -@del $(TMPDIR)\*.obj -@del $(TMPDIR)\*.res -@del $(TMPDIR)\*.def -@del $(TMPDIR)\*.exe -@rmd $(OUTDIR) -@rmd $(TMPDIR)# dependencies$(TMPDIR)\tk.res: \ $(RCDIR)\buttons.bmp \ $(RCDIR)\cursor*.cur \ $(RCDIR)\tk.ico$(GENERICDIR)/default.h: $(WINDIR)/tkWinDefault.h$(GENERICDIR)/tkButton.c: $(GENERICDIR)/default.h$(GENERICDIR)/tkCanvas.c: $(GENERICDIR)/default.h$(GENERICDIR)/tkEntry.c: $(GENERICDIR)/default.h$(GENERICDIR)/tkFrame.c: $(GENERICDIR)/default.h$(GENERICDIR)/tkListbox.c: $(GENERICDIR)/default.h$(GENERICDIR)/tkMenu.c: $(GENERICDIR)/default.h$(GENERICDIR)/tkMenubutton.c: $(GENERICDIR)/default.h$(GENERICDIR)/tkMessage.c: $(GENERICDIR)/default.h$(GENERICDIR)/tkScale.c: $(GENERICDIR)/default.h$(GENERICDIR)/tkScrollbar.c: $(GENERICDIR)/default.h$(GENERICDIR)/tkText.c: $(GENERICDIR)/default.h$(GENERICDIR)/tkTextIndex.c: $(GENERICDIR)/default.h$(GENERICDIR)/tkTextTag.c: $(GENERICDIR)/default.h$(GENERICDIR)/tkText.c: $(GENERICDIR)/tkText.h$(GENERICDIR)/tkTextBTree.c: $(GENERICDIR)/tkText.h$(GENERICDIR)/tkTextDisp.c: $(GENERICDIR)/tkText.h$(GENERICDIR)/tkTextDisp.c: $(GENERICDIR)/tkText.h$(GENERICDIR)/tkTextImage.c: $(GENERICDIR)/tkText.h$(GENERICDIR)/tkTextIndex.c: $(GENERICDIR)/tkText.h$(GENERICDIR)/tkTextMark.c: $(GENERICDIR)/tkText.h$(GENERICDIR)/tkTextTag.c: $(GENERICDIR)/tkText.h$(GENERICDIR)/tkTextWind.c: $(GENERICDIR)/tkText.h$(GENERICDIR)/tkMacWinMenu.c: $(GENERICDIR)/tkMenu.h$(GENERICDIR)/tkMenu.c: $(GENERICDIR)/tkMenu.h$(GENERICDIR)/tkMenuDraw.c: $(GENERICDIR)/tkMenu.h$(WINDIR)/tkWinMenu.c: $(GENERICDIR)/tkMenu.h
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -