#
!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

#!IFDEF PYTHONINC
#OBJSPython = $(ODIR)\fun3dNamelist.obj
#DEFINE=$(DEFINE) /DHAVE_PYTHON /DCYTHON_PEP489_MULTI_PHASE_INIT=0
#PYINC=/I$(PYTHONINC)
#!ENDIF

$(LDIR)\fun3dAIM.dll:	fun3dAIM.def $(ODIR)\fun3dAIM.obj $(ODIR)\fun3dUtils.obj $(OBJSPython) \
			$(LDIR)\aimUtil.lib $(LDIR)\utils.lib
	-del $(LDIR)\fun3dAIM.dll $(LDIR)\fun3dAIM.lib $(LDIR)\fun3dAIM.exp
	 link /out:$(LDIR)\fun3dAIM.dll /dll /def:fun3dAIM.def \
		$(ODIR)\fun3dAIM.obj $(ODIR)\fun3dUtils.obj $(OBJSPython) \
		/LIBPATH:$(LDIR) utils.lib aimUtil.lib \
		ocsm.lib egads.lib udunits2.lib $(PYTHONLIB) 
	$(MCOMP) /manifest $(LDIR)\fun3dAIM.dll.manifest \
		/outputresource:$(LDIR)\fun3dAIM.dll;2


$(ODIR)\fun3dAIM.obj:	fun3dAIM.c cython/fun3dNamelist.h $(IDIR)\aimUtil.h $(IDIR)\capsTypes.h \
			..\utils\meshUtils.h
	cl /c $(COPTS) $(DEFINE) /I$(IDIR) /I..\utils /I..\meshWriter\ugridWriter $(PYINC) /Icython \
		fun3dAIM.c /Fo$(ODIR)\fun3dAIM.obj

#!IFDEF PYTHONINC
#$(OBJSPython):	cython/fun3dNamelist.h cython/fun3dNamelist.c
#	cl /c $(COPTS) $(DEFINE) /I$(IDIR) /I..\utils /I$(PYTHONINC) \
#		cython/fun3dNamelist.c /Fo$(ODIR)\fun3dNamelist.obj	
#!ENDIF

$(ODIR)\fun3dUtils.obj:	fun3dUtils.c $(IDIR)\aimUtil.h $(IDIR)\capsTypes.h ..\utils\meshUtils.h
	cl /c $(COPTS) $(DEFINE) /I$(IDIR) /I..\utils /I..\meshWriter\ugridWriter /I. fun3dUtils.c \
		/Fo$(ODIR)\fun3dUtils.obj
		
clean:
	-del $(ODIR)\fun3dAIM.obj $(ODIR)\fun3dUtils.obj
#!IFDEF PYTHONINC
#	-del $(OBJSPython)
#!ENDIF

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