aboutsummaryrefslogtreecommitdiff
path: root/win/makefile.vc.in
blob: b5e5e8a60863b2a624e7e73cafe0ce28351e42c7 (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
131
132
133
134
135
136
# 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.9
TCLTK_LIB_VER = 84
TKZINC_MAJOR = @MAJOR_VERSION@
TKZINC_MINOR = @MINOR_VERSION@
TKZINC_PATCHLVL = @PATCHLEVEL@

CC		= cl
LD		= link
CP		= copy
RM		= del
#
# The SDK lib path should be available in the
# environment variable %LIB%
libpath32	= /LIBPATH:"$(LIB)"
#
# The SDK include path should be available in the
# environment variable %INCLUDE%
include32	= /I$(INCLUDE) /I"C:\Program Files\Microsoft Platform SDK for Windows XP SP2\include\GL"

#
# Default location for ActiveTcl
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
tmpdir = buildtcl

tcl_inc_dir = $(srcdir)\..\tcl$(TCLTK_FULL_VER)
tk_inc_dir = $(srcdir)\..\tk$(TCLTK_FULL_VER)
INCLUDES    = /I$(srcdir)/generic $(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		= glu32.lib 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
#	ATC			include code for atc specific items
#	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 /DATC /DGL /DGL_DAMAGE /DGL_PRINT_CONFIG
#DFLAGS= /DOM
#DFLAGS = /DTCL_MEM_DEBUG

# Max speed
#CDEBUG = /O2 /G6 /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	= /DEBUG /nologo /machine:IX86 $(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

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

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

$(tmpdir):
  mkdir $(tmpdir)

{$(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