os/persistentdata/persistentstorage/sqlite3api/TEST/TCL/tcldistribution/win/Makefile.in
author sl@SLION-WIN7.fritz.box
Fri, 15 Jun 2012 03:10:57 +0200
changeset 0 bde4ae8d615e
permissions -rw-r--r--
First public contribution.
sl@0
     1
#
sl@0
     2
# This file is a Makefile for Tcl.  If it has the name "Makefile.in"
sl@0
     3
# then it is a template for a Makefile;  to generate the actual Makefile,
sl@0
     4
# run "./configure", which is a configuration script generated by the
sl@0
     5
# "autoconf" program (constructs like "@foo@" will get replaced in the
sl@0
     6
# actual Makefile.
sl@0
     7
#
sl@0
     8
# RCS: @(#) $Id: Makefile.in,v 1.68.2.7 2007/01/30 23:21:12 hobbs Exp $
sl@0
     9
sl@0
    10
VERSION = @TCL_VERSION@
sl@0
    11
sl@0
    12
#----------------------------------------------------------------
sl@0
    13
# Things you can change to personalize the Makefile for your own
sl@0
    14
# site (you can make these changes in either Makefile.in or
sl@0
    15
# Makefile, but changes to Makefile will get lost if you re-run
sl@0
    16
# the configuration script).
sl@0
    17
#----------------------------------------------------------------
sl@0
    18
sl@0
    19
# Default top-level directories in which to install architecture-
sl@0
    20
# specific files (exec_prefix) and machine-independent files such
sl@0
    21
# as scripts (prefix).  The values specified here may be overridden
sl@0
    22
# at configure-time with the --exec-prefix and --prefix options
sl@0
    23
# to the "configure" script.
sl@0
    24
sl@0
    25
prefix			= @prefix@
sl@0
    26
exec_prefix		= @exec_prefix@
sl@0
    27
bindir			= @bindir@
sl@0
    28
libdir			= @libdir@
sl@0
    29
includedir		= @includedir@
sl@0
    30
mandir			= @mandir@
sl@0
    31
sl@0
    32
# The following definition can be set to non-null for special systems
sl@0
    33
# like AFS with replication.  It allows the pathnames used for installation
sl@0
    34
# to be different than those used for actually reference files at
sl@0
    35
# run-time.  INSTALL_ROOT is prepended to $prefix and $exec_prefix
sl@0
    36
# when installing files.
sl@0
    37
INSTALL_ROOT	=
sl@0
    38
sl@0
    39
# Directory from which applications will reference the library of Tcl
sl@0
    40
# scripts (note: you can set the TCL_LIBRARY environment variable at
sl@0
    41
# run-time to override this value):
sl@0
    42
TCL_LIBRARY	= $(prefix)/lib/tcl$(VERSION)
sl@0
    43
sl@0
    44
# Path to use at runtime to refer to LIB_INSTALL_DIR:
sl@0
    45
LIB_RUNTIME_DIR		= $(libdir)
sl@0
    46
sl@0
    47
# Directory in which to install the program tclsh:
sl@0
    48
BIN_INSTALL_DIR		= $(INSTALL_ROOT)$(bindir)
sl@0
    49
sl@0
    50
# Directory in which to install the .a or .so binary for the Tcl library:
sl@0
    51
LIB_INSTALL_DIR		= $(INSTALL_ROOT)$(libdir)
sl@0
    52
sl@0
    53
# Path name to use when installing library scripts.
sl@0
    54
SCRIPT_INSTALL_DIR	= $(INSTALL_ROOT)$(TCL_LIBRARY)
sl@0
    55
sl@0
    56
# Directory in which to install the include file tcl.h:
sl@0
    57
INCLUDE_INSTALL_DIR	= $(INSTALL_ROOT)$(includedir)
sl@0
    58
sl@0
    59
# Directory in which to (optionally) install the private tcl headers:
sl@0
    60
PRIVATE_INCLUDE_INSTALL_DIR = $(INSTALL_ROOT)$(includedir)
sl@0
    61
sl@0
    62
# Top-level directory in which to install manual entries:
sl@0
    63
MAN_INSTALL_DIR		= $(INSTALL_ROOT)$(mandir)
sl@0
    64
sl@0
    65
# Directory in which to install manual entry for tclsh:
sl@0
    66
MAN1_INSTALL_DIR = $(MAN_INSTALL_DIR)/man1
sl@0
    67
sl@0
    68
# Directory in which to install manual entries for Tcl's C library
sl@0
    69
# procedures:
sl@0
    70
MAN3_INSTALL_DIR = $(MAN_INSTALL_DIR)/man3
sl@0
    71
sl@0
    72
# Directory in which to install manual entries for the built-in
sl@0
    73
# Tcl commands:
sl@0
    74
MANN_INSTALL_DIR = $(MAN_INSTALL_DIR)/mann
sl@0
    75
sl@0
    76
# Libraries built with optimization switches have this additional extension
sl@0
    77
TCL_DBGX = @TCL_DBGX@
sl@0
    78
sl@0
    79
# warning flags
sl@0
    80
CFLAGS_WARNING = @CFLAGS_WARNING@
sl@0
    81
sl@0
    82
# The default switches for optimization or debugging
sl@0
    83
CFLAGS_DEBUG    = @CFLAGS_DEBUG@
sl@0
    84
