#
# Comand per avere le versioni di DEBUG:
#  nmake DBG=D
# 
#

#
#   Compiler setup
#
CC = cl
CFLAGS = /nologo /c /ALw    # large memory model; SS != DS; DS not loaded at fn entry
CFLAGS = $(CFLAGS) /DWINVER=0x0300
CFLAGS = $(CFLAGS) /FPc     # calls floating point emulator library
CFLAGS = $(CFLAGS) /GD      # fn entry code optimized for Windows DLLs
CFLAGS = $(CFLAGS) /Gs      # suppress stack checking (see GP p. 483)
CFLAGS = $(CFLAGS) /Oegs    # optimizations (optional)
CFLAGS = $(CFLAGS) /W2      # set warning level as desired
! if "$(DBG)" == "D"
CFLAGS = $(CFLAGS) /DDBG
CFLAGS = $(CFLAGS) /Zi
! endif

#
#   Link setup
#
LINKER = link
LFLAGS = /ONERROR:NOEXE/NOFARCALL/NOE
! if "$(DBG)" == "D"
LFLAGS = $(LFLAGS) /CO
! endif

SUPP=$(SROOT)/support/interni

DLL=\
  $(SUPP)/hardlock.dll $(SUPP)/dumb.dll $(SUPP)/dumbvb.dll

FLL=\
  $(SUPP)/hardlock.fll $(SUPP)/dumb.fll

CLEAN=dummy
  
.PRECIOUS: $(DLL) $(FLL)

main: $(DLL) $(FLL) $(CLEAN)

dummy: getaut.obj
  del *.obj

getaut.obj: getaut.c
  $(CC) $(CFLAGS) getaut.c

dumbdll.obj: dumb.c
  $(CC) $(CFLAGS) /Fodumbdll.obj /DDUMBDLL dumb.c

dumbvb.obj: dumb.c
  $(CC) $(CFLAGS) /Fodumbvb.obj /DDUMBDLLVB dumb.c

dumbfll.obj: dumb.c
  $(CC) $(CFLAGS) /Fodumbfll.obj /DDUMBFLL dumb.c

harddll.obj: hardlock.c
  $(CC) $(CFLAGS) /Foharddll.obj /DDLL hardlock.c

hardfll.obj: hardlock.c
  $(CC) $(CFLAGS) /Fohardfll.obj /DFLL hardlock.c

$(SUPP)/hardlock.dll: harddll.obj getaut.obj
        $(LINKER) $(LFLAGS) @harddll.lrf

$(SUPP)/dumb.dll: dumbdll.obj getaut.obj
        $(LINKER) $(LFLAGS) @dumbdll.lrf

$(SUPP)/dumbvb.dll: dumbvb.obj getaut.obj
        $(LINKER) $(LFLAGS) @dumbvb.lrf

$(SUPP)/hardlock.fll: hardfll.obj getaut.obj
        $(LINKER) $(LFLAGS) @hardfll.lrf

$(SUPP)/dumb.fll: dumbfll.obj getaut.obj
        $(LINKER) $(LFLAGS) @dumbfll.lrf


