# Fingerd - A Windows NT Finger Service
# 0.5  04Feb95  dt  (troyer@indirect.com)

!ifndef DEBUG
NODEBUG=1
!endif

!include <ntwin32.mak>

!ifdef DEBUG

# Debug
OUTDIR=.\WinDebug.$(CPU)
CFLAGS=-nologo $(cdebug) $(cflags) $(cvars) /D "DEBUG" \
       /FR$(INTDIR)/ /Fo$(INTDIR)/
LFLAGS=-nologo $(ldebug) $(conlflags)

!else

# No Debug
OUTDIR=.\WinRel.$(CPU)
CFLAGS=-nologo $(cflags) $(cvars) \
       /FR$(INTDIR)/ /Fo$(INTDIR)/
LFLAGS=-nologo $(conlflags)

!endif

# Common Stuff

!ifndef LOCAL
INSTDIR=$(SYSTEMROOT)\SYSTEM32
!else
INSTDIR=$(LOCAL)\bin
!endif

INTDIR=$(OUTDIR)

# Implicit Rules

.c{$(INTDIR)}.obj:
   $(cc) $(CFLAGS) $<  
.cpp{$(INTDIR)}.obj:
   $(cc) $(CFLAGS) $<  
{$(INTDIR)}.Obj{$(OUTDIR)}.Exe:
    $(link) $(LFLAGS) -out:$*.Exe $**\
      advapi32.lib $(conlibsmt) $(LIBS)

PROJ = Fingerd
OBJS = $(INTDIR)\fingerd.obj $(INTDIR)\service.obj $(INTDIR)\process.obj \
       $(INTDIR)\perf.obj $(INTDIR)\util.obj $(INTDIR)\registry.obj
LIBS = wsock32.lib netapi32.lib user32.lib

all: $(PROJ) $(OUTDIR)

$(PROJ): $(OUTDIR)\$(PROJ).exe

## Simple dependencies

$(OUTDIR)\fingerd.exe: $(OBJS)

$(INTDIR)\fingerd.obj: fingerd.c service.h config.h

$(INTDIR)\perf.obj: perf.c perf.h

$(INTDIR)\process.obj: process.c config.h

$(INTDIR)\service.obj: service.c service.h config.h

$(INTDIR)\util.obj: util.c util.h config.h

# simple_libs = $(conlibsmt) advapi32.lib shell32.lib

$(OUTDIR):
    if not exist $(OUTDIR)/nul mkdir $(OUTDIR)

install:
    copy $(OUTDIR)\$(PROJ).exe $(INSTDIR)

clean:
    del $(INTDIR)\*.obj $(INTDIR)\*.res $(OUTDIR)\*.lib 
    del $(INTDIR)\*.sb? $(INTDIR)\*.exp
    
cleaner: clean
    del $(OUTDIR)\*.exe $(OUTDIR)\*.dll