CFLAGS_OPTIMIZE	= @CFLAGS_OPTIMIZE@
sl@0
    85
sl@0
    86
# To change the compiler switches, for example to change from optimization to
sl@0
    87
# debugging symbols, change the following line:
sl@0
    88
#CFLAGS = 		$(CFLAGS_DEBUG)
sl@0
    89
#CFLAGS = 		$(CFLAGS_OPTIMIZE)
sl@0
    90
#CFLAGS = 		$(CFLAGS_DEBUG) $(CFLAGS_OPTIMIZE)
sl@0
    91
CFLAGS = 		@CFLAGS@ @CFLAGS_DEFAULT@
sl@0
    92
sl@0
    93
# To enable compilation debugging reverse the comment characters on
sl@0
    94
# one of the following lines.
sl@0
    95
COMPILE_DEBUG_FLAGS =
sl@0
    96
#COMPILE_DEBUG_FLAGS = -DTCL_COMPILE_DEBUG
sl@0
    97
#COMPILE_DEBUG_FLAGS = -DTCL_COMPILE_DEBUG -DTCL_COMPILE_STATS
sl@0
    98
sl@0
    99
# Special compiler flags to use when building man2tcl on Windows.
sl@0
   100
MAN2TCLFLAGS		= @MAN2TCLFLAGS@
sl@0
   101
sl@0
   102
SRC_DIR			= @srcdir@
sl@0
   103
ROOT_DIR		= @srcdir@/..
sl@0
   104
GENERIC_DIR		= @srcdir@/../generic
sl@0
   105
WIN_DIR			= @srcdir@
sl@0
   106
COMPAT_DIR		= @srcdir@/../compat
sl@0
   107
sl@0
   108
# Converts a POSIX path to a Windows native path.
sl@0
   109
CYGPATH			= @CYGPATH@
sl@0
   110
sl@0
   111
GENERIC_DIR_NATIVE	= $(shell $(CYGPATH) '$(GENERIC_DIR)' | sed 's!\\!/!g')
sl@0
   112
WIN_DIR_NATIVE		= $(shell $(CYGPATH) '$(WIN_DIR)' | sed 's!\\!/!g')
sl@0
   113
ROOT_DIR_NATIVE		= $(shell $(CYGPATH) '$(ROOT_DIR)' | sed 's!\\!/!g')
sl@0
   114
sl@0
   115
LIBRARY_DIR		= $(ROOT_DIR_NATIVE)/library
sl@0
   116
sl@0
   117
DLLSUFFIX		= @DLLSUFFIX@
sl@0
   118
LIBSUFFIX		= @LIBSUFFIX@
sl@0
   119
EXESUFFIX		= @EXESUFFIX@
sl@0
   120
sl@0
   121
TCL_STUB_LIB_FILE	= @TCL_STUB_LIB_FILE@
sl@0
   122
TCL_DLL_FILE		= @TCL_DLL_FILE@
sl@0
   123
TCL_LIB_FILE		= @TCL_LIB_FILE@
sl@0
   124
DDE_DLL_FILE		= tcldde$(DDEVER)${DLLSUFFIX}
sl@0
   125
DDE_LIB_FILE		= tcldde$(DDEVER)${LIBSUFFIX}
sl@0
   126
REG_DLL_FILE		= tclreg$(REGVER)${DLLSUFFIX}
sl@0
   127
REG_LIB_FILE		= tclreg$(REGVER)${LIBSUFFIX}
sl@0
   128
PIPE_DLL_FILE		= tclpip$(VER)${DLLSUFFIX}
sl@0
   129
sl@0
   130
SHARED_LIBRARIES 	= $(TCL_DLL_FILE) $(TCL_STUB_LIB_FILE) \
sl@0
   131
			  $(DDE_DLL_FILE) $(REG_DLL_FILE) $(PIPE_DLL_FILE)
sl@0
   132
STATIC_LIBRARIES	= $(TCL_LIB_FILE) $(REG_LIB_FILE) $(DDE_LIB_FILE)
sl@0
   133
sl@0
   134
# TCL_EXE is the name of a tclsh executable that is available *BEFORE*
sl@0
   135
# running make for the first time. Certain build targets (make genstubs)
sl@0
   136
# need it to be available on the PATH. This executable should *NOT* be
sl@0
   137
# required just to do a normal build although it can be required to run
sl@0
   138
# make dist.
sl@0
   139
TCL_EXE			= tclsh
sl@0
   140
sl@0
   141
TCLSH			= tclsh$(VER)${EXESUFFIX}
sl@0
   142
TCLTEST			= tcltest${EXEEXT}
sl@0
   143
CAT32			= cat32$(EXEEXT)
sl@0
   144
MAN2TCL			= man2tcl$(EXEEXT)
sl@0
   145
sl@0
   146
@SET_MAKE@
sl@0
   147
sl@0
   148
# Setting the VPATH variable to a list of paths will cause the 
sl@0
   149
# makefile to look into these paths when resolving .c to .obj
sl@0
   150
# dependencies.
sl@0
   151
sl@0
   152
VPATH = $(GENERIC_DIR):$(WIN_DIR):$(COMPAT_DIR)
sl@0
   153
sl@0
   154
AR		= @AR@
sl@0
   155
RANLIB		= @RANLIB@
sl@0
   156
CC		= @CC@
sl@0
   157
RC		= @RC@
sl@0
   158
RES		= @RES@
sl@0
   159
