archie/tcl-dp/win/makefile.80

201 lines
5.7 KiB
Plaintext
Raw Permalink Normal View History

2024-05-27 16:13:40 +02:00
# 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