# Makefile for building HDF4 JNI interface for Windows. # # Author: Peter Cao # The HDF Group # Dec 30, 2008 # # Notes: # To comiple the source code, run 'nmake -f nt_makefile' # You have to add your VS studio bin path to your system path, e.g. # set path=%path";"C:\Program Files\Microsoft Visual Studio 8\VC\bin" # JAVAHOME=D:\Java\jdk1.6.0_01 HDF4INC=G:\HDF\lib\hdf4.2.5\include HDF4DLIB=G:\HDF\lib\hdf4.2.5\lib\hd425.lib HDF4MLIB=G:\HDF\lib\hdf4.2.5\lib\hm425.lib SZLIB=G:\HDF\lib_external\szip20-win-xpnet-enc\lib\szlib.lib ZLIB=G:\HDF\lib_external\zlib-121-windows\lib\zlib.lib JPEGLIB=G:\HDF\lib_external\jpeg6_2005\lib\libjpeg.lib XDRLIB=G:\HDF\lib\hdf4.2.5\lib\xdr.lib ##################################################################### # Do not change below this line unless you know what you do # ##################################################################### CC=cl.exe LINKER = link.exe CFLAGS = \ /I $(HDF4INC) /I $(JAVAHOME)"\include" /I $(JAVAHOME)"\include\win32" \ /D "_MBCS" /U "__cplusplus" \ /D "_CRT_SECURE_NO_WARNINGS" /D "_LARGEFILE_SOURCE" \ /nologo /W3 /EHsc /O2 /D "WIN32" /D "NDEBUG" /D "_WINDOWS" /FD /c /TP \ # For 64-bit machines, use /machine:x64 LINKFLAG=/nologo /dll /incremental:no /machine:i386 OBJECTS=hdfanImp.obj hdfdfanImp.obj hdfdfcompImp.obj hdfdfpalImp.obj \ hdfdfsdImp.obj hdfdfuImp.obj hdfexceptionImp.obj hdfgrImp.obj hdfheImp.obj \ hdfhxImp.obj hdfImp.obj hdfnativeImp.obj hdfr24Imp.obj hdfr8Imp.obj \ hdfsdsImp.obj hdfstructsutil.obj hdfvdataImp.obj hdfvfImp.obj hdfvgroupImp.obj \ hdfvhImp.obj hdfvqImp.obj hdfvsqImp.obj MSDEV_LIBS=wsock32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib \ advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib \ /NODEFAULTLIB:"MSVCRT" /NODEFAULTLIB:"LIBC.LIB" all: $(OBJECTS) $(LINKER) /OUT:"jhdf.dll" $(LINKFLAG) $(OBJECTS) $(HDF4DLIB) $(HDF4MLIB) \ $(SZLIB) $(ZLIB) $(JPEGLIB) $(XDRLIB) $(MSDEV_LIBS) \ hdfanImp.obj: hdfanImp.c $(CC) $(CFLAGS) /Fo$@ $? hdfdfanImp.obj: hdfdfanImp.c $(CC) $(CFLAGS) /Fo$@ $? hdfdfcompImp.obj: hdfdfcompImp.c $(CC) $(CFLAGS) /Fo$@ $? hdfdfpalImp.obj: hdfdfpalImp.c $(CC) $(CFLAGS) /Fo$@ $? hdfdfsdImp.obj: hdfdfsdImp.c $(CC) $(CFLAGS) /Fo$@ $? hdfdfuImp.obj: hdfdfuImp.c $(CC) $(CFLAGS) /Fo$@ $? hdfexceptionImp.obj: hdfexceptionImp.c $(CC) $(CFLAGS) /Fo$@ $? hdfgrImp.obj: hdfgrImp.c $(CC) $(CFLAGS) /Fo$@ $? hdfheImp.obj: hdfheImp.c $(CC) $(CFLAGS) /Fo$@ $? hdfhxImp.obj: hdfhxImp.c $(CC) $(CFLAGS) /Fo$@ $? hdfImp.obj: hdfImp.c $(CC) $(CFLAGS) /Fo$@ $? hdfnativeImp.obj: hdfnativeImp.c $(CC) $(CFLAGS) /Fo$@ $? hdfr24Imp.obj: hdfr24Imp.c $(CC) $(CFLAGS) /Fo$@ $? hdfr8Imp.obj: hdfr8Imp.c $(CC) $(CFLAGS) /Fo$@ $? hdfsdsImp.obj: hdfsdsImp.c $(CC) $(CFLAGS) /Fo$@ $? hdfstructsutil.obj: hdfstructsutil.c $(CC) $(CFLAGS) /Fo$@ $? hdfvdataImp.obj: hdfvdataImp.c $(CC) $(CFLAGS) /Fo$@ $? hdfvfImp.obj: hdfvfImp.c $(CC) $(CFLAGS) /Fo$@ $? hdfvgroupImp.obj: hdfvgroupImp.c $(CC) $(CFLAGS) /Fo$@ $? hdfvhImp.obj: hdfvhImp.c $(CC) $(CFLAGS) /Fo$@ $? hdfvqImp.obj: hdfvqImp.c $(CC) $(CFLAGS) /Fo$@ $? hdfvsqImp.obj: hdfvsqImp.c $(CC) $(CFLAGS) /Fo$@ $? clean: @del *.dll @del *.lib @del *.obj @del *.idb @del *.pdb @del *.ilk @del *.pdb @del *.exp