AC_FLAGS	= @EXTRA_CFLAGS@ @DEFS@
sl@0
   160
CPPFLAGS	= @CPPFLAGS@
sl@0
   161
LDFLAGS_DEBUG   = @LDFLAGS_DEBUG@
sl@0
   162
LDFLAGS_OPTIMIZE = @LDFLAGS_OPTIMIZE@
sl@0
   163
LDFLAGS		= @LDFLAGS@ @LDFLAGS_DEFAULT@
sl@0
   164
LDFLAGS_CONSOLE	= @LDFLAGS_CONSOLE@
sl@0
   165
LDFLAGS_WINDOW	= @LDFLAGS_WINDOW@
sl@0
   166
EXEEXT		= @EXEEXT@
sl@0
   167
OBJEXT		= @OBJEXT@
sl@0
   168
STLIB_LD	= @STLIB_LD@
sl@0
   169
SHLIB_LD	= @SHLIB_LD@
sl@0
   170
SHLIB_LD_LIBS	= @SHLIB_LD_LIBS@ $(LIBS)
sl@0
   171
SHLIB_CFLAGS	= @SHLIB_CFLAGS@
sl@0
   172
SHLIB_SUFFIX	= @SHLIB_SUFFIX@
sl@0
   173
VER		= @TCL_MAJOR_VERSION@@TCL_MINOR_VERSION@
sl@0
   174
DOTVER		= @TCL_MAJOR_VERSION@.@TCL_MINOR_VERSION@
sl@0
   175
DDEVER		= @TCL_DDE_MAJOR_VERSION@@TCL_DDE_MINOR_VERSION@
sl@0
   176
DDEDOTVER	= @TCL_DDE_MAJOR_VERSION@.@TCL_DDE_MINOR_VERSION@
sl@0
   177
REGVER		= @TCL_REG_MAJOR_VERSION@@TCL_REG_MINOR_VERSION@
sl@0
   178
REGDOTVER	= @TCL_REG_MAJOR_VERSION@.@TCL_REG_MINOR_VERSION@
sl@0
   179
LIBS		= @LIBS@
sl@0
   180
sl@0
   181
RMDIR		= rm -rf
sl@0
   182
MKDIR		= mkdir -p
sl@0
   183
SHELL		= @SHELL@
sl@0
   184
RM		= rm -f
sl@0
   185
COPY		= cp
sl@0
   186
sl@0
   187
CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${TCL_SHLIB_CFLAGS} \
sl@0
   188
-I"${GENERIC_DIR_NATIVE}" -I"${WIN_DIR_NATIVE}" ${AC_FLAGS} \
sl@0
   189
${COMPILE_DEBUG_FLAGS}
sl@0
   190
sl@0
   191
CC_OBJNAME = @CC_OBJNAME@
sl@0
   192
CC_EXENAME = @CC_EXENAME@
sl@0
   193
sl@0
   194
STUB_CC_SWITCHES = ${CFLAGS} ${CFLAGS_WARNING} ${SHLIB_CFLAGS} \
sl@0
   195
-I"${GENERIC_DIR_NATIVE}" -I"${WIN_DIR_NATIVE}" ${AC_FLAGS} \
sl@0
   196
${COMPILE_DEBUG_FLAGS}
sl@0
   197
sl@0
   198
TCLTEST_OBJS = \
sl@0
   199
	tclTest.$(OBJEXT) \
sl@0
   200
	tclTestObj.$(OBJEXT) \
sl@0
   201
	tclTestProcBodyObj.$(OBJEXT) \
sl@0
   202
	tclThreadTest.$(OBJEXT) \
sl@0
   203
	tclWinTest.$(OBJEXT) \
sl@0
   204
	testMain.$(OBJEXT)
sl@0
   205
sl@0
   206
GENERIC_OBJS = \
sl@0
   207
	regcomp.$(OBJEXT) \
sl@0
   208
	regexec.$(OBJEXT) \
sl@0
   209
	regfree.$(OBJEXT) \
sl@0
   210
	regerror.$(OBJEXT) \
sl@0
   211
	tclAlloc.$(OBJEXT) \
sl@0
   212
	tclAsync.$(OBJEXT) \
sl@0
   213
	tclBasic.$(OBJEXT) \
sl@0
   214
	tclBinary.$(OBJEXT) \
sl@0
   215
	tclCkalloc.$(OBJEXT) \
sl@0
   216
	tclClock.$(OBJEXT) \
sl@0
   217
	tclCmdAH.$(OBJEXT) \
sl@0
   218
	tclCmdIL.$(OBJEXT) \
sl@0
   219
	tclCmdMZ.$(OBJEXT) \
sl@0
   220
	tclCompCmds.$(OBJEXT) \
sl@0
   221
	tclCompExpr.$(OBJEXT) \
sl@0
   222
	tclCompile.$(OBJEXT) \
sl@0
   223
	tclDate.$(OBJEXT) \
sl@0
   224
	tclEncoding.$(OBJEXT) \
sl@0
   225
	tclEnv.$(OBJEXT) \
sl@0
   226
	tclEvent.$(OBJEXT) \
sl@0
   227
	tclExecute.$(OBJEXT) \
sl@0
   228
	tclFCmd.$(OBJEXT) \
sl@0
   229
	tclFileName.$(OBJEXT) \
sl@0
   230
	tclGet.$(OBJEXT) \
