201 lines
5.7 KiB
Plaintext
201 lines
5.7 KiB
Plaintext
# Makefile
|
|
#
|
|
# This makefile builds dp.dll, the dynamically linked library for Tcl-DP.
|
|
# This makefile is suitable for use with Microsoft Visual C++ 2.x, 4.x and
|
|
# 5.x.
|
|
#
|
|
# Copyright (c) 1995-1996 Cornell University.
|
|
#
|
|
# See the file "license.terms" for information on usage and redistribution
|
|
# of this file, and for a DISCLAIMER OF ALL WARRANTIES.
|
|
#
|
|
# Copyright (c) 1996 Sun Microsystems, Inc.
|
|
# SCCS: @(#) makefile.vc 1.3 96/04/24 13:28:08
|
|
#
|
|
|
|
#
|
|
# Project directories -- these may need to be customized for your site
|
|
#
|
|
# ROOT -- location of the example files.
|
|
# GENERIC_DIR -- location for platform independent files.
|
|
# WIN_DIR -- location for Windows specific files.
|
|
# OBJ_DIR -- location for compiler's object files
|
|
# QUIET -- if uncommented, there is virtually no output during compile
|
|
#
|
|
|
|
ROOT = ..
|
|
GENERIC_DIR = $(ROOT)\generic
|
|
WIN_DIR = .
|
|
OBJ_DIR = .\objs
|
|
#DEBUG_INFO = 1
|
|
#QUIET = @
|
|
|
|
#
|
|
# The following definitions can be set in the DOS window to suit
|
|
# your local configuration.
|
|
#
|
|
# TOOLS32 location of VC++ compiler installation.
|
|
# TCL_GENERIC_DIR location of the Tcl 8.0 "generic" directory.
|
|
# DEBUG_INFO if defined, will compile with debug info.
|
|
#
|
|
# E.g., if your installed VC++ in some other drives, do this in DOS
|
|
# window ( or with the help of a batch file):
|
|
#
|
|
# set TOOLS32=d:\msdev
|
|
# nmake -f makefile
|
|
#
|
|
!IFNDEF TOOLS32
|
|
TOOLS32 = c:\msdev
|
|
!ENDIF
|
|
|
|
!IFNDEF TCL_ROOT_DIR
|
|
TCL_ROOT_DIR = ..\..\tcl8.0
|
|
!ENDIF
|
|
|
|
!IFNDEF TCL_GENERIC_DIR
|
|
TCL_GENERIC_DIR = $(TCL_ROOT_DIR)\generic
|
|
!ENDIF
|
|
|
|
!IFNDEF DEBUG_INFO
|
|
NODEBUG=1
|
|
!ENDIF
|
|
|
|
#
|
|
# Visual C++ tools
|
|
#
|
|
|
|
PATH=$(TOOLS32)\bin;$(PATH)
|
|
|
|
cc32 = $(QUIET)$(TOOLS32)\bin\cl
|
|
CP = copy
|
|
RM = del
|
|
|
|
INCLUDES = -I$(TOOLS32)\include -I$(TCL_GENERIC_DIR) -I$(ROOT)
|
|
DEFINES = -nologo $(DEBUGDEFINES) -D_TCL80
|
|
|
|
!include <ntwin32.mak>
|
|
|
|
#
|
|
# Global makefile settings
|
|
#
|
|
|
|
OBJS = $(OBJ_DIR)\dpChan.obj \
|
|
$(OBJ_DIR)\dpCmds.obj \
|
|
$(OBJ_DIR)\dpInit.obj \
|
|
$(OBJ_DIR)\dpWinIPM.obj \
|
|
$(OBJ_DIR)\dpWinUdp.obj \
|
|
$(OBJ_DIR)\dpFilters.obj \
|
|
$(OBJ_DIR)\dpPlugF.obj \
|
|
$(OBJ_DIR)\dpSerial.obj \
|
|
$(OBJ_DIR)\dpSock.obj \
|
|
$(OBJ_DIR)\dpWinTcp.obj \
|
|
$(OBJ_DIR)\dpRPC.obj \
|
|
$(OBJ_DIR)\dpIdentity.obj \
|
|
$(OBJ_DIR)\dpPackOff.obj \
|
|
$(OBJ_DIR)\dpWinSock.obj \
|
|
$(OBJ_DIR)\dpWinSerial.obj \
|
|
$(OBJ_DIR)\dpWinInit.obj
|
|
|
|
DPDLL = dp40.dll
|
|
DPSH = dpsh40
|
|
|
|
|
|
# Targets
|
|
|
|
$(DPDLL): $(OBJ_DIR) $(OBJS)
|
|
@set LIB=$(TOOLS32)\lib
|
|
$(QUIET)$(link) $(linkdebug) $(dlllflags) $(TCL_ROOT_DIR)\win\tcl80.lib \
|
|
Wsock32.lib $(guilibsdll) -out:$(DPDLL) $(OBJS)
|
|
|
|
$(OBJ_DIR):
|
|
-@if not exist .\objs\nul mkdir .\objs
|
|
|
|
$(DPSH): $(OBJS) $(OBJ_DIR)\dpAppInit.obj
|
|
@set LIB=$(TOOLS32)\lib
|
|
$(QUIET)$(link) $(linkdebug) $(conlflags) \
|
|
-out:$(DPSH).exe $(conlibsdll) $(OBJ_DIR)\dpAppInit.obj \
|
|
dp40.lib $(TCL_ROOT_DIR)\win\tcl80.lib
|
|
|
|
$(OBJ_DIR)\dpAppInit.obj: $(WIN_DIR)\dpAppInit.c
|
|
$(cc32) $(cdebug) -c $(cvarsdll) $(INCLUDES) \
|
|
$(DEFINES) /Fo$(OBJ_DIR)\dpAppInit.obj $(WIN_DIR)\dpAppInit.c
|
|
|
|
$(OBJ_DIR)\dpChan.obj: $(GENERIC_DIR)\dpChan.c
|
|
$(cc32) $(cdebug) -c $(cvarsdll) $(INCLUDES) \
|
|
$(DEFINES) /Fo$(OBJ_DIR)\dpChan.obj $(GENERIC_DIR)\dpChan.c
|
|
|
|
$(OBJ_DIR)\dpCmds.obj: $(GENERIC_DIR)\dpCmds.c
|
|
$(cc32) $(cdebug) -c $(cvarsdll) $(INCLUDES) \
|
|
$(DEFINES) /Fo$(OBJ_DIR)\dpCmds.obj $(GENERIC_DIR)\dpCmds.c
|
|
|
|
$(OBJ_DIR)\dpFilters.obj: $(GENERIC_DIR)\dpFilters.c
|
|
$(cc32) $(cdebug) -c $(cvarsdll) $(INCLUDES) \
|
|
$(DEFINES) /Fo$(OBJ_DIR)\dpFilters.obj $(GENERIC_DIR)\dpFilters.c
|
|
|
|
$(OBJ_DIR)\dpPlugF.obj: $(GENERIC_DIR)\dpPlugF.c
|
|
$(cc32) $(cdebug) -c $(cvarsdll) $(INCLUDES) \
|
|
$(DEFINES) /Fo$(OBJ_DIR)\dpPlugF.obj $(GENERIC_DIR)\dpPlugF.c
|
|
|
|
$(OBJ_DIR)\dpWinIPM.obj: $(WIN_DIR)\dpWinIPM.c
|
|
$(cc32) $(cdebug) -c $(cvarsdll) $(INCLUDES) \
|
|
$(DEFINES) /Fo$(OBJ_DIR)\dpWinIPM.obj $(WIN_DIR)\dpWinIPM.c
|
|
|
|
$(OBJ_DIR)\dpInit.obj: $(GENERIC_DIR)\dpInit.c
|
|
$(cc32) $(cdebug) -c $(cvarsdll) $(INCLUDES) \
|
|
$(DEFINES) /Fo$(OBJ_DIR)\dpInit.obj $(GENERIC_DIR)\dpInit.c
|
|
|
|
$(OBJ_DIR)\dpWinTcp.obj: $(WIN_DIR)\dpWinTcp.c
|
|
$(cc32) $(cdebug) -c $(cvarsdll) $(INCLUDES) \
|
|
$(DEFINES) /Fo$(OBJ_DIR)\dpWinTcp.obj $(WIN_DIR)\dpWinTcp.c
|
|
|
|
$(OBJ_DIR)\dpRPC.obj: $(GENERIC_DIR)\dpRPC.c
|
|
$(cc32) $(cdebug) -c $(cvarsdll) $(INCLUDES) \
|
|
$(DEFINES) /Fo$(OBJ_DIR)\dpRPC.obj $(GENERIC_DIR)\dpRPC.c
|
|
|
|
$(OBJ_DIR)\dpWinUDP.obj: $(WIN_DIR)\dpWinUDP.c
|
|
$(cc32) $(cdebug) -c $(cvarsdll) $(INCLUDES) \
|
|
$(DEFINES) /Fo$(OBJ_DIR)\dpWinUDP.obj $(WIN_DIR)\dpWinUDP.c
|
|
|
|
$(OBJ_DIR)\dpIdentity.obj: $(GENERIC_DIR)\dpIdentity.c
|
|
$(cc32) $(cdebug) -c $(cvarsdll) $(INCLUDES) \
|
|
$(DEFINES) /Fo$(OBJ_DIR)\dpIdentity.obj $(GENERIC_DIR)\dpIdentity.c
|
|
|
|
$(OBJ_DIR)\dpPackOff.obj: $(GENERIC_DIR)\dpPackOff.c
|
|
$(cc32) $(cdebug) -c $(cvarsdll) $(INCLUDES) \
|
|
$(DEFINES) /Fo$(OBJ_DIR)\dpPackOff.obj $(GENERIC_DIR)\dpPackOff.c
|
|
|
|
$(OBJ_DIR)\dpWinInit.obj: $(WIN_DIR)\dpInit.c
|
|
$(cc32) $(cdebug) -c $(cvarsdll) $(INCLUDES) \
|
|
$(DEFINES) /Fo$(OBJ_DIR)\dpWinInit.obj $(WIN_DIR)\dpInit.c
|
|
|
|
$(OBJ_DIR)\dpSock.obj: $(GENERIC_DIR)\dpSock.c
|
|
$(cc32) $(cdebug) -c $(cvarsdll) $(INCLUDES) \
|
|
$(DEFINES) /Fo$(OBJ_DIR)\dpSock.obj $(GENERIC_DIR)\dpSock.c
|
|
|
|
$(OBJ_DIR)\dpWinSock.obj: $(WIN_DIR)\dpSock.c
|
|
$(cc32) $(cdebug) -c $(cvarsdll) $(INCLUDES) \
|
|
$(DEFINES) /Fo$(OBJ_DIR)\dpWinSock.obj $(WIN_DIR)\dpSock.c
|
|
|
|
$(OBJ_DIR)\dpWinSerial.obj: $(WIN_DIR)\dpSerial.c
|
|
$(cc32) $(cdebug) -c $(cvarsdll) $(INCLUDES) \
|
|
$(DEFINES) /Fo$(OBJ_DIR)\dpWinSerial.obj $(WIN_DIR)\dpSerial.c
|
|
|
|
$(OBJ_DIR)\dpSerial.obj: $(GENERIC_DIR)\dpSerial.c
|
|
$(cc32) $(cdebug) -c $(cvarsdll) $(INCLUDES) \
|
|
$(DEFINES) /Fo$(OBJ_DIR)\dpSerial.obj $(GENERIC_DIR)\dpSerial.c
|
|
|
|
clean:
|
|
-@if exist $(OBJ_DIR)\*.obj $(RM) $(OBJ_DIR)\*.obj
|
|
-@if exist $(DPDLL) $(RM) $(DPDLL)
|
|
-@if exist dp40.lib $(RM) dp40.lib
|
|
-@if exist dp40.exp $(RM) dp40.exp
|
|
-@if exist pkgIndex.tcl $(RM) pkgIndex.tcl
|
|
-@if exist $(DPSH).exe $(RM) $(DPSH).exe
|
|
|
|
tests: $(DPDLL)
|
|
SET DP_TEST_VERBOSE=1
|
|
cd ..\tests
|
|
$(TCL_ROOT_DIR)\win\tclsh80.exe all
|
|
|
|
|