250 lines
5.8 KiB
Makefile
250 lines
5.8 KiB
Makefile
# -*-makefile-*-
|
|
# This makefile for MSVC has been tested with version 4.2 but should be ok with
|
|
# any 32-bit Microsoft compiler.
|
|
#
|
|
# Author: Caleb Deupree <cdeupree@erinet.com>
|
|
#
|
|
|
|
CC = cl -nologo
|
|
LINK = link -nologo -subsystem:windows
|
|
LIB32 = lib -nologo
|
|
RC = rc
|
|
|
|
LIBPATH = d:/msvc42
|
|
LIB = d:/msvc42/lib
|
|
DEFINES = -DWIN32 -D_X86_ -DSTk_CODE -DSTK_VERSION=\"3.1\"
|
|
-DMACHINE=\"MS_Win32\" -DUSE_TK DUSE_HASH \
|
|
-DUSE_STKLOS -DUSE_HTML -DUSE_REGEXP -DREDO_KEYSYM_LOOKUP -DNEED_MATHERR
|
|
-DUSE_SOCKET
|
|
INCLUDES = -I../Src -I../tcl -I../tk/generic -I../tk/win -I../tk/xlib
|
|
-I../tk/bitmaps -I../mp/fgmp-1.0b5
|
|
|
|
STDCMTLIB = $(LIBPATH)/lib/libcmt.lib
|
|
STDCLIB = $(LIBPATH)/lib/libc.lib
|
|
OLDNAMES = $(LIBPATH)/lib/oldnames.lib
|
|
KERNEL32 = $(LIBPATH)/lib/kernel32.lib
|
|
USER32 = $(LIBPATH)/lib/user32.lib
|
|
GDI32 = $(LIBPATH)/lib/gdi32.lib
|
|
COMDLG32 = $(LIBPATH)/lib/comdlg32.lib
|
|
WINSPOOL = $(LIBPATH)/lib/winspool.lib
|
|
ADVAPI32 = $(LIBPATH)/lib/advapi32.lib
|
|
SHELL32 = $(LIBPATH)/lib/shell32.lib
|
|
UUID = $(LIBPATH)/lib/uuid.lib
|
|
VERLIB = $(LIBPATH)/lib/version.lib
|
|
WSOCK32 = $(LIBPATH)/lib/wsock32.lib
|
|
|
|
SYSLIBS = $(USER32) $(GDI32) $(COMDLG32) $(WINSPOOL) $(ADVAPI32) $(SHELL32)
|
|
$(UUID) $(VERLIB) \
|
|
$(WSOCK32) $(STDCLIB)
|
|
#
|
|
# options for debug or release
|
|
!IF "$(CFG)" == ""
|
|
WRK = dbg
|
|
DEBUGFLAGS = -Zi -W3 -Od -D_DEBUG
|
|
DEBUGLINKFLAGS = -debug -pdb:$(WRK)/stk.pdb
|
|
|
|
!ELSEIF "$(CFG)" == "rel"
|
|
WRK = rel
|
|
DEBUGFLAGS = -W3 -Ot
|
|
DEBUGLINKFLAGS =
|
|
|
|
!ENDIF
|
|
|
|
CFLAGS = $(DEBUGFLAGS) $(DEFINES) $(INCLUDES) $(MULTITHREAD) -c
|
|
LINK_FLAGS = $(DEBUGLINKFLAGS) -MACHINE:I386 -INCREMENTAL:YES
|
|
LIB_FLAGS = /machine:x86
|
|
#
|
|
# Dependency List
|
|
#
|
|
Dep_stk = \
|
|
stk.exe
|
|
|
|
stk : $(WRK) $(Dep_stk)
|
|
|
|
$(WRK):
|
|
mkdir $(WRK)
|
|
|
|
clean:
|
|
rm -rf dbg rel
|
|
mkdir dbg rel
|
|
rm -f *.exe *.lib *~ \#*
|
|
|
|
Dep_stkdexe = stk.res $(WRK)/wstk.obj $(WRK)/tcl-lib.obj $(WRK)/tcl-util.obj \
|
|
$(WRK)/tk-glue.obj $(WRK)/tk-main.obj $(WRK)/tk-util.obj \
|
|
stk.lib\
|
|
tkxlib.lib\
|
|
tkwin.lib\
|
|
tkgen.lib\
|
|
tcl.lib
|
|
|
|
stk.exe : $(Dep_stkdexe)
|
|
$(LINK) /out:$@ $(LINK_FLAGS) $(Dep_stkdexe) $(SYSLIBS)
|
|
|
|
stk.res : stk.rc
|
|
$(RC) /fo$@ stk.rc
|
|
|
|
Dep_stkdlib = $(WRK)/address.obj $(WRK)/argv.obj $(WRK)/boolean.obj
|
|
$(WRK)/char.obj \
|
|
$(WRK)/cont.obj $(WRK)/dummy.obj $(WRK)/dump.obj $(WRK)/dynload.obj
|
|
$(WRK)/env.obj \
|
|
$(WRK)/error.obj $(WRK)/eval.obj $(WRK)/extend.obj $(WRK)/gc.obj
|
|
$(WRK)/hash.obj \
|
|
$(WRK)/html.obj $(WRK)/io.obj $(WRK)/keyword.obj $(WRK)/list.obj
|
|
$(WRK)/macros.obj \
|
|
$(WRK)/number.obj $(WRK)/pixmap.obj $(WRK)/port.obj $(WRK)/primitives.obj \
|
|
$(WRK)/print.obj $(WRK)/proc.obj $(WRK)/promise.obj $(WRK)/read.obj
|
|
$(WRK)/signal.obj \
|
|
$(WRK)/slib.obj $(WRK)/sport.obj $(WRK)/sregexp.obj $(WRK)/stklos.obj
|
|
$(WRK)/str.obj \
|
|
$(WRK)/symbol.obj $(WRK)/syntax.obj $(WRK)/toplevel.obj $(WRK)/trace.obj
|
|
$(WRK)/unix.obj \
|
|
$(WRK)/userinit.obj $(WRK)/vector.obj $(WRK)/gmp.obj $(WRK)/socket.obj
|
|
|
|
stk.lib : $(Dep_stkdlib)
|
|
$(LIB32) $(LIB_FLAGS) /out:$@ $(Dep_stkdlib)
|
|
|
|
{..\src\}.c{$(WRK)}.obj:
|
|
$(CC) $(CFLAGS) -Fo$@ $<
|
|
|
|
{..\Extensions\}.c{$(WRK)}.obj:
|
|
$(CC) $(CFLAGS) -Fo$@ $<
|
|
|
|
{..\tk\xlib\}.c{$(WRK)}.obj:
|
|
$(CC) $(CFLAGS) -Fo$@ $<
|
|
|
|
{..\tk\generic\}.c{$(WRK)}.obj:
|
|
$(CC) $(CFLAGS) -Fo$@ $<
|
|
|
|
{..\tk\win\}.c{$(WRK)}.obj:
|
|
$(CC) $(CFLAGS) -Fo$@ $<
|
|
|
|
{..\tcl\}.c{$(WRK)}.obj:
|
|
$(CC) $(CFLAGS) -Fo$@ $<
|
|
|
|
{..\src\}.c{}.i:
|
|
$(CC) $(CFLAGS) -P -Fo$@ $<
|
|
|
|
{..\Extensions\}.c{}.i:
|
|
$(CC) $(CFLAGS) -P -Fo$@ $<
|
|
|
|
$(WRK)/gmp.obj : ..\mp\fgmp-1.0b5\gmp.c
|
|
$(CC) $(CFLAGS) -Fo$@ ..\mp\fgmp-1.0b5\gmp.c
|
|
|
|
|
|
Dep_tkxlibdlib = \
|
|
$(WRK)/xdraw.obj\
|
|
$(WRK)/xgc.obj\
|
|
$(WRK)/ximage.obj\
|
|
$(WRK)/xutil.obj
|
|
|
|
tkxlib.lib : $(Dep_tkxlibdlib)
|
|
$(LIB32) $(LIB_FLAGS) /out:$@ $(Dep_tkxlibdlib)
|
|
|
|
Dep_tkwindlib = \
|
|
$(WRK)/stubs.obj\
|
|
$(WRK)/tkWin32Dll.obj\
|
|
$(WRK)/tkWinColor.obj\
|
|
$(WRK)/tkWinClipboard.obj\
|
|
$(WRK)/tkWinCursor.obj\
|
|
$(WRK)/tkWinDraw.obj\
|
|
$(WRK)/tkWinFont.obj\
|
|
$(WRK)/tkWinImage.obj\
|
|
$(WRK)/tkWinInit.obj\
|
|
$(WRK)/tkwinkey.obj\
|
|
$(WRK)/tkWinPixmap.obj\
|
|
$(WRK)/tkWinPointer.obj\
|
|
$(WRK)/tkWinRegion.obj\
|
|
$(WRK)/tkWinWindow.obj\
|
|
$(WRK)/tkwinwm.obj\
|
|
$(WRK)/tkwinx.obj
|
|
|
|
tkwin.lib : $(Dep_tkwindlib)
|
|
$(LIB32) $(LIB_FLAGS) /out:$@ $(Dep_tkwindlib)
|
|
|
|
Dep_tkgendlib = \
|
|
$(WRK)/tkimggif.obj\
|
|
$(WRK)/tkimgppm.obj\
|
|
$(WRK)/tkgrid.obj\
|
|
$(WRK)/tk3d.obj\
|
|
$(WRK)/tkargv.obj\
|
|
$(WRK)/tkatom.obj\
|
|
$(WRK)/tkbind.obj\
|
|
$(WRK)/tkbitmap.obj\
|
|
$(WRK)/tkbutton.obj\
|
|
$(WRK)/tkCanvLine.obj\
|
|
$(WRK)/tkCanvPoly.obj\
|
|
$(WRK)/tkCanvUtil.obj\
|
|
$(WRK)/tkCanvArc.obj\
|
|
$(WRK)/tkCanvBmap.obj\
|
|
$(WRK)/tkCanvImg.obj\
|
|
$(WRK)/tkCanvText.obj\
|
|
$(WRK)/tkCanvWind.obj\
|
|
$(WRK)/tkcanvas.obj\
|
|
$(WRK)/tkcanvps.obj\
|
|
$(WRK)/tkClipboard.obj\
|
|
$(WRK)/tkcmds.obj\
|
|
$(WRK)/tkcolor.obj\
|
|
$(WRK)/tkconfig.obj\
|
|
$(WRK)/tkcursor.obj\
|
|
$(WRK)/tkentry.obj\
|
|
$(WRK)/tkerror.obj\
|
|
$(WRK)/tkevent.obj\
|
|
$(WRK)/tkfocus.obj\
|
|
$(WRK)/tkfont.obj\
|
|
$(WRK)/tkframe.obj\
|
|
$(WRK)/tkgc.obj\
|
|
$(WRK)/tkGeometry.obj\
|
|
$(WRK)/tkget.obj\
|
|
$(WRK)/tkgrab.obj\
|
|
$(WRK)/tkimage.obj\
|
|
$(WRK)/tkImgBmap.obj\
|
|
$(WRK)/tkImgPhoto.obj\
|
|
$(WRK)/tkImgUtil.obj\
|
|
$(WRK)/tkListbox.obj\
|
|
$(WRK)/tkmain.obj\
|
|
$(WRK)/tkmenu.obj\
|
|
$(WRK)/tkMenubutton.obj\
|
|
$(WRK)/tkMessage.obj\
|
|
$(WRK)/tkoption.obj\
|
|
$(WRK)/tkpack.obj\
|
|
$(WRK)/tkplace.obj\
|
|
$(WRK)/tkRectOval.obj\
|
|
$(WRK)/tkscale.obj\
|
|
$(WRK)/tkScrollbar.obj\
|
|
$(WRK)/tkselect.obj\
|
|
$(WRK)/tksend.obj\
|
|
$(WRK)/tksquare.obj\
|
|
$(WRK)/tktest.obj\
|
|
$(WRK)/tktext.obj\
|
|
$(WRK)/tkTextIndex.obj\
|
|
$(WRK)/tkTextMark.obj\
|
|
$(WRK)/tkTextBTree.obj\
|
|
$(WRK)/tkTextDisp.obj\
|
|
$(WRK)/tkTextTag.obj\
|
|
$(WRK)/tkTextWind.obj\
|
|
$(WRK)/tktrig.obj\
|
|
$(WRK)/tkutil.obj\
|
|
$(WRK)/tkvisual.obj\
|
|
$(WRK)/tkwindow.obj
|
|
|
|
|
|
tkgen.lib : $(Dep_tkgendlib)
|
|
$(LIB32) $(LIB_FLAGS) /out:$@ $(Dep_tkgendlib)
|
|
|
|
Dep_tcldlib = \
|
|
$(WRK)/tclWinNotify.obj\
|
|
$(WRK)/tclevent.obj\
|
|
$(WRK)/panic.obj\
|
|
$(WRK)/regexp.obj\
|
|
$(WRK)/tclasync.obj\
|
|
$(WRK)/tclget.obj\
|
|
$(WRK)/tclhash.obj\
|
|
$(WRK)/tclMtherr.obj\
|
|
$(WRK)/tclNotify.obj\
|
|
$(WRK)/tclutil.obj\
|
|
$(WRK)/tclWinTime.obj
|
|
|
|
tcl.lib : $(Dep_tcldlib)
|
|
$(LIB32) $(LIB_FLAGS) /out:$@ $(Dep_tcldlib)
|
|
|