sl@0
   231
	tclHash.$(OBJEXT) \
sl@0
   232
	tclHistory.$(OBJEXT) \
sl@0
   233
	tclIndexObj.$(OBJEXT) \
sl@0
   234
	tclInterp.$(OBJEXT) \
sl@0
   235
	tclIO.$(OBJEXT) \
sl@0
   236
	tclIOCmd.$(OBJEXT) \
sl@0
   237
	tclIOGT.$(OBJEXT) \
sl@0
   238
	tclIOSock.$(OBJEXT) \
sl@0
   239
	tclIOUtil.$(OBJEXT) \
sl@0
   240
	tclLink.$(OBJEXT) \
sl@0
   241
	tclLiteral.$(OBJEXT) \
sl@0
   242
	tclListObj.$(OBJEXT) \
sl@0
   243
	tclLoad.$(OBJEXT) \
sl@0
   244
	tclMain.$(OBJEXT) \
sl@0
   245
	tclNamesp.$(OBJEXT) \
sl@0
   246
	tclNotify.$(OBJEXT) \
sl@0
   247
	tclObj.$(OBJEXT) \
sl@0
   248
	tclPanic.$(OBJEXT) \
sl@0
   249
	tclParse.$(OBJEXT) \
sl@0
   250
	tclParseExpr.$(OBJEXT) \
sl@0
   251
	tclPipe.$(OBJEXT) \
sl@0
   252
	tclPkg.$(OBJEXT) \
sl@0
   253
	tclPosixStr.$(OBJEXT) \
sl@0
   254
	tclPreserve.$(OBJEXT) \
sl@0
   255
	tclProc.$(OBJEXT) \
sl@0
   256
	tclRegexp.$(OBJEXT) \
sl@0
   257
	tclResolve.$(OBJEXT) \
sl@0
   258
	tclResult.$(OBJEXT) \
sl@0
   259
	tclScan.$(OBJEXT) \
sl@0
   260
	tclStringObj.$(OBJEXT) \
sl@0
   261
	tclStubInit.$(OBJEXT) \
sl@0
   262
	tclStubLib.$(OBJEXT) \
sl@0
   263
	tclThread.$(OBJEXT) \
sl@0
   264
	tclThreadAlloc.$(OBJEXT) \
sl@0
   265
	tclThreadJoin.$(OBJEXT) \
sl@0
   266
	tclTimer.$(OBJEXT) \
sl@0
   267
	tclUtf.$(OBJEXT) \
sl@0
   268
	tclUtil.$(OBJEXT) \
sl@0
   269
	tclVar.$(OBJEXT)
sl@0
   270
sl@0
   271
WIN_OBJS = \
sl@0
   272
	tclWin32Dll.$(OBJEXT) \
sl@0
   273
	tclWinChan.$(OBJEXT) \
sl@0
   274
	tclWinConsole.$(OBJEXT) \
sl@0
   275
	tclWinSerial.$(OBJEXT) \
sl@0
   276
	tclWinError.$(OBJEXT) \
sl@0
   277
	tclWinFCmd.$(OBJEXT) \
sl@0
   278
	tclWinFile.$(OBJEXT) \
sl@0
   279
	tclWinInit.$(OBJEXT) \
sl@0
   280
	tclWinLoad.$(OBJEXT) \
sl@0
   281
	tclWinMtherr.$(OBJEXT) \
sl@0
   282
	tclWinNotify.$(OBJEXT) \
sl@0
   283
	tclWinPipe.$(OBJEXT) \
sl@0
   284
	tclWinSock.$(OBJEXT) \
sl@0
   285
	tclWinThrd.$(OBJEXT) \
sl@0
   286
	tclWinTime.$(OBJEXT) 
sl@0
   287
sl@0
   288
COMPAT_OBJS = \
sl@0
   289
	strftime.$(OBJEXT) strtoll.$(OBJEXT) strtoull.$(OBJEXT)
sl@0
   290
sl@0
   291
PIPE_OBJS = stub16.$(OBJEXT)
sl@0
   292
sl@0
   293
DDE_OBJS = tclWinDde.$(OBJEXT)
sl@0
   294
sl@0
   295
REG_OBJS = tclWinReg.$(OBJEXT)
sl@0
   296
sl@0
   297
STUB_OBJS = tclStubLib.$(OBJEXT)
sl@0
   298
sl@0
   299
TCLSH_OBJS = tclAppInit.$(OBJEXT)
sl@0
   300
sl@0
   301
TCL_OBJS = ${GENERIC_OBJS} ${WIN_OBJS} ${COMPAT_OBJS}
sl@0
   302
sl@0
   303
