#
!IFNDEF ESP_ROOT
!ERROR ESP_ROOT must be set -- Please fix the environment...
!ENDIF
#
IDIR  = $(ESP_ROOT)\include
!include $(IDIR)\$(ESP_ARCH).$(MSVC)
LDIR  = $(ESP_ROOT)\lib
!IFDEF ESP_BLOC
ODIR  = $(ESP_BLOC)\obj
TDIR  = $(ESP_BLOC)\test
!ELSE
ODIR  = .
TDIR  = $(ESP_ROOT)\bin
!ENDIF

!IFNDEF VTK_ROOT

default:
clean:
cleanall:

!ELSE

VTK_LIBS=vtkIOXML.lib \
         vtkCommonExecutionModel.lib \
         vtkCommonDataModel.lib \
         vtkCommonSystem.lib \
         vtkCommonCore.lib \
         vtkCommonTransforms.lib \
         vtkCommonMath.lib \
         vtkCommonMisc.lib \
         vtkIOCore.lib \
         vtkdoubleconversion.lib \
         vtkzlib.lib \
         vtklz4.lib \
         vtklzma.lib \
         vtktoken.lib \
         vtkpugixml.lib \
         vtksys.lib \
         vtkloguru.lib

!IFDEF VTK_VERSION
VTK_LINKLIBS=$(VTK_LIBS:.lib=-$(VTK_VERSION).lib)
!ELSE
VTK_LINKLIBS=$(VTK_LIBS)
!ENDIF

$(LDIR)\vtuWriter.dll:	vtuWriter.def $(ODIR)\vtuWriter.obj $(LDIR)\aimUtil.lib
	-del $(LDIR)\vtuWriter.dll $(LDIR)\vtuWriter.lib \
		$(LDIR)\vtuWriter.exp
	 link /out:$(LDIR)\vtuWriter.dll /dll /def:vtuWriter.def \
		$(ODIR)\vtuWriter.obj /LIBPATH:$(VTK_ROOT)\lib $(VTK_LINKLIBS) \
        /LIBPATH:$(LDIR) aimUtil.lib \
		ocsm.lib egads.lib udunits2.lib \
        user32.lib advapi32.lib shell32.lib gdi32.lib
	$(MCOMP) /manifest $(LDIR)\vtuWriter.dll.manifest \
		/outputresource:$(LDIR)\vtuWriter.dll;2

$(ODIR)\vtuWriter.obj:	vtuWriter.cpp $(IDIR)\aimUtil.h $(IDIR)\capsTypes.h $(IDIR)\aimMesh.h
	cl /c $(COPTS) $(DEFINE) /std:c++17 /I$(IDIR) /I$(VTK_ROOT)\include\vtk-$(VTK_VERSION) /I$(VTK_ROOT)\include\vtk vtuWriter.cpp \
		/Fo$(ODIR)\vtuWriter.obj

clean:
	-del $(ODIR)\vtuWriter.obj

cleanall:	clean
	-del $(LDIR)\vtuWriter.dll $(LDIR)\vtuWriter.lib \
		$(LDIR)\vtuWriter.exp

!ENDIF
