aboutsummaryrefslogtreecommitdiff
path: root/win/makefile.vc.in
blob: 62fccd4a617bc41ff4a9285b48579bd5c3a9984b (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
# Generated automatically from Makefile.in by configure.
#  Copyright (c) 1993 - 2002 CENA, Patrick Lecoanet --
#
# This code is free software; you can redistribute it and/or
# modify it under the terms of the GNU Library General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This code is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Library General Public License for more details.
#
# You should have received a copy of the GNU Library General Public
# License along with this code; if not, write to the Free
# Software Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
# $Revision$
#
srcdir = ..
TCLTK_FULL_VER = 8.4.6
TCLTK_LIB_VER = 84
TKZINC_MAJOR = @MAJOR_VERSION@
TKZINC_MINOR = @MINOR_VERSION@
TKZINC_PATCHLVL = @PATCHLEVEL@

# Visual Studio 6 default
TOOLS32		= C:\Progra~1\Microsoft Visual Studio\VC98
CC		= "$(TOOLS32)\bin\cl.exe"
LD		= "$(TOOLS32)\bin\link.exe" -link50compat
libpath32	= /LIBPATH:"$(TOOLS32)\lib"
include32	= /I"$(TOOLS32)\include"
CP		= copy
RM		= del

prefix = c:\Tcl
exec_prefix = $(prefix)

bindir = $(exec_prefix)\bin
libdir = $(exec_prefix)\lib
incdir = $(prefix)\include
mandir = $(prefix)\man\man3

windir = $(srcdir)\win
genericdir = $(srcdir)\generic
tessdir = $(srcdir)\libtess
tmpdir = $(srcdir)

tcl_inc_dir = $(srcdir)\..\tcl$(TCLTK_FULL_VER)
tk_inc_dir = $(srcdir)\..\tk$(TCLTK_FULL_VER)
INCLUDES    = /I$(srcdir)/generic /I$(srcdir)/libtess $(include32)

# Assume that WISH is already INSTALLED
TCLSH		= $(bindir)\tclsh$(TCLTK_LIB_VER)
WISH		= $(bindir)\wish$(TCLTK_LIB_VER)
WIN_LIBS	= user32.lib gdi32.lib ws2_32.lib
GL_LIBS		= opengl32.lib
TKLIBS		= $(libdir)\tcl$(TCLTK_LIB_VER).lib \
		  $(libdir)\tk$(TCLTK_LIB_VER).lib \
		  $(GL_LIBS) $(WIN_LIBS)

VERSION = \"$(TKZINC_MAJOR).$(TKZINC_MINOR).$(TKZINC_PATCHLVL)\"

#
# Recognized compilation time flags are :
#
#	PROFILE			ask for profile support
#	OM			include code for internal overlap manager
#	GL			include code that need GL support.
#	GL_PRINT_CONFIG	display the detected hardware capabilities
#	GL_DAMAGE		redraw only modified areas
#	SHAPE			include code for reshaping windows.
#
DFLAGS= /DOM /DGL /DGL_DAMAGE /DGL_PRINT_CONFIG
#DFLAGS= /DOM
#DFLAGS = /DTCL_MEM_DEBUG

# Max speed
#CDEBUG = -O2 -Gs
# Debug
CDEBUG = -Z7 -Od
CFLAGS = /c /W3 /nologo /YX $(CDEBUG) /D__STDC__ /DVERSION=$(VERSION) /DDLL_BUILD /DBUILD_Tkzinc $(DFLAGS)
TKCPPFLAGS = /Fp$(tmpdir)\ $(INCLUDES) /I"$(incdir)" /I$(tk_inc_dir)\generic /I$(tk_inc_dir)\win /I$(tcl_inc_dir)\generic /I$(tcl_inc_dir)\win /I$(tk_inc_dir)\xlib /D__STDC__

LFLAGS	= /nologo /machine:IX86 /warn:3 $(libpath32) /FORCE:MULTIPLE /NODEFAULTLIB:uuid.lib /NODEFAULTLIB:OLDNAMES.lib

DLLENTRY = @12
DLLLFLAGS = $(LFLAGS) /entry:_DllMainCRTStartup$(DLLENTRY) /dll

TKDLLOBJS = $(tmpdir)\Track.obj $(tmpdir)\Tabular.obj \
	$(tmpdir)\Reticle.obj $(tmpdir)\Map.obj \
	$(tmpdir)\Rectangle.obj $(tmpdir)\Arc.obj \
	$(tmpdir)\Curve.obj $(tmpdir)\Item.obj  \
#	$(tmpdir)\PostScript.obj $(tmpdir)\perfos.obj \
	$(tmpdir)\MapInfo.obj $(tmpdir)\Attrs.obj \
	$(tmpdir)\Draw.obj $(tmpdir)\Geo.obj \
	$(tmpdir)\List.obj $(tmpdir)\Transfo.obj \
	$(tmpdir)\Group.obj $(tmpdir)\Icon.obj \
	$(tmpdir)\Text.obj $(tmpdir)\Color.obj \
	$(tmpdir)\Field.obj $(tmpdir)\Triangles.obj \
	$(tmpdir)\Window.obj $(tmpdir)\tkZinc.obj \
	$(tmpdir)\OverlapMan.obj $(tmpdir)\WinPort.obj \
	$(tmpdir)\Image.obj $(tmpdir)\dict.obj $(tmpdir)\geom.obj \
	$(tmpdir)\memalloc.obj $(tmpdir)\mesh.obj $(tmpdir)\normal.obj \
	$(tmpdir)\priorityq.obj $(tmpdir)\render.obj \
	$(tmpdir)\sweep.obj $(tmpdir)\tess.obj $(tmpdir)\tessmono.obj

DLL=Tkzinc$(TKZINC_MAJOR)$(TKZINC_MINOR)$(TKZINC_PATCHLVL).dll

$(srcdir)/$(DLL): $(TKDLLOBJS)
	$(LD) $(DLLLFLAGS) $(TKLIBS) /OUT:$@ $(TKDLLOBJS)
	@"$(WISH)" <<
	package require Tk
	pkg_mkIndex -load Tk $(srcdir) $(DLL)
	exit
<<

{$(windir)}.c{$(tmpdir)}.obj:
	$(CC) $(TKCPPFLAGS) $(CFLAGS) -Fo$(tmpdir)\ $<

{$(genericdir)}.c{$(tmpdir)}.obj:
	$(CC) $(TKCPPFLAGS) $(CFLAGS) -Fo$(tmpdir)\ $<

{$(tessdir)}.c{$(tmpdir)}.obj:
	$(CC) $(TKCPPFLAGS) $(CFLAGS) -Fo$(tmpdir)\ $<

mostlyclean:
	$(RM) *.bak *~ $(tmpdir)\*.obj
clean:
	$(RM) $(tmpdir)\*.obj $(tmpdir)\*.dll $(tmpdir)\*.lib $(tmpdir)\*.exp $(tmpdir)\pkgIndex.tcl $(tmpdir)\*.pch