TCL_DOCS = "$(ROOT_DIR_NATIVE)"/doc/*.[13n]
sl@0
   304
sl@0
   305
all: binaries libraries doc
sl@0
   306
sl@0
   307
tcltest: $(TCLTEST)
sl@0
   308
sl@0
   309
binaries: @LIBRARIES@ $(TCLSH)
sl@0
   310
sl@0
   311
libraries:
sl@0
   312
sl@0
   313
doc:
sl@0
   314
sl@0
   315
winhelp: $(ROOT_DIR)/tools/man2help.tcl $(MAN2TCL)
sl@0
   316
	TCL_LIBRARY="$(LIBRARY_DIR)"; export TCL_LIBRARY; \
sl@0
   317
	./$(TCLSH) "$(ROOT_DIR_NATIVE)"/tools/man2help.tcl tcl "$(VER)" $(TCL_DOCS)
sl@0
   318
	hcw /c /e tcl.hpj
sl@0
   319
sl@0
   320
$(MAN2TCL): $(ROOT_DIR)/tools/man2tcl.c
sl@0
   321
	$(CC) $(CFLAGS_OPTIMIZE) $(MAN2TCLFLAGS) -o $(MAN2TCL) "$(ROOT_DIR_NATIVE)"/tools/man2tcl.c
sl@0
   322
sl@0
   323
$(TCLSH): $(TCL_LIB_FILE) $(TCL_STUB_LIB_FILE) $(TCLSH_OBJS) tclsh.$(RES)
sl@0
   324
	$(CC) $(CFLAGS) $(TCLSH_OBJS) $(TCL_LIB_FILE) $(LIBS) \
sl@0
   325
        tclsh.$(RES) $(CC_EXENAME) $(LDFLAGS_CONSOLE)
sl@0
   326
sl@0
   327
$(TCLTEST): $(TCL_LIB_FILE) $(TCLTEST_OBJS) $(CAT32) tclsh.$(RES)
sl@0
   328
	$(CC) $(CFLAGS) $(TCLTEST_OBJS) $(TCL_LIB_FILE) $(LIBS) \
sl@0
   329
        tclsh.$(RES) $(CC_EXENAME) $(LDFLAGS_CONSOLE)
sl@0
   330
sl@0
   331
cat32.$(OBJEXT): cat.c
sl@0
   332
	$(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME)
sl@0
   333
sl@0
   334
$(CAT32): cat32.$(OBJEXT)
sl@0
   335
	$(CC) $(CFLAGS) cat32.$(OBJEXT) $(CC_EXENAME) $(LIBS) $(LDFLAGS_CONSOLE)
sl@0
   336
sl@0
   337
# The following targets are configured by autoconf to generate either
sl@0
   338
# a shared library or static library
sl@0
   339
sl@0
   340
${TCL_STUB_LIB_FILE}: ${STUB_OBJS}
sl@0
   341
	@$(RM) ${TCL_STUB_LIB_FILE}
sl@0
   342
	@MAKE_LIB@ ${STUB_OBJS}
sl@0
   343
	@POST_MAKE_LIB@
sl@0
   344
sl@0
   345
${TCL_DLL_FILE}: ${TCL_OBJS} tcl.$(RES)
sl@0
   346
	@$(RM) ${TCL_DLL_FILE}
sl@0
   347
	@MAKE_DLL@ ${TCL_OBJS} tcl.$(RES) $(SHLIB_LD_LIBS)
sl@0
   348
sl@0
   349
${TCL_LIB_FILE}: ${TCL_OBJS}
sl@0
   350
	@$(RM) ${TCL_LIB_FILE}
sl@0
   351
	@MAKE_LIB@ ${TCL_OBJS}
sl@0
   352
	@POST_MAKE_LIB@
sl@0
   353
sl@0
   354
${DDE_DLL_FILE}: ${DDE_OBJS} ${TCL_STUB_LIB_FILE}
sl@0
   355
	@$(RM) ${DDE_DLL_FILE}
sl@0
   356
	@MAKE_DLL@ ${DDE_OBJS} $(TCL_STUB_LIB_FILE) $(SHLIB_LD_LIBS)
sl@0
   357
sl@0
   358
${DDE_LIB_FILE}: ${DDE_OBJS} ${TCL_LIB_FILE}
sl@0
   359
	@$(RM) ${DDE_LIB_FILE}
sl@0
   360
	@MAKE_LIB@ ${DDE_OBJS} ${TCL_LIB_FILE}
sl@0
   361
sl@0
   362
${REG_DLL_FILE}: ${REG_OBJS} ${TCL_STUB_LIB_FILE}
sl@0
   363
	@$(RM) ${REG_DLL_FILE}
sl@0
   364
	@MAKE_DLL@ ${REG_OBJS} $(TCL_STUB_LIB_FILE) $(SHLIB_LD_LIBS)
sl@0
   365
sl@0
   366
${REG_LIB_FILE}: ${REG_OBJS} ${TCL_LIB_FILE}
sl@0
   367
	@$(RM) ${REG_LIB_FILE}
sl@0
   368
	@MAKE_LIB@ ${REG_OBJS} ${TCL_LIB_FILE}
sl@0
   369
sl@0
   370
# PIPE_DLL_FILE is actually an executable, don't build it
sl@0
   371
# like a DLL.
sl@0
   372
sl@0
   373
${PIPE_DLL_FILE}: ${PIPE_OBJS}
sl@0
   374
	@$(RM) ${PIPE_DLL_FILE}
sl@0
   375
	@MAKE_EXE@ $(CFLAGS) ${PIPE_OBJS} $(LIBS) $(LDFLAGS_CONSOLE)
sl@0
   376
sl@0
   377
# Add the object extension to the implicit rules.  By default .obj is not
sl@0
   378
# automatically added.
sl@0
   379
sl@0
   380
.SUFFIXES: .${OBJEXT}
sl@0
   381
.SUFFIXES: .$(RES)
sl@0
   382
.SUFFIXES: .rc
sl@0
   383
sl@0
   384
# Special case object targets
sl@0
   385
sl@0
   386
tclWinInit.${OBJEXT}: tclWinInit.c
sl@0
   387
	$(CC) -c $(CC_SWITCHES) -DBUILD_tcl $(EXTFLAGS) @DEPARG@ $(CC_OBJNAME)
sl@0
   388
sl@0
   389
tclWinPipe.${OBJEXT}: tclWinPipe.c
sl@0
   390
	$(CC) -c $(CC_SWITCHES) -DBUILD_tcl -DTCL_PIPE_DLL=\"$(PIPE_DLL_FILE)\" \
sl@0
   391
	    $(EXTFLAGS) @DEPARG@ $(CC_OBJNAME)
sl@0
   392
sl@0
   393
testMain.${OBJEXT}: tclAppInit.c
sl@0
   394
	$(CC) -c $(CC_SWITCHES) -DTCL_TEST @DEPARG@ $(CC_OBJNAME)
sl@0
   395
sl@0
   396
tclTest.${OBJEXT}: tclTest.c
sl@0
   397
	$(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME)
sl@0
   398
sl@0
   399
tclTestObj.${OBJEXT}: tclTestObj.c
sl@0
   400
	$(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME)
sl@0
   401
sl@0
   402
tclWinTest.${OBJEXT}: tclWinTest.c
sl@0
   403
	$(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME)
sl@0
   404
sl@0
   405
tclAppInit.${OBJEXT} : tclAppInit.c
sl@0
   406
	$(CC) -c $(CC_SWITCHES) @DEPARG@ $(CC_OBJNAME)
sl@0
   407
sl@0
   408
# The following objects should be built using the stub interfaces
sl@0
   409
sl@0
   410
tclWinReg.${OBJEXT} : tclWinReg.c
sl@0
   411
	$(CC) -c $(CC_SWITCHES) -DUSE_TCL_STUBS @DEPARG@ $(CC_OBJNAME)
sl@0
   412
sl@0
   413
tclWinDde.${OBJEXT} : tclWinDde.c
sl@0
   414
	$(CC) -c $(CC_SWITCHES) -DUSE_TCL_STUBS @DEPARG@ $(CC_OBJNAME)
sl@0
   415
sl@0
   416
# The following objects are part of the stub library and should not
sl@0
   417
# be built as DLL objects but none of the symbols should be exported
sl@0
   418
sl@0
   419
tclStubLib.${OBJEXT}: tclStubLib.c
sl@0
   420
	$(CC) -c $(CC_SWITCHES) -DSTATIC_BUILD @DEPARG@ $(CC_OBJNAME)
sl@0
   421
sl@0
   422
sl@0
   423
# Implicit rule for all object files that will end up in the Tcl library
sl@0
   424
sl@0
   425
.c.${OBJEXT}:
sl@0
   426
	$(CC) -c $(CC_SWITCHES) -DBUILD_tcl @DEPARG@ $(CC_OBJNAME)
sl@0
   427
sl@0
   428
.rc.$(RES):
sl@0
   429
	$(RC) @RC_OUT@ $@ @RC_TYPE@ @RC_DEFINES@ @RC_INCLUDE@ "$(GENERIC_DIR_NATIVE)" @RC_INCLUDE@ "$(WIN_DIR_NATIVE)" @DEPARG@
sl@0
   430
sl@0
   431
install: all install-binaries install-libraries install-doc
sl@0
   432
sl@0
   433
install-binaries: binaries
sl@0
   434
	@for i in "$(LIB_INSTALL_DIR)" "$(BIN_INSTALL_DIR)" ; \
sl@0
   435
	    do \
sl@0
   436
	    if [ ! -d $$i ] ; then \
sl@0
   437
		echo "Making directory $$i"; \
sl@0
   438
		$(MKDIR) $$i; \
sl@0
   439
		chmod 755 $$i; \
sl@0
   440
		else true; \
sl@0
   441
		fi; \
sl@0
   442
	    done;
sl@0
   443
	@for i in dde1.2 reg1.1; \
sl@0
   444
	    do \
sl@0
   445
	    if [ ! -d $(LIB_INSTALL_DIR)/$$i ] ; then \
sl@0
   446
		echo "Making directory $(LIB_INSTALL_DIR)/$$i"; \
sl@0
   447
		$(MKDIR) $(LIB_INSTALL_DIR)/$$i; \
sl@0
   448
		else true; \
sl@0
   449
		fi; \
sl@0
   450
	    done;
sl@0
   451
	@for i in $(TCL_DLL_FILE) $(TCLSH) $(PIPE_DLL_FILE); \
sl@0
   452
	    do \
sl@0
   453
	    if [ -f $$i ]; then \
sl@0
   454
		echo "Installing $$i to $(BIN_INSTALL_DIR)/"; \
sl@0
   455
		$(COPY) $$i "$(BIN_INSTALL_DIR)"; \
sl@0
   456
	    fi; \
sl@0
   457
	    done
sl@0
   458
	@for i in tclConfig.sh $(TCL_LIB_FILE) $(TCL_STUB_LIB_FILE); \
sl@0
   459
	    do \
sl@0
   460
	    if [ -f $$i ]; then \
sl@0
   461
		echo "Installing $$i to $(LIB_INSTALL_DIR)/"; \
sl@0
   462
		$(COPY) $$i "$(LIB_INSTALL_DIR)"; \
sl@0
   463
	    fi; \
sl@0
   464
	    done
sl@0
   465
	@if [ -f $(DDE_DLL_FILE) ]; then \
sl@0
   466
	    echo installing $(DDE_DLL_FILE); \
sl@0
   467
	    $(COPY) $(DDE_DLL_FILE) $(LIB_INSTALL_DIR)/dde1.2; \
sl@0
   468
	    $(COPY) $(ROOT_DIR)/library/dde/pkgIndex.tcl \
sl@0
   469
		$(LIB_INSTALL_DIR)/dde1.2; \
sl@0
   470
	    fi
sl@0
   471
	@if [ -f $(DDE_LIB_FILE) ]; then \
sl@0
   472
	    echo installing $(DDE_LIB_FILE); \
sl@0
   473
	    $(COPY) $(DDE_LIB_FILE) $(LIB_INSTALL_DIR)/dde1.2; \
sl@0
   474
	    fi
sl@0
   475
	@if [ -f $(REG_DLL_FILE) ]; then \
sl@0
   476
	    echo installing $(REG_DLL_FILE); \
sl@0
   477
	    $(COPY) $(REG_DLL_FILE) $(LIB_INSTALL_DIR)/reg1.1; \
sl@0
   478
	    $(COPY) $(ROOT_DIR)/library/reg/pkgIndex.tcl \
sl@0
   479
		$(LIB_INSTALL_DIR)/reg1.1; \
sl@0
   480
	    fi
sl@0
   481
	@if [ -f $(REG_LIB_FILE) ]; then \
sl@0
   482
	    echo installing $(REG_LIB_FILE); \
sl@0
   483
	    $(COPY) $(REG_LIB_FILE) $(LIB_INSTALL_DIR)/reg1.1; \
sl@0
   484
	    fi
sl@0
   485
sl@0
   486
install-libraries: libraries
sl@0
   487
	@for i in $(prefix)/lib $(INCLUDE_INSTALL_DIR) \
sl@0
   488
		$(SCRIPT_INSTALL_DIR); \
sl@0
   489
	    do \
sl@0
   490
	    if [ ! -d $$i ] ; then \
sl@0
   491
		echo "Making directory $$i"; \
sl@0
   492
		$(MKDIR) $$i; \
sl@0
   493
		else true; \
sl@0
   494
		fi; \
sl@0
   495
	    done;
sl@0
   496
	@for i in http1.0 http2.5 opt0.4 encoding msgcat1.3 tcltest2.2; \
sl@0
   497
	    do \
sl@0
   498
	    if [ ! -d $(SCRIPT_INSTALL_DIR)/$$i ] ; then \
sl@0
   499
		echo "Making directory $(SCRIPT_INSTALL_DIR)/$$i"; \
sl@0
   500
		$(MKDIR) $(SCRIPT_INSTALL_DIR)/$$i; \
sl@0
   501
		else true; \
sl@0
   502
		fi; \
sl@0
   503
	    done;
sl@0
   504
	@echo "Installing header files";
sl@0
   505
	@for i in "$(GENERIC_DIR)/tcl.h" "$(GENERIC_DIR)/tclDecls.h" \
sl@0
   506
		"$(GENERIC_DIR)/tclPlatDecls.h" ; \
sl@0
   507
	    do \
sl@0
   508
	    $(COPY) "$$i" "$(INCLUDE_INSTALL_DIR)"; \
sl@0
   509
	    done;
sl@0
   510
	@echo "Installing library files to $(SCRIPT_INSTALL_DIR)";
sl@0
   511
	@for i in $(ROOT_DIR)/library/*.tcl $(ROOT_DIR)/library/tclIndex; \
sl@0
   512
	    do \
sl@0
   513
	    $(COPY) "$$i" "$(SCRIPT_INSTALL_DIR)"; \
sl@0
   514
	    done;
sl@0
   515
	@echo "Installing library http1.0 directory";
sl@0
   516
	@for j in $(ROOT_DIR)/library/http1.0/*.tcl; \
sl@0
   517
	    do \
sl@0
   518
	    $(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/http1.0"; \
sl@0
   519
	    done;
sl@0
   520
	@echo "Installing library http2.5 directory";
sl@0
   521
	@for j in $(ROOT_DIR)/library/http/*.tcl; \
sl@0
   522
	    do \
sl@0
   523
	    $(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/http2.5"; \
sl@0
   524
	    done;
sl@0
   525
	@echo "Installing library opt0.4 directory";
sl@0
   526
	@for j in $(ROOT_DIR)/library/opt/*.tcl; \
sl@0
   527
	    do \
sl@0
   528
	    $(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/opt0.4"; \
sl@0
   529
	    done;
sl@0
   530
	@echo "Installing library msgcat1.3 directory";
sl@0
   531
	@for j in $(ROOT_DIR)/library/msgcat/*.tcl; \
sl@0
   532
	    do \
sl@0
   533
	    $(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/msgcat1.3"; \
sl@0
   534
	    done;
sl@0
   535
	@echo "Installing library tcltest2.2 directory";
sl@0
   536
	@for j in $(ROOT_DIR)/library/tcltest/*.tcl; \
sl@0
   537
	    do \
sl@0
   538
	    $(COPY) "$$j" "$(SCRIPT_INSTALL_DIR)/tcltest2.2"; \
sl@0
   539
	    done;
sl@0
   540
	@echo "Installing encodings";
sl@0
   541
	@for i in $(ROOT_DIR)/library/encoding/*.enc ; do \
sl@0
   542
		$(COPY) "$$i" "$(SCRIPT_INSTALL_DIR)/encoding"; \
sl@0
   543
	done;
sl@0
   544
sl@0
   545
install-doc: doc
sl@0
   546
sl@0
   547
# Optional target to install private headers
sl@0
   548
install-private-headers: libraries
sl@0
   549
	@for i in $(PRIVATE_INCLUDE_INSTALL_DIR); \
sl@0
   550
	    do \
sl@0
   551
	    if [ ! -d $$i ] ; then \
sl@0
   552
		echo "Making directory $$i"; \
sl@0
   553
		$(MKDIR) $$i; \
sl@0
   554
		chmod 755 $$i; \
sl@0
   555
		else true; \
sl@0
   556
		fi; \
sl@0
   557
	    done;
sl@0
   558
	@echo "Installing private header files to $(PRIVATE_INCLUDE_INSTALL_DIR)/";
sl@0
   559
	@for i in "$(GENERIC_DIR)/tclInt.h" "$(GENERIC_DIR)/tclIntDecls.h" \
sl@0
   560
		"$(GENERIC_DIR)/tclIntPlatDecls.h" "$(GENERIC_DIR)/tclPort.h" \
sl@0
   561
		"$(WIN_DIR)/tclWinPort.h" ; \
sl@0
   562
	    do \
sl@0
   563
	    $(COPY) "$$i" "$(PRIVATE_INCLUDE_INSTALL_DIR)"; \
sl@0
   564
	    done;
sl@0
   565
sl@0
   566
# Specifying TESTFLAGS on the command line is the standard way to pass
sl@0
   567
# args to tcltest, ie:
sl@0
   568
#	% make test TESTFLAGS="-verbose bps -file fileName.test"
sl@0
   569
sl@0
   570
test: binaries $(TCLTEST)
sl@0
   571
	TCL_LIBRARY="$(LIBRARY_DIR)"; export TCL_LIBRARY; \
sl@0
   572
	./$(TCLTEST) "$(ROOT_DIR_NATIVE)/tests/all.tcl" $(TESTFLAGS) \
sl@0
   573
	| ./$(CAT32)
sl@0
   574
sl@0
   575
# Useful target to launch a built tcltest with the proper path,...
sl@0
   576
runtest: binaries $(TCLTEST)
sl@0
   577
	@TCL_LIBRARY="$(LIBRARY_DIR)"; export TCL_LIBRARY; \
sl@0
   578
	./$(TCLTEST) $(TESTFLAGS) $(SCRIPT)
sl@0
   579
sl@0
   580
# This target can be used to run tclsh from the build directory
sl@0
   581
# via `make shell SCRIPT=foo.tcl`
sl@0
   582
shell: binaries
sl@0
   583
	@TCL_LIBRARY="$(LIBRARY_DIR)"; export TCL_LIBRARY; \
sl@0
   584
	./$(TCLSH) $(SCRIPT)
sl@0
   585
sl@0
   586
# This target can be used to run tclsh inside either gdb or insight
sl@0
   587
gdb: binaries
sl@0
   588
	@echo "set env TCL_LIBRARY=$(LIBRARY_DIR)" > gdb.run
sl@0
   589
	gdb ./tclsh --command=gdb.run
sl@0
   590
	rm gdb.run
sl@0
   591
sl@0
   592
depend:
sl@0
   593
sl@0
   594
Makefile: $(SRC_DIR)/Makefile.in
sl@0
   595
	./config.status
sl@0
   596
sl@0
   597
cleanhelp:
sl@0
   598
	$(RM) *.hlp *.cnt *.GID *.rtf man2tcl.exe
sl@0
   599
sl@0
   600
clean: cleanhelp
sl@0
   601
	$(RM) *.lib *.a *.exp *.dll *.$(RES) *.${OBJEXT} *~ \#* TAGS a.out
sl@0
   602
	$(RM) $(TCLSH) $(TCLTEST) $(CAT32)
sl@0
   603
	$(RM) *.pch *.ilk *.pdb
sl@0
   604
sl@0
   605
distclean: clean
sl@0
   606
	$(RM) Makefile config.status config.cache config.log tclConfig.sh \
sl@0
   607
		tcl.hpj
sl@0
   608
sl@0
   609
#
sl@0
   610
# Regenerate the stubs files.
sl@0
   611
#
sl@0
   612
sl@0
   613
$(GENERIC_DIR)/tclStubInit.c: $(GENERIC_DIR)/tcl.decls \
sl@0
   614
		$(GENERIC_DIR)/tclInt.decls
sl@0
   615
	@echo "Warning: tclStubInit.c may be out of date."
sl@0
   616
	@echo "Developers may want to run \"make genstubs\" to regenerate."
sl@0
   617
	@echo "This warning can be safely ignored, do not report as a bug!"
sl@0
   618
sl@0
   619
genstubs:
sl@0
   620
	$(TCL_EXE) "$(ROOT_DIR_NATIVE)\tools\genStubs.tcl" \
sl@0
   621
	    "$(GENERIC_DIR_NATIVE)" \
sl@0
   622
	    "$(GENERIC_DIR_NATIVE)\tcl.decls" \
sl@0
   623
            "$(GENERIC_DIR_NATIVE)\tclInt.decls"