#
# Comando per avere le versioni di DEBUG:
#  nmake DBG=D
#  
#
# Per compilare aga.fll scommentare tutte le dipendenze di aga.fll

#
#   Compiler setup
#
CC = cl
CFLAGS = /nologo /c /ALw    # large memory model; SS != DS; DS not loaded at fn entry
CFLAGS = $(CFLAGS) /GD      # fn entry code optimized for Windows DLLs
CFLAGS = $(CFLAGS) /G2      # 
CFLAGS = $(CFLAGS) /O       # optimizations (optional)
CFLAGS = $(CFLAGS) /W3      # set warning level as desired
CFLAGS = $(CFLAGS) /Zp2     # pack 2 bytes
! 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
ICPP=$(SROOT)/include

DLL=\
  $(SUPP)/agaexec.dll $(SUPP)/aga16.dll

FLL=\
  $(SUPP)/agalight.fll
# $(SUPP)/agalight.fll $(SUPP)/aga.fll

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

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

dummy: agalight.obj
  del *.obj

#ccustio.obj:   $(ICPP)\ccustio.c
#  $(CC) $(CFLAGS) /I$(ICPP) /Foccustio.obj /DDOS /DFOXPRO $(ICPP)/ccustio.c

#cfiles.obj:    $(ICPP)\cfiles.c
#  $(CC) $(CFLAGS) /I$(ICPP) /Focfiles.obj /DDOS /DFOXPRO $(ICPP)/cfiles.c

#codeb.obj:    $(ICPP)\codeb.c
#  $(CC) $(CFLAGS) /I$(ICPP) /Focodeb.obj /DDOS /DFOXPRO $(ICPP)/codeb.c

#csort.obj:    $(ICPP)\csort.c
#  $(CC) $(CFLAGS) /I$(ICPP) /Focsort.obj /DDOS /DFOXPRO $(ICPP)/csort.c

#getaut.obj:    $(ICPP)\getaut.c
#  $(CC) $(CFLAGS) /I$(ICPP) /Fogetaut.obj /DDOS /DFOXPRO $(ICPP)/getaut.c

#hlprot.obj:   $(ICPP)\hlprot.c
#  $(CC) $(CFLAGS) /I$(ICPP) /Fohlprot.obj /DDOS /DFOXPRO $(ICPP)/hlprot.c

#ioresult.obj: $(ICPP)\ioresult.c
#  $(CC) $(CFLAGS) /I$(ICPP) /Foioresult.obj /DDOS /DFOXPRO $(ICPP)/ioresult.c

#upstring.obj: $(ICPP)\upstring.c
#  $(CC) $(CFLAGS) /I$(ICPP) /Foupstring.obj /DDOS /DFOXPRO $(ICPP)/upstring.c

#tmpfname.obj:  $(ICPP)\tmpfname.c
#  $(CC) $(CFLAGS) /I$(ICPP) /Fotmpfname.obj /DDOS /DFOXPRO $(ICPP)/tmpfname.c

#agafll.obj: aga.c
#  $(CC) $(CFLAGS) /I$(ICPP) /Foagafll.obj /DFOXPRO aga.c

#array.obj: $(ICPP)/array.cpp
#  $(CC) $(CFLAGS) /I$(ICPP) /Foarray.obj /DFOXPRO $(ICPP)/array.cpp

#checks.obj: $(ICPP)/checks.cpp
#  $(CC) $(CFLAGS) /I$(ICPP) /Fochecks.obj /DFOXPRO $(ICPP)/checks.cpp

#files.obj: $(ICPP)/files.cpp
#  $(CC) $(CFLAGS) /I$(ICPP) /Fofiles.obj /DFOXPRO $(ICPP)/files.cpp

#date.obj: $(ICPP)/date.cpp
#  $(CC) $(CFLAGS) /I$(ICPP) /Fodate.obj /DFOXPRO $(ICPP)/date.cpp

#isam.obj: $(ICPP)/isam.cpp
#  $(CC) $(CFLAGS) /I$(ICPP) /Foisam.obj /DFOXPRO $(ICPP)/isam.cpp

#object.obj: $(ICPP)/object.cpp
#  $(CC) $(CFLAGS) /I$(ICPP) /Foobject.obj /DFOXPRO $(ICPP)/object.cpp

#prefix.obj: $(ICPP)/prefix.cpp
#  $(CC) $(CFLAGS) /I$(ICPP) /Foprefix.obj /DFOXPRO $(ICPP)/prefix.cpp

#scanner.obj: $(ICPP)/scanner.cpp
#  $(CC) $(CFLAGS) /I$(ICPP) /Foscanner.obj /DFOXPRO $(ICPP)/scanner.cpp

#stdtypes.obj: stdtypes.cpp
#  $(CC) $(CFLAGS) /I$(ICPP) /Fostdtypes.obj /DFOXPRO stdtypes.cpp

#strings.obj: $(ICPP)/strings.cpp
#  $(CC) $(CFLAGS) /I$(ICPP) /Fostrings.obj /DFOXPRO $(ICPP)/strings.cpp

#utility.obj: $(ICPP)/utility.cpp
#  $(CC) $(CFLAGS) /I$(ICPP) /Foutility.obj /DFOXPRO $(ICPP)/utility.cpp

#XOBJS=\
#  ccustio.obj cfiles.obj codeb.obj csort.obj getaut.obj hlprot.obj \
#  ioresult.obj upstring.obj tmpfname.obj \
#  array.obj checks.obj files.obj date.obj isam.obj object.obj \
#  prefix.obj scanner.obj stdtypes.obj strings.obj utility.obj
  
#$(SUPP)aga.fll: agafll.obj $(XOBJS)
#        $(LINKER) $(LFLAGS) @agafll.lrf

agalight.obj: aga.cpp
  $(CC) $(CFLAGS) /Foagalight.obj /DLIGHT aga.cpp

agaexec.obj: aga.cpp
  $(CC) $(CFLAGS) /I$(ICPP) /Foagaexec.obj /DLIGHT /DDLL aga.cpp

aga16.obj: aga16.c
  $(CC) $(CFLAGS) /Foaga16.obj aga16.c

$(SUPP)/agalight.fll: agalight.obj
        $(LINKER) $(LFLAGS) @agalight.lrf

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

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



