#
# Makefile for tclsvc - NT Service Support for Tcl.
#
# $Header: /cvs/tcl/tclsvc/makefile,v 1.3 1999/06/27 15:12:47 matt Exp $
#
# Main settings
#
!include  <ntwin32.mak>

MODULE		= tclsvc
#
# Un-comment for debuging
#
!IF "$(NODEBUG)" == "0"
MODE		= Debug
DEBUG		= -Zi -DEBUG
DBGX		= d
!ELSE
MODE		= Release
DBGX		=
!ENDIF

TCL_VERSION	= 80
TCL_ROOT	= $(SYSTEMDRIVE)/tcl$(TCL_VERSION)
TCL_INCLUDE	= $(TCL_ROOT)/include
TCL_LIB		= $(TCL_ROOT)/lib/tcl$(TCL_VERSION)$(DBGX).lib
!IF "$(TCL_VERSION)" == "81"
XTR_FLAGS	= -DTCL_THREADS
#XTR_OBJS	= $(TCL_ROOT)/win/$(MODE)/tclThreadTest.obj
!ENDIF
#
SRCDIR		= .
TMPDIR		= .\$(MODE)$(TCL_VERSION)
INSTALLDIR	= $(TCL_ROOT)
#
CPPFLAGS	= -I. -I"$(TCL_INCLUDE)" $(XTR_FLAGS)
CFLAGS		= $(DEBUG) -WX -nologo -MD -Fd$(TMPDIR)\$(MODULE).pdb $(CPPFLAGS)

LDFLAGS		= $(CFLAGS)
LIBS		= kernel32.lib user32.lib advapi32.lib "$(TCL_LIB)"

OBJS		= \
	$(TMPDIR)\service.obj \
	$(TMPDIR)\tclsvc.obj

EXE		= $(TMPDIR)\$(MODULE)$(TCL_VERSION).exe
MSGDLL		= $(TMPDIR)\$(MODULE).dll

all:	setup exe dll

setup:	$(TMPDIR)

$(TMPDIR):
	@-mkd $(TMPDIR)

exe:	$(EXE)

dll:	$(MSGDLL)

$(EXE): $(OBJS) $(XTR_OBJS)
	$(CC) $(LDFLAGS) $(LIBS) -o $*.exe $(OBJS) $(TEST_OBJS) /link /SUBSYSTEM:CONSOLE

$(MSGDLL): $*.res
	$(link) $(lflags) -machine:$(CPU) -dll -noentry -out:$*.dll $*.res

$(TMPDIR)\$(MODULE).rc: $(MODULE).mc
	mc -r $(TMPDIR)\ -h $(TMPDIR)\ $(MODULE).mc

#.rc.res:
#	$(rc) -r -fo $*.res $*.rc

clean:
	@-rmd $(TMPDIR)

install:	all
	@-mkd "$(INSTALLDIR)\bin"
	copy $(EXE) "$(INSTALLDIR)\bin" > NUL
	copy $(MSGDLL) "$(INSTALLDIR)\bin" > NUL

{$(SRCDIR)}.c{$(TMPDIR)}.obj:
	$(CC) $(CFLAGS) -Fo$(TMPDIR)\ -c $<

