1@echo off
2setlocal
3
4set args=-MD -MT -debug -lfs -legacy -64 -scope -dll -install -f2c -ifort
5set args=%args% -absoft -hdf5 -zlib -szip -mpi -parallel -basescope
6set args=%args% -cgnstools -tcl -tk -nocut -nomesh -winhtml
7set copts=
8set debug=
9set cfgflags=
10set dllopts=
11set build=
12set dolegacy=0
13set do64bit=0
14set doscope=0
15set dobasescope=0
16set target=cgns
17set make=nmake /nologo
18set f2c=
19set f77=f77
20set hdf5inc=
21set hdf5lib=
22set zliblib=
23set sziplib=
24set mpiinc=
25set mpilibs=
26set mpiexec=
27set hdf5dll=#HDF5DLL
28set parallel=
29set cgnstools=
30set tcldir=
31set tkdir=
32set tclinc=
33set tcllib=
34set tklib=
35set plotopts=
36set instdir=c:\cgnslib
37set builddir=lib
38set winhtml=
39
40set drive=%~d0
41set cgnsdir=%~dps0
42
43:next
44if "%1" == "" goto doit
45if %1 == -help goto usage
46for %%a in ( %args% ) do (
47  if %1 == %%a goto copts
48)
49goto badarg
50
51rem ----- compiler options
52
53:copts
54if %1 == -MD (
55  echo using MD : multi-threaded library with RTL
56  set copts=/MD
57  shift
58  goto next
59)
60if %1 == -MT (
61  echo using MT : multi-threaded library
62  set copts=/MT
63  shift
64  goto next
65)
66if %1 == -debug (
67  echo debug is enabled
68  set debug=/Zi
69  shift
70  goto next
71)
72
73rem ----- enable large file support
74
75if %1 == -lfs (
76  echo large file support is enabled
77  set cfgflags=/DHAVE_LSEEK64
78  shift
79  goto next
80)
81
82rem ----- build legacy code
83
84if %1 == -legacy (
85  echo building legacy code version
86  set dolegacy=1
87  shift
88  goto next
89)
90
91rem ----- build for 64 bit
92
93if %1 == -64 (
94  echo building 64-bit version
95  set do64bit=1
96  shift
97  goto next
98)
99
100rem ----- enable enum scoping
101
102if %1 == -scope (
103  echo enabling enumeration scoping
104  set doscope=1
105  shift
106  goto next
107)
108
109rem ----- enable base scope for family/zone ref-to
110
111if %1 == -basescope (
112  echo enabling base scope for family/zone ref-to
113  set dobasescope=1
114  shift
115  goto next
116)
117
118rem ----- build DLL
119
120if %1 == -dll (
121  echo building DLL instead of static library
122  set target=dll
123  set dllopts=/DBUILD_DLL
124  shift
125  goto next
126)
127
128rem ----- ifort Fortran compiler
129
130if %1 == -ifort (
131  echo using ifort Fortran compiler with UPPERCASE
132  set f77=ifort
133  set f2c=/DUPPERCASE
134  shift
135  goto next
136)
137
138rem ----- absoft Fortran compiler
139
140if %1 == -absoft (
141  echo using absoft Fortran compiler with LOWERCASE
142  set f2c=/DLOWERCASE
143  shift
144  goto next
145)
146
147rem ----- parallel IO code
148
149if %1 == -parallel (
150  echo building parallel IO interface
151  set parallel=runptests
152  shift
153  goto next
154)
155
156rem ----- cgnstools options
157
158if %1 == -cgnstools (
159  echo building cgsntools
160  set cgnstools=cgnstools
161  shift
162  goto next
163)
164
165if %1 == -nocut (
166  echo building cgnsplot without cutting plane
167  set plotopts=/DNO_CUTTING_PLANE %plotopts%
168  shift
169  goto next
170)
171
172if %1 == -nomesh (
173  echo building cgnsplot without structured mesh boundaries
174  set plotopts=/DNO_MESH_BOUNDARIES %plotopts%
175  shift
176  goto next
177)
178
179if %1 == -winhtml (
180  set winhtml=c:\PROGRA~1\HTMLHE~1
181  shift
182  goto next
183)
184
185rem ----- Fortran to C interface
186
187if not %1 == -f2c goto hdf5
188set f2c=/DLOWERCASE_
189shift
190if "%1" == "" (
191  echo using LOWERCASE_ as Fortran to C interface
192  goto doit
193)
194for %%a in ( %args% ) do (
195  if %1 == %%a (
196    echo using LOWERCASE_ as Fortran to C interface
197    goto next
198  )
199)
200if %1 == none (
201  echo Fortran interface is disabled
202  set f2c=none
203  shift
204  goto next
205)
206if %1 == LOWERCASE goto setf2c
207if %1 == LOWERCASE_ goto setf2c
208if %1 == LOWERCASE__ goto setf2c
209if %1 == UPPERCASE goto setf2c
210if %1 == UPPERCASE_ goto setf2c
211if %1 == UPPERCASE__ goto setf2c
212echo ERROR:-f2c argument %1 is invalid
213goto usage
214
215:setf2c
216echo using %1 as Fortran to C interface
217set f2c=/D%1
218shift
219goto next
220
221rem ----- HDF5 setup
222
223:hdf5
224if not %1 == -hdf5 goto zlib
225shift
226
227if '%1' == '' goto findhdf5
228for %%a in ( %args% ) do if %1 == %%a goto findhdf5
229
230set hdf5dir=%~s1
231if not exist %hdf5dir%\nul (
232  echo ERROR:HDF5 directory %1 does not exist or is not a directory
233  goto done
234)
235shift
236goto gethdf5
237
238:findhdf5
239echo checking for HDF5 ...
240for /D %%d in ( %drive%\*.* ) do (
241  if exist %%d\include\hdf5.h (
242    echo %%d
243    set hdf5dir=%%d
244    goto gethdf5
245  )
246  if exist %%d\src\hdf5.h (
247    echo %%d
248    set hdf5dir=%%d
249    goto gethdf5
250  )
251  for /D %%e in ( %%d\*.* ) do (
252    if exist %%e\include\hdf5.h (
253      echo %%e
254      set hdf5dir=%%e
255      goto gethdf5
256    )
257    if exist %%e\src\hdf5.h (
258      echo %%e
259      set hdf5dir=%%e
260      goto gethdf5
261    )
262    for /D %%f in ( %%e\*.* ) do (
263      if exist %%f\include\hdf5.h (
264        echo %%f
265        set hdf5dir=%%f
266        goto gethdf5
267      )
268      if exist %%f\src\hdf5.h (
269        echo %%f
270        set hdf5dir=%%f
271        goto gethdf5
272      )
273      for /D %%g in ( %%f\*.* ) do (
274        if exist %%g\include\hdf5.h (
275          echo %%g
276          set hdf5dir=%%g
277          goto gethdf5
278        )
279        if exist %%g\src\hdf5.h (
280          echo %%g
281          set hdf5dir=%%g
282          goto gethdf5
283        )
284      )
285    )
286  )
287)
288echo ERROR:couldn't find hdf5 directory
289goto done
290
291:gethdf5
292echo checking for hdf5 headers in %hdf5dir% ...
293if exist %hdf5dir%\include\hdf5.h (
294  echo %hdf5dir%\include
295  set hdf5inc=%hdf5dir%\include
296  echo checking for hdf5 library in %hdf5dir%\lib ...
297  for %%l in ( hdf5dll hdf5 hdf5dlld hdf5d ) do (
298    for %%d in ( dll lib ) do (
299      if exist %hdf5dir%\%%d\%%l.lib (
300        echo %hdf5dir%\%%d\%%l.lib
301        set hdf5lib=%hdf5dir%\%%d\%%l.lib
302        if %%l == hdf5dll set hdf5dll=HDF5DLL
303        if %%l == hdf5dlld set hdf5dll=HDF5DLL
304        goto next
305      )
306    )
307  )
308  echo ERROR:hdf5 library not found in %hdf5dir%
309  goto done
310)
311if exist %hdf5dir%\src\hdf5.h (
312  echo %hdf5dir%\src
313  set hdf5inc=%hdf5dir%\src
314  echo checking for hdf5 library in %hdf5dir%\proj\ ...
315  for %%j in ( Release Debug ) do (
316    for %%i in ( hdf5dll hdf5 ) do (
317      if exist %hdf5dir%\proj\%%i\%%j\%%i.lib (
318        echo %hdf5dir%\proj\%%i\%%j\%%i.lib
319        set hdf5lib=%hdf5dir%\proj\%%i\%%j\%%i.lib
320        if %%i == hdf5dll set hdf5dll=HDF5DLL
321        goto next
322      )
323      if exist %hdf5dir%\proj\%%i\%%j\%%id.lib (
324        echo %hdf5dir%\proj\%%i\%%j\%%id.lib
325        set hdf5lib=%hdf5dir%\proj\%%i\%%j\%%id.lib
326        if %%i == hdf5dll set hdf5dll=HDF5DLL
327        goto next
328      )
329    )
330  )
331  echo ERROR:hdf5 library not found in %hdf5dir%\proj
332  goto done
333)
334echo ERROR:hdf5.h not found in %hdf5dir%\include or %hdf5dir%\src
335goto done
336
337rem ----- zlib setup
338
339:zlib
340if not %1 == -zlib goto szip
341echo checking for zlib ...
342shift
343if '%1' == '' goto findzlib
344for %%a in ( %args% ) do if %1 == %%a goto findzlib
345
346if not exist %1 (
347  echo ERROR:zlib library %1 doesn't exist
348  goto done
349)
350set zliblib=%~s1
351echo %zliblib%
352shift
353goto next
354
355:findzlib
356for %%i in ( zlib zdll ) do (
357  if exist %hdf5dir%\lib\%%i.lib (
358    echo %hdf5dir%\lib\%%i.lib
359    set zliblib=%hdf5dir%\lib\%%i.lib
360    goto next
361  )
362)
363for /D %%d in ( %drive%\*.* ) do (
364  for %%i in ( zlib zdll ) do (
365    if exist %%d\%%i.lib (
366      echo %%d\%%i.lib
367      set zliblib=%%d\%%i.lib
368      goto next
369    )
370  )
371  for /D %%e in ( %%d\*.* ) do (
372    for %%i in ( zlib zdll ) do (
373      if exist %%e\%%i.lib (
374        echo %%e\%%i.lib
375        set zliblib=%%e\%%i.lib
376        goto next
377      )
378    )
379    for /D %%f in ( %%e\*.* ) do (
380      for %%i in ( zlib zdll ) do (
381        if exist %%f\%%i.lib (
382          echo %%f\%%i.lib
383          set zliblib=%%f\%%i.lib
384          goto next
385        )
386      )
387      for /D %%g in ( %%f\*.* ) do (
388        for %%i in ( zlib zdll ) do (
389          if exist %%g\%%i.lib (
390            echo %%g\%%i.lib
391            set zliblib=%%g\%%i.lib
392            goto next
393          )
394        )
395      )
396    )
397  )
398)
399echo ERROR:couldn't find zlib or zdll library
400goto done
401
402rem ----- szip setup
403
404:szip
405if not %1 == -szip goto mpi
406echo checking for szip ...
407shift
408if '%1' == '' goto findszip
409for %%a in ( %args% ) do if %1 == %%a goto findszip
410
411if not exist %1 (
412  echo ERROR:szip library %1 doesn't exist
413  goto done
414)
415set sziplib=%~s1
416echo %sziplib%
417shift
418goto next
419
420:findszip
421for %%i in ( szip szlib szlibdll ) do (
422  if exist %hdf5dir%\lib\%%i.lib (
423    echo %hdf5dir%\lib\%%i.lib
424    set sziplib=%hdf5dir%\lib\%%i.lib
425    goto next
426)
427for /D %%d in ( %drive%\*.* ) do (
428  for %%i in ( szip szlib szlibdll ) do (
429    if exist %%d\%%i.lib (
430      echo %%d\%%i.lib
431      set sziplib=%%d\%%i.lib
432      goto next
433    )
434  )
435  for /D %%e in ( %%d\*.* ) do (
436    for %%i in ( szip szlib szlibdll ) do (
437      if exist %%e\%%i.lib (
438        echo %%e\%%i.lib
439        set sziplib=%%e\%%i.lib
440        goto next
441      )
442    )
443    for /D %%f in ( %%e\*.* ) do (
444      for %%i in ( szip szlib szlibdll ) do (
445        if exist %%f\%%i.lib (
446          echo %%f\%%i.lib
447          set sziplib=%%f\%%i.lib
448          goto next
449        )
450      )
451      for /D %%g in ( %%f\*.* ) do (
452        for %%i in ( szip szlib szlibdll ) do (
453          if exist %%g\%%i.lib (
454            echo %%g\%%i.lib
455            set sziplib=%%g\%%i.lib
456            goto next
457          )
458        )
459      )
460    )
461  )
462)
463echo ERROR:couldn't find szip, szlib or szlibdll library
464goto done
465
466rem ----- MPI setup
467
468:mpi
469if not %1 == -mpi goto tcl
470shift
471
472if '%1' == '' goto findmpi
473for %%a in ( %args% ) do if %1 == %%a goto findmpi
474
475set mpidir=%~s1
476if not exist %mpidir%\nul (
477  echo ERROR:MPI directory %1 does not exist or is not a directory
478  goto done
479)
480shift
481goto getmpi
482
483:findmpi
484echo checking for MPI ...
485for /D %%d in ( c:\PROGRA~1\*.* ) do (
486  if exist %%d\include\mpi.h (
487    echo %%d
488    set mpidir=%%d
489    goto getmpi
490  )
491)
492for /D %%d in ( %drive%\*.* ) do (
493  if exist %%d\include\mpi.h (
494    echo %%d
495    set mpidir=%%d
496    goto getmpi
497  )
498  if exist %%d\src\include\mpi.h (
499    echo %%d
500    set mpidir=%%d
501    goto getmpi
502  )
503  for /D %%e in ( %%d\*.* ) do (
504    if exist %%e\include\mpi.h (
505      echo %%e
506      set mpidir=%%e
507      goto getmpi
508    )
509    if exist %%e\src\include\mpi.h (
510      echo %%e
511      set mpidir=%%e
512      goto getmpi
513    )
514    for /D %%f in ( %%e\*.* ) do (
515      if exist %%f\include\mpi.h (
516        echo %%f
517        set mpidir=%%f
518        goto getmpi
519      )
520      if exist %%f\src\include\mpi.h (
521        echo %%f
522        set mpidir=%%f
523        goto getmpi
524      )
525      for /D %%g in ( %%f\*.* ) do (
526        if exist %%g\include\mpi.h (
527          echo %%g
528          set mpidir=%%g
529          goto getmpi
530        )
531        if exist %%g\src\include\mpi.h (
532          echo %%g
533          set mpidir=%%g
534          goto getmpi
535        )
536      )
537    )
538  )
539)
540echo ERROR:couldn't find MPI directory
541goto done
542
543:getmpi
544echo checking for mpi headers ...
545if exist %mpidir%\include\mpi.h (
546  echo %mpidir%\include
547  set mpiinc=%mpidir%\include
548)
549if exist %mpidir%\src\include\mpi.h (
550  echo %mpidir%\src\include
551  set mpiinc=%mpidir%\src\include
552)
553if "%mpiinc%" == "" (
554  echo ERROR:mpi.h not found in %mpidir%\include or %mpidir%\src\include
555  goto done
556)
557rem ----- if using OpenMPI
558if exist %mpidir%\share\openmpi\nul set mpiinc=%mpiinc% /DOMPI_IMPORTS
559echo checking for mpiexec ...
560if exist %mpidir%\bin\mpiexec.exe (
561  echo %mpidir%\bin\mpiexec.exe
562  set mpiexec=%mpidir%\bin\mpiexec.exe
563)
564echo checking for MPI library ...
565for %%l in ( mpi mpich libmpi mpid mpichd libmpid impi) do (
566  if exist %mpidir%\lib\%%l.lib (
567    echo %mpidir%\lib\%%l.lib
568    set mpilibs=%mpidir%\lib\%%l.lib
569    goto next
570  )
571)
572echo ERROR:MPI library not found in %mpidir%\lib
573goto done
574
575rem ----- tcl directory
576
577:tcl
578if not %1 == -tcl goto tk
579shift
580if '%1' == '' (
581  echo ERROR:tcl directory arg to -tcl not given
582  goto usage
583)
584for %%a in ( %args% ) do (
585  if %1 == %%a (
586    echo ERROR:tcl directory arg to -tcl not given
587    goto usage
588  )
589)
590set tcldir=%~s1
591if exist %tcldir%\generic\tcl.h goto got_tcldir
592if exist %tcldir%\include\tcl.h goto got_tcldir
593echo ERROR:can't find tcl.h in %1\include or %1\generic
594goto done
595:got_tcldir
596shift
597goto next
598
599rem ----- tk directory
600
601:tk
602if not %1 == -tk goto install
603shift
604if '%1' == '' (
605  echo ERROR:tk directory arg to -tk not given
606  goto usage
607)
608for %%a in ( %args% ) do (
609  if %1 == %%a (
610    echo ERROR:tk directory arg to -tk not given
611    goto usage
612  )
613)
614set tkdir=%~s1
615if exist %tkdir%\generic\tk.h goto got_tkdir
616if exist %tkdir%\include\tk.h goto got_tkdir
617echo ERROR:can't find tk.h in %1\include or %1\generic
618goto done
619:got_tkdir
620shift
621goto next
622
623rem ----- installation directory
624
625:install
626if not %1 == -install goto badarg
627shift
628if '%1' == '' (
629  echo ERROR:installation directory not given
630  goto usage
631)
632for %%a in ( %args% ) do (
633  if %1 == %%a (
634    echo ERROR:installation directory not given
635    goto usage
636  )
637)
638set instdir=%~s1
639shift
640goto next
641
642rem ----- print usage
643
644:badarg
645echo ERROR:unknown argument %1
646:usage
647echo usage: configure [options]
648echo options:
649echo   -MT : multi-threaded using libcmt.lib (default)
650echo   -MD : multi-threaded using mscvrt.lib and mscvrt.dll
651echo   -debug : add debugging to library
652echo   -lfs : enable large file support (more than 2Gb)
653echo   -legacy : build as legacy code
654echo   -64 : build 64-bit version
655echo   -scope : enable enumeration scoping by prefixing CG_
656echo   -parallel : enable parallel IO
657echo   -cgnstools : build CGNStools
658echo   -basescope : enable base scope for family/zone ref-to
659echo   -dll : build DLL instead of static library
660echo   -ifort : use ifort Fortran compiler (implies -f2c UPPERCASE)
661echo   -absoft : use the absoft Fortran compiler (implies -f2c LOWERCASE)
662echo   -f2c [type] : set Fortran to C interface. "type" is one of LOWERCASE,
663echo        LOWERCASE_,LOWERCASE__,UPPERCASE,UPPERCASE_, or UPPERCASE__ If not
664echo        given, LOWERCASE_ is used. This option will also use Unix-like
665echo        argument passing, instead of Visual Fortran.
666echo        If you specify "type" as none, the Fortran interface is disabled.
667echo   -hdf5 [hdf5dir] : build HDF5 interface. "hdf5dir" is the HDF5 toplevel
668echo        directory. If "hdf5dir" is not given, the current drive is searched.
669echo   -zlib [zliblib] : use zlib. "zliblib" is the pathname to the library.
670echo        If "zliblib" is not given, the current drive is searched.
671echo   -szip [sziplib] : use szip. "sziplib" is the pathname to the library.
672echo        If "sziplib" is not given, the current drive is searched.
673echo   -mpi [mpidir] : build MPI interface. "mpidir" is the MPI toplevel
674echo        directory. If "mpidir" is not given, the current drive is searched.
675echo   -tcl tcldir : specify the Tcl source directory
676echo   -tk tkdir : specify the Tk source directory
677echo   -nocut : build cgnsplot without cutting plane
678echo   -nomesh : build cgnsplot without structured mesh boundaries
679echo   -install instdir : install to directory "instdir" (default %instdir%)
680echo        headers are installed to instdir\include
681echo        library is installed to instdir\lib
682echo        executables are installed to instdir\bin
683goto done
684
685:doit
686
687if "%copts%" == "" set copts=/MT
688if %copts% == /MT (
689  set mslib=libcmt.lib
690) else (
691  set mslib=msvcrt.lib
692)
693if not "%debug%" == "" (
694  set copts=%copts%d %debug%
695  set lopts=/debug
696) else (
697  set lopts=/release
698)
699if %do64bit% == 1 (
700  set copts=%copts% /Wp64
701  set windir=WIN64
702) else (
703  set windir=WIN32
704)
705
706set libs="ADF"
707
708if "%hdf5inc%" == "" (
709  set hdf5def=
710  set hdf5lib=
711  set zliblib=
712  set sziplib=
713) else (
714  set hdf5def=/I%hdf5inc%
715  set libs=%libs HDF5
716)
717
718set mpidef=
719if not "%mpiinc%" == "" set mpidef=/I%mpiinc%
720
721if "%f2c%" == "none" (
722  set f2cobjs=
723  set f2cflags=
724) else (
725  set f2cobjs=$^(F2COBJS^)
726  set f2cflags=%f2c%
727)
728
729rem ----- Tcl setup
730
731if not "%tcldir%" == "" goto tclincludes
732if not "%tkdir%" == "" (
733  if exist %tkdir%\include\tcl.h (
734    set tcldir=%tkdir%
735    goto tclincludes
736  )
737)
738echo checking for Tcl
739if exist c:\Tcl\include\tcl.h (
740  set tcldir=c:\Tcl
741  goto tclincludes
742)
743if exist c:\progra~1\Tcl\include\tcl.h (
744  set tcldir=c:c:\progra~1\Tcl
745  goto tclincludes
746)
747if exist %drive%\Tcl\include\tcl.h (
748  set tcldir=%drive%\Tcl
749  goto tclincludes
750)
751for /D %%d in ( %drive%\*.* ) do (
752  if exist %%d\generic\tcl.h (
753    set tcldir=%%d
754    goto tclincludes
755  )
756  if exist %%d\include\tcl.h (
757    set tcldir=%%d
758    goto tclincludes
759  )
760  for /D %%e in ( %%d\*.* ) do (
761    if exist %%e\generic\tcl.h (
762      set tcldir=%%e
763      goto tclincludes
764    )
765    if exist %%e\include\tcl.h (
766      set tcldir=%%e
767      goto tclincludes
768    )
769    for /D %%f in ( %%e\*.* ) do (
770      if exist %%f\generic\tcl.h (
771        set tcldir=%%f
772        goto tclincludes
773      )
774      if exist %%f\include\tcl.h (
775        set tcldir=%%f
776        goto tclincludes
777      )
778      for /D %%g in ( %%f\*.* ) do (
779        if exist %%g\generic\tcl.h (
780          set tcldir=%%g
781          goto tclincludes
782        )
783        if exist %%g\include\tcl.h (
784          set tcldir=%%g
785          goto tclincludes
786        )
787      )
788    )
789  )
790)
791echo couldn't find Tcl directory
792echo WARNING:You will not be able to build cgnstools
793goto configure
794
795:tclincludes
796echo using Tcl directory %tcldir%
797if exist %tcldir%\generic\tcl.h (
798  set tclinc=/I%tcldir%\generic
799) else (
800  set tclinc=/I%tcldir%\include
801)
802for %%i in ( 81 82 83 84 85 86 ) do (
803  if exist %tcldir%\lib\tcl%%i.lib (
804    set tcllib=%tcldir%\lib\tcl%%i.lib
805    goto gettk
806  )
807  if exist %tcldir%\win\Release\tcl%%i.lib (
808    set tcllib=%tcldir%\win\Release\tcl%%i.lib
809    goto gettk
810  )
811  if exist %tcldir%\win\Debug\tcl%%i.lib (
812    set tcllib=%tcldir%\win\Debug\tcl%%i.lib
813    goto gettk
814  )
815)
816set tcllib=%tcldir%\lib\tcl.lib
817echo couldn't find Tcl library - using %tcllib%
818
819:gettk
820if "%tkdir%" == "" (
821  if exist %tcldir%\include\tk.h set tkdir=%tcldir%
822)
823if not "%tkdir%" == "" goto tkincludes
824echo checking for Tk
825for /D %%d in ( %drive%\*.* ) do (
826  if exist %%d\generic\tk.h (
827    set tkdir=%%d
828    goto tkincludes
829  )
830  if exist %%d\include\tk.h (
831    set tkdir=%%d
832    goto tkincludes
833  )
834  for /D %%e in ( %%d\*.* ) do (
835    if exist %%e\generic\tk.h (
836      set tkdir=%%e
837      goto tkincludes
838    )
839    if exist %%e\include\tk.h (
840      set tkdir=%%e
841      goto tkincludes
842    )
843    for /D %%f in ( %%e\*.* ) do (
844      if exist %%f\generic\tk.h (
845        set tkdir=%%f
846        goto tkincludes
847      )
848      if exist %%f\include\tk.h (
849        set tkdir=%%f
850        goto tkincludes
851      )
852      for /D %%g in ( %%f\*.* ) do (
853        if exist %%g\generic\tk.h (
854          set tkdir=%%g
855          goto tkincludes
856        )
857        if exist %%g\include\tk.h (
858          set tkdir=%%g
859          goto tkincludes
860        )
861      )
862    )
863  )
864)
865echo couldn't find Tk directory
866echo WARNING:You will not be able to build cgnstools
867goto configure
868
869:tkincludes
870echo using Tk directory %tkdir%
871if not %tkdir% == %tcldir% (
872  if exist %tkdir%\generic\tk.h (
873    set tclinc=%tclinc% /I%tkdir%\generic
874  ) else (
875    set tclinc=%tclinc% /I%tkdir%\include
876  )
877)
878if exist %tkdir%\include\tkWinInt.h (
879  goto gotwinint
880)
881if exist %tkdir%\win\tkWinInt.h (
882  set tclinc=%tclinc% /I%tkdir%\win
883  goto gotwinint
884)
885if exist %tkdir%\include\win\tkWinInt.h (
886  set tclinc=%tclinc% /I%tkdir%\include\win
887  goto gotwinint
888)
889echo couldn't find tkWinInt.h in %tkdir%\include or %tkdir%\win or %tkdir%\include\win
890echo WARNING:You will not be able to build cgnstools
891goto configure
892
893:gotwinint
894if exist %tkdir%\xlib\nul set tclinc=%tclinc% /I%tkdir%\xlib
895
896for %%i in ( 81 82 83 84 85 86 ) do (
897  if exist %tkdir%\lib\tk%%i.lib (
898    set tklib=%tkdir%\lib\tk%%i.lib
899    goto configure
900  )
901  if exist %tkdir%\win\Release\tk%%i.lib (
902    set tklib=%tkdir%\win\Release\tk%%i.lib
903    goto setopts
904  )
905  if exist %tkdir%\win\Debug\tk%%i.lib (
906    set tklib=%tkdir%\win\Debug\tk%%i.lib
907    goto setopts
908  )
909)
910set tklib=%tkdir%\lib\tk.lib
911echo couldn't find Tk library - using %tklib%
912
913:configure
914echo install library in %instdir%\lib
915echo install headers in %instdir%\include
916echo install executables in %instdir%\bin
917
918if %dolegacy% == 1 (
919  set do64bit=0
920  set fbytes=
921  if not "%hdf5inc%" == "" (
922    set adfinc=install-adf install-adfh
923  ) else (
924    set adfinc=install-adf
925  )
926) else (
927  set fbytes=*4
928  if %do64bit% == 1 set fbytes=*8
929  set adfinc=
930)
931
932rem ----- create cgnstypes.h
933
934echo creating cgnstypes.h
935echo /* ------------------------------------------------------------------------- *> cgnstypes.h
936echo  * CGNS - CFD General Notation System (http://www.cgns.org)                  *>> cgnstypes.h
937echo  * CGNS/MLL - Mid-Level Library header file                                  *>> cgnstypes.h
938echo  * Please see cgnsconfig.h file for this local installation configuration    *>> cgnstypes.h
939echo  * ------------------------------------------------------------------------- */>> cgnstypes.h
940echo.>> cgnstypes.h
941echo /* ------------------------------------------------------------------------- *>> cgnstypes.h
942echo.>> cgnstypes.h
943echo   This software is provided 'as-is', without any express or implied warranty.>> cgnstypes.h
944echo   In no event will the authors be held liable for any damages arising from>> cgnstypes.h
945echo   the use of this software.>> cgnstypes.h
946echo.>> cgnstypes.h
947echo   Permission is granted to anyone to use this software for any purpose,>> cgnstypes.h
948echo   including commercial applications, and to alter it and redistribute it>> cgnstypes.h
949echo   freely, subject to the following restrictions:>> cgnstypes.h
950echo.>> cgnstypes.h
951echo   1. The origin of this software must not be misrepresented; you must not>> cgnstypes.h
952echo      claim that you wrote the original software. If you use this software>> cgnstypes.h
953echo      in a product, an acknowledgment in the product documentation would be>> cgnstypes.h
954echo      appreciated but is not required.>> cgnstypes.h
955echo.>> cgnstypes.h
956echo   2. Altered source versions must be plainly marked as such, and must not>> cgnstypes.h
957echo      be misrepresented as being the original software.>> cgnstypes.h
958echo.>> cgnstypes.h
959echo   3. This notice may not be removed or altered from any source distribution.>> cgnstypes.h
960echo.>> cgnstypes.h
961echo  * ------------------------------------------------------------------------- */>> cgnstypes.h
962echo.>> cgnstypes.h
963echo #ifndef CGNSTYPES_H>> cgnstypes.h
964echo #define CGNSTYPES_H>> cgnstypes.h
965echo.>> cgnstypes.h
966echo #define CG_BUILD_LEGACY %dolegacy% >> cgnstypes.h
967echo #define CG_BUILD_64BIT  %do64bit% >> cgnstypes.h
968echo #define CG_BUILD_SCOPE  %doscope% >> cgnstypes.h
969echo #define CG_BUILD_HDF5   %buildhdf5% >> cgnstypes.h
970echo #define CG_BUILD_BASESCOPE  %dobasescope% >> cgnstypes.h
971echo #define CG_BUILD_PARALLEL   %doparallel% >> cgnstypes.h
972echo.>> cgnstypes.h
973echo #define CG_MAX_INT32 0x7FFFFFFF>> cgnstypes.h
974echo #ifdef _WIN32>> cgnstypes.h
975echo #define CG_LONG_T    __int64>> cgnstypes.h
976echo #ifdef CG_BUILD_64BIT>> cgnstypes.h
977echo #define stat _stat32i64>> cgnstypes.h
978echo #endif>> cgnstypes.h
979echo #else>> cgnstypes.h
980echo # define CG_LONG_T long long>> cgnstypes.h
981echo #endif>> cgnstypes.h
982echo.>> cgnstypes.h
983echo #if CG_BUILD_LEGACY>> cgnstypes.h
984echo # define CG_SIZEOF_SIZE    32 >> cgnstypes.h
985echo # define CG_SIZE_DATATYPE "I4">> cgnstypes.h
986echo # define cgerr_t  int>> cgnstypes.h
987echo # define cgint_t  int>> cgnstypes.h
988echo # define cgsize_t int>> cgnstypes.h
989echo # define cgid_t   double>> cgnstypes.h
990echo #else>> cgnstypes.h
991echo # if CG_BUILD_64BIT>> cgnstypes.h
992echo #  define CG_SIZEOF_SIZE    64 >> cgnstypes.h
993echo #  define CG_SIZE_DATATYPE "I8">> cgnstypes.h
994echo    typedef CG_LONG_T cgsize_t;>> cgnstypes.h
995echo # else>> cgnstypes.h
996echo #  define CG_SIZEOF_SIZE    32 >> cgnstypes.h
997echo #  define CG_SIZE_DATATYPE "I4">> cgnstypes.h
998echo    typedef int cgsize_t;>> cgnstypes.h
999echo # endif>> cgnstypes.h
1000echo   typedef int cgerr_t;>> cgnstypes.h
1001echo   typedef int cgint_t;>> cgnstypes.h
1002echo   typedef double cgid_t;>> cgnstypes.h
1003echo #endif>> cgnstypes.h
1004echo.>> cgnstypes.h
1005echo typedef CG_LONG_T cglong_t;>> cgnstypes.h
1006echo typedef unsigned CG_LONG_T cgulong_t;>> cgnstypes.h
1007echo.>> cgnstypes.h
1008echo #endif>> cgnstypes.h
1009
1010rem ----- create cgnstypes_f.h
1011
1012echo creating cgnstypes_f.h
1013echo /* ------------------------------------------------------------------------- *> cgnstypes_f.h
1014echo  * CGNS - CFD General Notation System (http://www.cgns.org)                  *>> cgnstypes_f.h
1015echo  * CGNS/MLL - Mid-Level Library header file                                  *>> cgnstypes_f.h
1016echo  * Please see cgnsconfig.h file for this local installation configuration    *>> cgnstypes_f.h
1017echo  * ------------------------------------------------------------------------- */>> cgnstypes_f.h
1018echo.>> cgnstypes_f.h
1019echo /* ------------------------------------------------------------------------- *>> cgnstypes_f.h
1020echo.>> cgnstypes_f.h
1021echo   This software is provided 'as-is', without any express or implied warranty.>> cgnstypes_f.h
1022echo   In no event will the authors be held liable for any damages arising from>> cgnstypes_f.h
1023echo   the use of this software.>> cgnstypes_f.h
1024echo.>> cgnstypes_f.h
1025echo   Permission is granted to anyone to use this software for any purpose,>> cgnstypes_f.h
1026echo   including commercial applications, and to alter it and redistribute it>> cgnstypes_f.h
1027echo   freely, subject to the following restrictions:>> cgnstypes_f.h
1028echo.>> cgnstypes_f.h
1029echo   1. The origin of this software must not be misrepresented; you must not>> cgnstypes_f.h
1030echo      claim that you wrote the original software. If you use this software>> cgnstypes_f.h
1031echo      in a product, an acknowledgment in the product documentation would be>> cgnstypes_f.h
1032echo      appreciated but is not required.>> cgnstypes_f.h
1033echo.>> cgnstypes_f.h
1034echo   2. Altered source versions must be plainly marked as such, and must not>> cgnstypes_f.h
1035echo      be misrepresented as being the original software.>> cgnstypes_f.h
1036echo.>> cgnstypes_f.h
1037echo   3. This notice may not be removed or altered from any source distribution.>> cgnstypes_f.h
1038echo.>> cgnstypes_f.h
1039echo  * ------------------------------------------------------------------------- */>> cgnstypes_f.h
1040echo.>> cgnstypes_f.h
1041echo #ifndef CGNSTYPES_F_H>> cgnstypes_f.h
1042echo #define CGNSTYPES_F_H>> cgnstypes_f.h
1043echo.>> cgnstypes_f.h
1044echo #define CG_BUILD_64BIT %do64bit% >> cgnstypes_f.h
1045echo.>> cgnstypes_f.h
1046echo #if CG_BUILD_64BIT>> cgnstypes_f.h
1047echo # define cgsize_t integer*8 >> cgnstypes_f.h
1048echo # define CGSIZE_T integer*8 >> cgnstypes_f.h
1049echo #else>> cgnstypes_f.h
1050echo # define cgsize_t integer*4 >> cgnstypes_f.h
1051echo # define CGSIZE_T integer*4 >> cgnstypes_f.h
1052echo #endif>> cgnstypes_f.h
1053echo.>> cgnstypes_f.h
1054echo #define cglong_t integer*8 >> cgnstypes_f.h
1055echo #define CGLONG_T integer*8 >> cgnstypes_f.h
1056echo #define cgid_t   real*8 >> cgnstypes_f.h
1057echo #define CGID_T   real*8 >> cgnstypes_f.h
1058echo.>> cgnstypes_f.h
1059echo #endif>> cgnstypes_f.h
1060
1061rem ----- create cgnslib_f.h
1062
1063echo creating cgnslib_f.h
1064echo c * ------------------------------------------------------------------------- *> cgnslib_f.h
1065echo c * CGNS - CFD General Notation System (http://www.cgns.org)                  *>> cgnslib_f.h
1066echo c * CGNS/MLL - Mid-Level Library header file                                  *>> cgnslib_f.h
1067echo c * Please see cgnsconfig.h file for this local installation configuration    *>> cgnslib_f.h
1068echo c * ------------------------------------------------------------------------- *>> cgnslib_f.h
1069echo c>> cgnslib_f.h
1070echo c * ------------------------------------------------------------------------- *>> cgnslib_f.h
1071echo c>> cgnslib_f.h
1072echo c  This software is provided 'as-is', without any express or implied warranty.>> cgnslib_f.h
1073echo c  In no event will the authors be held liable for any damages arising from>> cgnslib_f.h
1074echo c  the use of this software.>> cgnslib_f.h
1075echo c>> cgnslib_f.h
1076echo c  Permission is granted to anyone to use this software for any purpose,>> cgnslib_f.h
1077echo c  including commercial applications, and to alter it and redistribute it>> cgnslib_f.h
1078echo c  freely, subject to the following restrictions:>> cgnslib_f.h
1079echo c>> cgnslib_f.h
1080echo c  1. The origin of this software must not be misrepresented; you must not>> cgnslib_f.h
1081echo c     claim that you wrote the original software. If you use this software>> cgnslib_f.h
1082echo c     in a product, an acknowledgment in the product documentation would be>> cgnslib_f.h
1083echo c     appreciated but is not required.>> cgnslib_f.h
1084echo c>> cgnslib_f.h
1085echo c  2. Altered source versions must be plainly marked as such, and must not>> cgnslib_f.h
1086echo c     be misrepresented as being the original software.>> cgnslib_f.h
1087echo c>> cgnslib_f.h
1088echo c  3. This notice may not be removed or altered from any source distribution.>> cgnslib_f.h
1089echo c>> cgnslib_f.h
1090echo c * ------------------------------------------------------------------------- *>> cgnslib_f.h
1091echo c>> cgnslib_f.h
1092echo ! Fortran version of cgnslib.h>> cgnslib_f.h
1093echo         integer CG_BUILD_64BIT>> cgnslib_f.h
1094echo         parameter (CG_BUILD_64BIT = %do64bit%)>> cgnslib_f.h
1095echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1096echo !*      modes for cgns file                                            *>> cgnslib_f.h
1097echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1098echo         integer%fbytes% CG_MODE_READ, CG_MODE_WRITE, CG_MODE_MODIFY>> cgnslib_f.h
1099echo         parameter (CG_MODE_READ   = 0)>> cgnslib_f.h
1100echo         parameter (CG_MODE_WRITE  = 1)>> cgnslib_f.h
1101echo         parameter (CG_MODE_MODIFY = 2)>> cgnslib_f.h
1102echo !* legacy code support>> cgnslib_f.h
1103echo         integer%fbytes% MODE_READ, MODE_WRITE, MODE_MODIFY>> cgnslib_f.h
1104echo         parameter (MODE_READ   = 0)>> cgnslib_f.h
1105echo         parameter (MODE_WRITE  = 1)>> cgnslib_f.h
1106echo         parameter (MODE_MODIFY = 2)>> cgnslib_f.h
1107echo.>> cgnslib_f.h
1108echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1109echo !*      file types                                                     *>> cgnslib_f.h
1110echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1111echo         integer%fbytes% CG_FILE_NONE, CG_FILE_ADF, CG_FILE_HDF5>> cgnslib_f.h
1112echo         integer%fbytes% CG_FILE_ADF2>> cgnslib_f.h
1113echo         parameter (CG_FILE_NONE = 0)>> cgnslib_f.h
1114echo         parameter (CG_FILE_ADF  = 1)>> cgnslib_f.h
1115echo         parameter (CG_FILE_HDF5 = 2)>> cgnslib_f.h
1116echo         parameter (CG_FILE_ADF2 = 3)>> cgnslib_f.h
1117echo.>> cgnslib_f.h
1118echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1119echo !*      some error code                                                *>> cgnslib_f.h
1120echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1121echo         integer%fbytes% CG_OK, CG_ERROR, CG_NODE_NOT_FOUND>> cgnslib_f.h
1122echo         integer%fbytes% CG_INCORRECT_PATH, CG_NO_INDEX_DIM>> cgnslib_f.h
1123echo         parameter (CG_OK             = 0)>> cgnslib_f.h
1124echo         parameter (CG_ERROR          = 1)>> cgnslib_f.h
1125echo         parameter (CG_NODE_NOT_FOUND = 2)>> cgnslib_f.h
1126echo         parameter (CG_INCORRECT_PATH = 3)>> cgnslib_f.h
1127echo         parameter (CG_NO_INDEX_DIM   = 4)>> cgnslib_f.h
1128echo !* legacy code support>> cgnslib_f.h
1129echo         integer%fbytes% ALL_OK, ERROR, NODE_NOT_FOUND, INCORRECT_PATH>> cgnslib_f.h
1130echo         parameter (ALL_OK         = 0)>> cgnslib_f.h
1131echo         parameter (ERROR          = 1)>> cgnslib_f.h
1132echo         parameter (NODE_NOT_FOUND = 2)>> cgnslib_f.h
1133echo         parameter (INCORRECT_PATH = 3)>> cgnslib_f.h
1134echo.>> cgnslib_f.h
1135echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1136echo !*      Parallel CGNS parameters                                       *>> cgnslib_f.h
1137echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1138echo         integer%fbytes% CGP_INDEPENDENT, CGP_COLLECTIVE>> cgnslib_f.h
1139echo         parameter (CGP_INDEPENDENT = 0)>> cgnslib_f.h
1140echo         parameter (CGP_COLLECTIVE  = 1)>> cgnslib_f.h
1141echo.>> cgnslib_f.h
1142echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1143echo !*      Dimensional Units                                              *>> cgnslib_f.h
1144echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1145echo         integer%fbytes% CG_UserDefined, CG_Null>> cgnslib_f.h
1146echo         parameter (CG_Null = 0)>> cgnslib_f.h
1147echo         parameter (CG_UserDefined = 1)>> cgnslib_f.h
1148echo !* legacy code support>> cgnslib_f.h
1149echo         integer%fbytes% Null, UserDefined>> cgnslib_f.h
1150echo         parameter (Null = 0)>> cgnslib_f.h
1151echo         parameter (UserDefined = 1)>> cgnslib_f.h
1152echo.>> cgnslib_f.h
1153echo         integer%fbytes% Kilogram, Gram, Slug, PoundMass>> cgnslib_f.h
1154echo         character*32 MassUnitsName(0:5)>> cgnslib_f.h
1155echo         parameter (Kilogram  = 2)>> cgnslib_f.h
1156echo         parameter (Gram      = 3)>> cgnslib_f.h
1157echo         parameter (Slug      = 4)>> cgnslib_f.h
1158echo         parameter (PoundMass = 5)>> cgnslib_f.h
1159echo.>> cgnslib_f.h
1160echo         integer%fbytes% Meter, Centimeter, Millimeter>> cgnslib_f.h
1161echo         integer%fbytes% Foot, Inch>> cgnslib_f.h
1162echo         character*32 LengthUnitsName(0:6)>> cgnslib_f.h
1163echo         parameter (Meter      = 2)>> cgnslib_f.h
1164echo         parameter (Centimeter = 3)>> cgnslib_f.h
1165echo         parameter (Millimeter = 4)>> cgnslib_f.h
1166echo         parameter (Foot       = 5)>> cgnslib_f.h
1167echo         parameter (Inch       = 6)>> cgnslib_f.h
1168echo.>> cgnslib_f.h
1169echo         integer%fbytes% Second>> cgnslib_f.h
1170echo         character*32 TimeUnitsName(0:2)>> cgnslib_f.h
1171echo         parameter (Second = 2)>> cgnslib_f.h
1172echo.>> cgnslib_f.h
1173echo         integer%fbytes% Kelvin, Celsius, Rankine, Fahrenheit>> cgnslib_f.h
1174echo         character*32 TemperatureUnitsName(0:5)>> cgnslib_f.h
1175echo         parameter (Kelvin     = 2)>> cgnslib_f.h
1176echo         parameter (Celsius    = 3)>> cgnslib_f.h
1177echo         parameter (Rankine    = 4)>> cgnslib_f.h
1178echo         parameter (Fahrenheit = 5)>> cgnslib_f.h
1179echo.>> cgnslib_f.h
1180echo         integer%fbytes% Degree, Radian>> cgnslib_f.h
1181echo         character*32 AngleUnitsName(0:3)>> cgnslib_f.h
1182echo         parameter (Degree = 2)>> cgnslib_f.h
1183echo         parameter (Radian = 3)>> cgnslib_f.h
1184echo.>> cgnslib_f.h
1185echo         integer%fbytes% Ampere, Abampere, Statampere, Edison, auCurrent>> cgnslib_f.h
1186echo         character*32 ElectricCurrentUnitsName(0:6)>> cgnslib_f.h
1187echo         parameter (Ampere     = 2)>> cgnslib_f.h
1188echo         parameter (Abampere   = 3)>> cgnslib_f.h
1189echo         parameter (Statampere = 4)>> cgnslib_f.h
1190echo         parameter (Edison     = 5)>> cgnslib_f.h
1191echo         parameter (auCurrent  = 6)>> cgnslib_f.h
1192echo.>> cgnslib_f.h
1193echo         integer%fbytes% Mole, Entities, StandardCubicFoot, StandardCubicMeter>> cgnslib_f.h
1194echo         character*32 SubstanceAmountUnitsName(0:5)>> cgnslib_f.h
1195echo         parameter (Mole               = 2)>> cgnslib_f.h
1196echo         parameter (Entities           = 3)>> cgnslib_f.h
1197echo         parameter (StandardCubicFoot  = 4)>> cgnslib_f.h
1198echo         parameter (StandardCubicMeter = 5)>> cgnslib_f.h
1199echo.>> cgnslib_f.h
1200echo         integer%fbytes% Candela, Candle, Carcel, Hefner, Violle>> cgnslib_f.h
1201echo         character*32 LuminousIntensityUnitsName(0:6)>> cgnslib_f.h
1202echo         parameter (Candela = 2)>> cgnslib_f.h
1203echo         parameter (Candle  = 3)>> cgnslib_f.h
1204echo         parameter (Carcel  = 4)>> cgnslib_f.h
1205echo         parameter (Hefner  = 5)>> cgnslib_f.h
1206echo         parameter (Violle  = 6)>> cgnslib_f.h
1207echo.>> cgnslib_f.h
1208echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1209echo !*      Data Class                                                     *>> cgnslib_f.h
1210echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1211echo         integer%fbytes% Dimensional, NormalizedByDimensional>> cgnslib_f.h
1212echo         integer%fbytes% NormalizedByUnknownDimensional>> cgnslib_f.h
1213echo         integer%fbytes% NondimensionalParameter, DimensionlessConstant>> cgnslib_f.h
1214echo         character*32 DataClassName(0:6)>> cgnslib_f.h
1215echo         parameter (Dimensional                    = 2)>> cgnslib_f.h
1216echo         parameter (NormalizedByDimensional        = 3)>> cgnslib_f.h
1217echo         parameter (NormalizedByUnknownDimensional = 4)>> cgnslib_f.h
1218echo         parameter (NondimensionalParameter        = 5)>> cgnslib_f.h
1219echo         parameter (DimensionlessConstant          = 6)>> cgnslib_f.h
1220echo.>> cgnslib_f.h
1221echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1222echo !*      Grid Location                                                  *>> cgnslib_f.h
1223echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1224echo.>> cgnslib_f.h
1225echo         integer%fbytes% Vertex, CellCenter, FaceCenter>> cgnslib_f.h
1226echo         integer%fbytes% IFaceCenter, JFaceCenter, KFaceCenter, EdgeCenter>> cgnslib_f.h
1227echo         character*32 GridLocationName(0:8)>> cgnslib_f.h
1228echo         parameter (Vertex      = 2)>> cgnslib_f.h
1229echo         parameter (CellCenter  = 3)>> cgnslib_f.h
1230echo         parameter (FaceCenter  = 4)>> cgnslib_f.h
1231echo         parameter (IFaceCenter = 5)>> cgnslib_f.h
1232echo         parameter (JFaceCenter = 6)>> cgnslib_f.h
1233echo         parameter (KFaceCenter = 7)>> cgnslib_f.h
1234echo         parameter (EdgeCenter  = 8)>> cgnslib_f.h
1235echo.>> cgnslib_f.h
1236echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1237echo !*      Grid Connectivity Types                                        *>> cgnslib_f.h
1238echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1239echo.>> cgnslib_f.h
1240echo         integer%fbytes% Overset, Abutting, Abutting1to1>> cgnslib_f.h
1241echo         character*32 GridConnectivityTypeName(0:4)>> cgnslib_f.h
1242echo         parameter (Overset      = 2)>> cgnslib_f.h
1243echo         parameter (Abutting     = 3)>> cgnslib_f.h
1244echo         parameter (Abutting1to1 = 4)>> cgnslib_f.h
1245echo.>> cgnslib_f.h
1246echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1247echo !*      Point Set Types                                                *>> cgnslib_f.h
1248echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1249echo.>> cgnslib_f.h
1250echo         integer%fbytes% PointList, PointListDonor>> cgnslib_f.h
1251echo         integer%fbytes% PointRange, PointRangeDonor>> cgnslib_f.h
1252echo         integer%fbytes% ElementRange, ElementList, CellListDonor>> cgnslib_f.h
1253echo         character*32 PointSetTypeName(0:8)>> cgnslib_f.h
1254echo         parameter (PointList       = 2)>> cgnslib_f.h
1255echo         parameter (PointListDonor  = 3)>> cgnslib_f.h
1256echo         parameter (PointRange      = 4)>> cgnslib_f.h
1257echo         parameter (PointRangeDonor = 5)>> cgnslib_f.h
1258echo         parameter (ElementRange    = 6)>> cgnslib_f.h
1259echo         parameter (ElementList     = 7)>> cgnslib_f.h
1260echo         parameter (CellListDonor   = 8)>> cgnslib_f.h
1261echo.>> cgnslib_f.h
1262echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1263echo !*      Governing Equations and Physical Models Types                  *>> cgnslib_f.h
1264echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1265echo.>> cgnslib_f.h
1266echo         integer%fbytes% FullPotential, Euler>> cgnslib_f.h
1267echo         integer%fbytes% NSLaminar, NSTurbulent>> cgnslib_f.h
1268echo         integer%fbytes% NSLaminarIncompressible>> cgnslib_f.h
1269echo         integer%fbytes% NSTurbulentIncompressible>> cgnslib_f.h
1270echo         character*32 GoverningEquationsTypeName(0:7)>> cgnslib_f.h
1271echo         parameter (FullPotential             = 2)>> cgnslib_f.h
1272echo         parameter (Euler                     = 3)>> cgnslib_f.h
1273echo         parameter (NSLaminar                 = 4)>> cgnslib_f.h
1274echo         parameter (NSTurbulent               = 5)>> cgnslib_f.h
1275echo         parameter (NSLaminarIncompressible   = 6)>> cgnslib_f.h
1276echo         parameter (NSTurbulentIncompressible = 7)>> cgnslib_f.h
1277echo.>> cgnslib_f.h
1278echo !** Any model type will accept both ModelTypeNull and ModelTypeUserDefined.>> cgnslib_f.h
1279echo !** The following models will accept these values as valid...>> cgnslib_f.h
1280echo !**>> cgnslib_f.h
1281echo !** GasModel_t: Ideal, VanderWaals, CaloricallyPerfect, ThermallyPerfect,>> cgnslib_f.h
1282echo !**    ConstantDensity, RedlichKwong>> cgnslib_f.h
1283echo !**>> cgnslib_f.h
1284echo !** ViscosityModel_t: Constant, PowerLaw, SutherlandLaw>> cgnslib_f.h
1285echo !**>> cgnslib_f.h
1286echo !** ThermalConductivityModel_t: PowerLaw, SutherlandLaw, ConstantPrandtl>> cgnslib_f.h
1287echo !**>> cgnslib_f.h
1288echo !** TurbulenceModel_t: Algebraic_BaldwinLomax, Algebraic_CebeciSmith,>> cgnslib_f.h
1289echo !**    HalfEquation_JohnsonKing, OneEquation_BaldwinBarth,>> cgnslib_f.h
1290echo !**    OneEquation_SpalartAllmaras, TwoEquation_JonesLaunder,>> cgnslib_f.h
1291echo !**    TwoEquation_MenterSST,TwoEquation_Wilcox>> cgnslib_f.h
1292echo !**>> cgnslib_f.h
1293echo !** TurbulenceClosure_t: EddyViscosity, ReynoldsStress,>> cgnslib_f.h
1294echo !**    ReynoldsStressAlgebraic>> cgnslib_f.h
1295echo !**>> cgnslib_f.h
1296echo !** ThermalRelaxationModel_t: Frozen, ThermalEquilib, ThermalNonequilib>> cgnslib_f.h
1297echo !**>> cgnslib_f.h
1298echo !** ChemicalKineticsModel_t: Frozen, ChemicalEquilibCurveFit,>> cgnslib_f.h
1299echo !**    ChemicalEquilibMinimization, ChemicalNonequilib>> cgnslib_f.h
1300echo !**>> cgnslib_f.h
1301echo !** EMElectricFieldModel_t: Voltage, Interpolated, Constant, Frozen>> cgnslib_f.h
1302echo !**>> cgnslib_f.h
1303echo !** EMMagneticFieldModel_t: Interpolated, Constant, Frozen>> cgnslib_f.h
1304echo !**>> cgnslib_f.h
1305echo !** EMConductivityModel_t: Constant, Frozen, Equilibrium_LinRessler,>> cgnslib_f.h
1306echo !**                        Chemistry_LinRessler>> cgnslib_f.h
1307echo.>> cgnslib_f.h
1308echo         integer%fbytes% Ideal, VanderWaals>> cgnslib_f.h
1309echo         integer%fbytes% Constant>> cgnslib_f.h
1310echo         integer%fbytes% PowerLaw, SutherlandLaw>> cgnslib_f.h
1311echo         integer%fbytes% ConstantPrandtl>> cgnslib_f.h
1312echo         integer%fbytes% EddyViscosity, ReynoldsStress>> cgnslib_f.h
1313echo         integer%fbytes% ReynoldsStressAlgebraic>> cgnslib_f.h
1314echo         integer%fbytes% Algebraic_BaldwinLomax, Algebraic_CebeciSmith>> cgnslib_f.h
1315echo         integer%fbytes% HalfEquation_JohnsonKing, OneEquation_BaldwinBarth>> cgnslib_f.h
1316echo         integer%fbytes% OneEquation_SpalartAllmaras>> cgnslib_f.h
1317echo         integer%fbytes% TwoEquation_JonesLaunder>> cgnslib_f.h
1318echo         integer%fbytes% TwoEquation_MenterSST, TwoEquation_Wilcox>> cgnslib_f.h
1319echo         integer%fbytes% CaloricallyPerfect, ThermallyPerfect>> cgnslib_f.h
1320echo         integer%fbytes% ConstantDensity, RedlichKwong>> cgnslib_f.h
1321echo         integer%fbytes% Frozen, ThermalEquilib, ThermalNonequilib>> cgnslib_f.h
1322echo         integer%fbytes% ChemicalEquilibCurveFit>> cgnslib_f.h
1323echo         integer%fbytes% ChemicalEquilibMinimization>> cgnslib_f.h
1324echo         integer%fbytes% ChemicalNonequilib>> cgnslib_f.h
1325echo         integer%fbytes% EMElectricField, EMMagneticField, Voltage>> cgnslib_f.h
1326echo         integer%fbytes% Interpolated>> cgnslib_f.h
1327echo         integer%fbytes% EMConductivity, Equilibrium_LinRessler>> cgnslib_f.h
1328echo         integer%fbytes% Chemistry_LinRessler>> cgnslib_f.h
1329echo         character*32 ModelTypeName(0:35)>> cgnslib_f.h
1330echo.>> cgnslib_f.h
1331echo         parameter (Ideal                       = 2)>> cgnslib_f.h
1332echo         parameter (VanderWaals                 = 3)>> cgnslib_f.h
1333echo         parameter (Constant                    = 4)>> cgnslib_f.h
1334echo         parameter (PowerLaw                    = 5)>> cgnslib_f.h
1335echo         parameter (SutherlandLaw               = 6)>> cgnslib_f.h
1336echo         parameter (ConstantPrandtl             = 7)>> cgnslib_f.h
1337echo         parameter (EddyViscosity               = 8)>> cgnslib_f.h
1338echo         parameter (ReynoldsStress              = 9)>> cgnslib_f.h
1339echo         parameter (ReynoldsStressAlgebraic     = 10)>> cgnslib_f.h
1340echo         parameter (Algebraic_BaldwinLomax      = 11)>> cgnslib_f.h
1341echo         parameter (Algebraic_CebeciSmith       = 12)>> cgnslib_f.h
1342echo         parameter (HalfEquation_JohnsonKing    = 13)>> cgnslib_f.h
1343echo         parameter (OneEquation_BaldwinBarth    = 14)>> cgnslib_f.h
1344echo         parameter (OneEquation_SpalartAllmaras = 15)>> cgnslib_f.h
1345echo         parameter (TwoEquation_JonesLaunder    = 16)>> cgnslib_f.h
1346echo         parameter (TwoEquation_MenterSST       = 17)>> cgnslib_f.h
1347echo         parameter (TwoEquation_Wilcox          = 18)>> cgnslib_f.h
1348echo         parameter (CaloricallyPerfect          = 19)>> cgnslib_f.h
1349echo         parameter (ThermallyPerfect            = 20)>> cgnslib_f.h
1350echo         parameter (ConstantDensity             = 21)>> cgnslib_f.h
1351echo         parameter (RedlichKwong                = 22)>> cgnslib_f.h
1352echo         parameter (Frozen                      = 23)>> cgnslib_f.h
1353echo         parameter (ThermalEquilib              = 24)>> cgnslib_f.h
1354echo         parameter (ThermalNonequilib           = 25)>> cgnslib_f.h
1355echo         parameter (ChemicalEquilibCurveFit     = 26)>> cgnslib_f.h
1356echo         parameter (ChemicalEquilibMinimization = 27)>> cgnslib_f.h
1357echo         parameter (ChemicalNonequilib          = 28)>> cgnslib_f.h
1358echo         parameter (EMElectricField             = 29)>> cgnslib_f.h
1359echo         parameter (EMMagneticField             = 30)>> cgnslib_f.h
1360echo         parameter (EMConductivity              = 31)>> cgnslib_f.h
1361echo         parameter (Voltage                     = 32)>> cgnslib_f.h
1362echo         parameter (Interpolated                = 33)>> cgnslib_f.h
1363echo         parameter (Equilibrium_LinRessler      = 34)>> cgnslib_f.h
1364echo         parameter (Chemistry_LinRessler        = 35)>> cgnslib_f.h
1365echo.>> cgnslib_f.h
1366echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1367echo !*      Boundary Condition Types                                       *>> cgnslib_f.h
1368echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1369echo.>> cgnslib_f.h
1370echo         integer%fbytes% BCAxisymmetricWedge, BCDegenerateLine>> cgnslib_f.h
1371echo         integer%fbytes% BCDegeneratePoint>> cgnslib_f.h
1372echo         integer%fbytes% BCDirichlet, BCExtrapolate, BCFarfield, BCGeneral>> cgnslib_f.h
1373echo         integer%fbytes% BCInflow, BCInflowSubsonic,  BCInflowSupersonic>> cgnslib_f.h
1374echo         integer%fbytes% BCNeumann>> cgnslib_f.h
1375echo         integer%fbytes% BCOutflow, BCOutflowSubsonic, BCOutflowSupersonic>> cgnslib_f.h
1376echo         integer%fbytes% BCSymmetryPlane, BCSymmetryPolar>> cgnslib_f.h
1377echo         integer%fbytes% BCTunnelInflow, BCTunnelOutflow>> cgnslib_f.h
1378echo         integer%fbytes% BCWall, BCWallInviscid, BCWallViscous>> cgnslib_f.h
1379echo         integer%fbytes% BCWallViscousHeatFlux, BCWallViscousIsothermal>> cgnslib_f.h
1380echo         integer%fbytes% FamilySpecified>> cgnslib_f.h
1381echo         character*32 BCTypeName(0:25)>> cgnslib_f.h
1382echo         parameter (BCAxisymmetricWedge     = 2)>> cgnslib_f.h
1383echo         parameter (BCDegenerateLine        = 3)>> cgnslib_f.h
1384echo         parameter (BCDegeneratePoint       = 4)>> cgnslib_f.h
1385echo         parameter (BCDirichlet             = 5)>> cgnslib_f.h
1386echo         parameter (BCExtrapolate           = 6)>> cgnslib_f.h
1387echo         parameter (BCFarfield              = 7)>> cgnslib_f.h
1388echo         parameter (BCGeneral               = 8)>> cgnslib_f.h
1389echo         parameter (BCInflow                = 9)>> cgnslib_f.h
1390echo         parameter (BCInflowSubsonic        = 10)>> cgnslib_f.h
1391echo         parameter (BCInflowSupersonic      = 11)>> cgnslib_f.h
1392echo         parameter (BCNeumann               = 12)>> cgnslib_f.h
1393echo         parameter (BCOutflow               = 13)>> cgnslib_f.h
1394echo         parameter (BCOutflowSubsonic       = 14)>> cgnslib_f.h
1395echo         parameter (BCOutflowSupersonic     = 15)>> cgnslib_f.h
1396echo         parameter (BCSymmetryPlane         = 16)>> cgnslib_f.h
1397echo         parameter (BCSymmetryPolar         = 17)>> cgnslib_f.h
1398echo         parameter (BCTunnelInflow          = 18)>> cgnslib_f.h
1399echo         parameter (BCTunnelOutflow         = 19)>> cgnslib_f.h
1400echo         parameter (BCWall                  = 20)>> cgnslib_f.h
1401echo         parameter (BCWallInviscid          = 21)>> cgnslib_f.h
1402echo         parameter (BCWallViscous           = 22)>> cgnslib_f.h
1403echo         parameter (BCWallViscousHeatFlux   = 23)>> cgnslib_f.h
1404echo         parameter (BCWallViscousIsothermal = 24)>> cgnslib_f.h
1405echo         parameter (FamilySpecified         = 25)>> cgnslib_f.h
1406echo.>> cgnslib_f.h
1407echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1408echo !*      Data types                                                     *>> cgnslib_f.h
1409echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1410echo.>> cgnslib_f.h
1411echo         integer%fbytes% Integer, RealSingle, RealDouble, Character>> cgnslib_f.h
1412echo         integer%fbytes% LongInteger>> cgnslib_f.h
1413echo         character*32 DataTypeName(0:6)>> cgnslib_f.h
1414echo         parameter (Integer     = 2)>> cgnslib_f.h
1415echo         parameter (RealSingle  = 3)>> cgnslib_f.h
1416echo         parameter (RealDouble  = 4)>> cgnslib_f.h
1417echo         parameter (Character   = 5)>> cgnslib_f.h
1418echo         parameter (LongInteger = 6)>> cgnslib_f.h
1419echo.>> cgnslib_f.h
1420echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1421echo !*      BCData_t types                                                 *>> cgnslib_f.h
1422echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1423echo.>> cgnslib_f.h
1424echo         integer%fbytes% Dirichlet, Neumann>> cgnslib_f.h
1425echo         character*32 BCDataTypeName(0:3)>> cgnslib_f.h
1426echo         parameter (Dirichlet = 2)>> cgnslib_f.h
1427echo         parameter (Neumann   = 3)>> cgnslib_f.h
1428echo.>> cgnslib_f.h
1429echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1430echo !*      Element types                                                  *>> cgnslib_f.h
1431echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1432echo.>> cgnslib_f.h
1433echo         integer%fbytes% NODE, BAR_2, BAR_3, TRI_3, TRI_6>> cgnslib_f.h
1434echo         integer%fbytes% QUAD_4, QUAD_8, QUAD_9>> cgnslib_f.h
1435echo         integer%fbytes% TETRA_4, TETRA_10, PYRA_5, PYRA_14>> cgnslib_f.h
1436echo         integer%fbytes% PENTA_6, PENTA_15, PENTA_18>> cgnslib_f.h
1437echo         integer%fbytes% HEXA_8, HEXA_20, HEXA_27>> cgnslib_f.h
1438echo         integer%fbytes% MIXED, PYRA_13, NGON_n, NFACE_n>> cgnslib_f.h
1439echo         integer%fbytes% BAR_4, TRI_9, TRI_10>> cgnslib_f.h
1440echo         integer%fbytes% QUAD_12, QUAD_16>> cgnslib_f.h
1441echo         integer%fbytes% TETRA_16, TETRA_20>> cgnslib_f.h
1442echo         integer%fbytes% PYRA_21, PYRA_29, PYRA_30>> cgnslib_f.h
1443echo         integer%fbytes% PENTA_24, PENTA_38, PENTA_40>> cgnslib_f.h
1444echo         integer%fbytes% HEXA_32, HEXA_56, HEXA_64>> cgnslib_f.h
1445echo         integer%fbytes% BAR_5, TRI_12, TRI_15>> cgnslib_f.h
1446echo         integer%fbytes% QUAD_P4_16, QUAD_25>> cgnslib_f.h
1447echo         integer%fbytes% TETRA_22, TETRA_34, TETRA_35>> cgnslib_f.h
1448echo         integer%fbytes% PYRA_P4_29, PYRA_50, PYRA_55>> cgnslib_f.h
1449echo         integer%fbytes% PENTA_33, PENTA_66, PENTA_75>> cgnslib_f.h
1450echo         integer%fbytes% HEXA_44, HEXA_98, HEXA_125>> cgnslib_f.h
1451echo         character*32 ElementTypeName(0:56)>> cgnslib_f.h
1452echo         parameter (NODE       =  2)>> cgnslib_f.h
1453echo         parameter (BAR_2      =  3)>> cgnslib_f.h
1454echo         parameter (BAR_3      =  4)>> cgnslib_f.h
1455echo         parameter (TRI_3      =  5)>> cgnslib_f.h
1456echo         parameter (TRI_6      =  6)>> cgnslib_f.h
1457echo         parameter (QUAD_4     =  7)>> cgnslib_f.h
1458echo         parameter (QUAD_8     =  8)>> cgnslib_f.h
1459echo         parameter (QUAD_9     =  9)>> cgnslib_f.h
1460echo         parameter (TETRA_4    = 10)>> cgnslib_f.h
1461echo         parameter (TETRA_10   = 11)>> cgnslib_f.h
1462echo         parameter (PYRA_5     = 12)>> cgnslib_f.h
1463echo         parameter (PYRA_14    = 13)>> cgnslib_f.h
1464echo         parameter (PENTA_6    = 14)>> cgnslib_f.h
1465echo         parameter (PENTA_15   = 15)>> cgnslib_f.h
1466echo         parameter (PENTA_18   = 16)>> cgnslib_f.h
1467echo         parameter (HEXA_8     = 17)>> cgnslib_f.h
1468echo         parameter (HEXA_20    = 18)>> cgnslib_f.h
1469echo         parameter (HEXA_27    = 19)>> cgnslib_f.h
1470echo         parameter (MIXED      = 20)>> cgnslib_f.h
1471echo         parameter (PYRA_13    = 21)>> cgnslib_f.h
1472echo         parameter (NGON_n     = 22)>> cgnslib_f.h
1473echo         parameter (NFACE_n    = 23)>> cgnslib_f.h
1474echo         parameter (BAR_4      = 24)>> cgnslib_f.h
1475echo         parameter (TRI_9      = 25)>> cgnslib_f.h
1476echo         parameter (TRI_10     = 26)>> cgnslib_f.h
1477echo         parameter (QUAD_12    = 27)>> cgnslib_f.h
1478echo         parameter (QUAD_16    = 28)>> cgnslib_f.h
1479echo         parameter (TETRA_16   = 29)>> cgnslib_f.h
1480echo         parameter (TETRA_20   = 30)>> cgnslib_f.h
1481echo         parameter (PYRA_21    = 31)>> cgnslib_f.h
1482echo         parameter (PYRA_29    = 32)>> cgnslib_f.h
1483echo         parameter (PYRA_30    = 33)>> cgnslib_f.h
1484echo         parameter (PENTA_24   = 34)>> cgnslib_f.h
1485echo         parameter (PENTA_38   = 35)>> cgnslib_f.h
1486echo         parameter (PENTA_40   = 36)>> cgnslib_f.h
1487echo         parameter (HEXA_32    = 37)>> cgnslib_f.h
1488echo         parameter (HEXA_56    = 38)>> cgnslib_f.h
1489echo         parameter (HEXA_64    = 39)>> cgnslib_f.h
1490echo         parameter (BAR_5      = 40)>> cgnslib_f.h
1491echo         parameter (TRI_12     = 41)>> cgnslib_f.h
1492echo         parameter (TRI_15     = 42)>> cgnslib_f.h
1493echo         parameter (QUAD_P4_16 = 43)>> cgnslib_f.h
1494echo         parameter (QUAD_25    = 44)>> cgnslib_f.h
1495echo         parameter (TETRA_22   = 45)>> cgnslib_f.h
1496echo         parameter (TETRA_34   = 46)>> cgnslib_f.h
1497echo         parameter (TETRA_35   = 47)>> cgnslib_f.h
1498echo         parameter (PYRA_P4_29 = 48)>> cgnslib_f.h
1499echo         parameter (PYRA_50    = 49)>> cgnslib_f.h
1500echo         parameter (PYRA_55    = 50)>> cgnslib_f.h
1501echo         parameter (PENTA_33   = 51)>> cgnslib_f.h
1502echo         parameter (PENTA_66   = 52)>> cgnslib_f.h
1503echo         parameter (PENTA_75   = 53)>> cgnslib_f.h
1504echo         parameter (HEXA_44    = 54)>> cgnslib_f.h
1505echo         parameter (HEXA_98    = 55)>> cgnslib_f.h
1506echo         parameter (HEXA_125   = 56)>> cgnslib_f.h
1507echo.>> cgnslib_f.h
1508echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1509echo !*      Zone types                                                     *>> cgnslib_f.h
1510echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1511echo.>> cgnslib_f.h
1512echo         integer%fbytes% Structured, Unstructured>> cgnslib_f.h
1513echo         character*32 ZoneTypeName(0:3)>> cgnslib_f.h
1514echo         parameter (Structured   =  2)>> cgnslib_f.h
1515echo         parameter (Unstructured =  3)>> cgnslib_f.h
1516echo.>> cgnslib_f.h
1517echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1518echo !*      Rigid Grid Motion types                                        *>> cgnslib_f.h
1519echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1520echo.>> cgnslib_f.h
1521echo         integer%fbytes% ConstantRate, VariableRate>> cgnslib_f.h
1522echo         character*32 RigidGridMotionTypeName(0:3)>> cgnslib_f.h
1523echo         parameter (ConstantRate = 2)>> cgnslib_f.h
1524echo         parameter (VariableRate = 3)>> cgnslib_f.h
1525echo.>> cgnslib_f.h
1526echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1527echo !*      Arbitrary Grid Motion types                                    *>> cgnslib_f.h
1528echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1529echo.>> cgnslib_f.h
1530echo         integer%fbytes% NonDeformingGrid, DeformingGrid>> cgnslib_f.h
1531echo         character*32 ArbitraryGridMotionTypeName(0:3)>> cgnslib_f.h
1532echo         parameter (NonDeformingGrid = 2)>> cgnslib_f.h
1533echo         parameter (DeformingGrid = 3)>> cgnslib_f.h
1534echo.>> cgnslib_f.h
1535echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1536echo !*      Simulation type                                                *>> cgnslib_f.h
1537echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1538echo.>> cgnslib_f.h
1539echo         integer%fbytes% TimeAccurate, NonTimeAccurate>> cgnslib_f.h
1540echo         character*32 SimulationTypeName(0:3)>> cgnslib_f.h
1541echo         parameter (TimeAccurate = 2)>> cgnslib_f.h
1542echo         parameter (NonTimeAccurate = 3)>> cgnslib_f.h
1543echo.>> cgnslib_f.h
1544echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1545echo !*      BC Property types                                              *>> cgnslib_f.h
1546echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1547echo.>> cgnslib_f.h
1548echo         integer%fbytes% Generic>> cgnslib_f.h
1549echo         character*32 WallFunctionTypeName(0:2)>> cgnslib_f.h
1550echo         parameter (Generic = 2)>> cgnslib_f.h
1551echo.>> cgnslib_f.h
1552echo         integer%fbytes% BleedArea, CaptureArea>> cgnslib_f.h
1553echo         character*32 AreaTypeName(0:3)>> cgnslib_f.h
1554echo         parameter (BleedArea = 2)>> cgnslib_f.h
1555echo         parameter (CaptureArea = 3)>> cgnslib_f.h
1556echo.>> cgnslib_f.h
1557echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1558echo !*      Grid Connectivity Property types                               *>> cgnslib_f.h
1559echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1560echo.>> cgnslib_f.h
1561echo         integer%fbytes% AverageAll, AverageCircumferential, AverageRadial>> cgnslib_f.h
1562echo         integer%fbytes% AverageI, AverageJ, AverageK>> cgnslib_f.h
1563echo         character*32 AverageInterfaceTypeName(0:7)>> cgnslib_f.h
1564echo         parameter (AverageAll = 2)>> cgnslib_f.h
1565echo         parameter (AverageCircumferential = 3)>> cgnslib_f.h
1566echo         parameter (AverageRadial = 4)>> cgnslib_f.h
1567echo         parameter (AverageI = 5)>> cgnslib_f.h
1568echo         parameter (AverageJ = 6)>> cgnslib_f.h
1569echo         parameter (AverageK = 7)>> cgnslib_f.h
1570echo.>> cgnslib_f.h
1571echo ! For portability to Linux Absoft, all data statements were moved after the>> cgnslib_f.h
1572echo ! variables and parametres declarations>> cgnslib_f.h
1573echo.>> cgnslib_f.h
1574echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1575echo !*      Dimensional Units                                              *>> cgnslib_f.h
1576echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1577echo         data MassUnitsName /'Null','UserDefined','Kilogram','Gram',     ^&>> cgnslib_f.h
1578echo      ^&                      'Slug','PoundMass'/>> cgnslib_f.h
1579echo         data LengthUnitsName / 'Null', 'UserDefined',                   ^&>> cgnslib_f.h
1580echo      ^&         'Meter','Centimeter','Millimeter','Foot','Inch'/>> cgnslib_f.h
1581echo.>> cgnslib_f.h
1582echo         data TimeUnitsName /'Null','UserDefined','Second'/>> cgnslib_f.h
1583echo.>> cgnslib_f.h
1584echo         data TemperatureUnitsName /'Null','UserDefined',                ^&>> cgnslib_f.h
1585echo      ^&         'Kelvin','Celsius','Rankine','Fahrenheit'/>> cgnslib_f.h
1586echo.>> cgnslib_f.h
1587echo         data AngleUnitsName /'Null','UserDefined','Degree','Radian'/>> cgnslib_f.h
1588echo.>> cgnslib_f.h
1589echo         data ElectricCurrentUnitsName /'Null', 'UserDefined', 'Ampere', ^&>> cgnslib_f.h
1590echo      ^&         'Abampere', 'Statampere', 'Edison', 'a.u.'/>> cgnslib_f.h
1591echo.>> cgnslib_f.h
1592echo         data SubstanceAmountUnitsName /'Null', 'UserDefined', 'Mole',   ^&>> cgnslib_f.h
1593echo      ^&         'Entities', 'StandardCubicFoot', 'StandardCubicMeter'/>> cgnslib_f.h
1594echo.>> cgnslib_f.h
1595echo         data LuminousIntensityUnitsName /'Null', 'UserDefined',         ^&>> cgnslib_f.h
1596echo      ^&         'Candela', 'Candle', 'Carcel', 'Hefner', 'Violle'/>> cgnslib_f.h
1597echo.>> cgnslib_f.h
1598echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1599echo !*      Data Class                                                     *>> cgnslib_f.h
1600echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1601echo         data DataClassName / 'Null','UserDefined',                      ^&>> cgnslib_f.h
1602echo      ^&          'Dimensional','NormalizedByDimensional',                ^&>> cgnslib_f.h
1603echo      ^&          'NormalizedByUnknownDimensional',                       ^&>> cgnslib_f.h
1604echo      ^&          'NondimensionalParameter','DimensionlessConstant'/>> cgnslib_f.h
1605echo.>> cgnslib_f.h
1606echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1607echo !*      Grid Location                                                  *>> cgnslib_f.h
1608echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1609echo.>> cgnslib_f.h
1610echo         data GridLocationName / 'Null','UserDefined',                   ^&>> cgnslib_f.h
1611echo      ^&          'Vertex','CellCenter','FaceCenter','IFaceCenter',       ^&>> cgnslib_f.h
1612echo      ^&          'JFaceCenter','KFaceCenter','EdgeCenter' />> cgnslib_f.h
1613echo.>> cgnslib_f.h
1614echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1615echo !*      Grid Connectivity Types                                        *>> cgnslib_f.h
1616echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1617echo.>> cgnslib_f.h
1618echo         data GridConnectivityTypeName / 'Null','UserDefined',           ^&>> cgnslib_f.h
1619echo      ^&          'Overset','Abutting','Abutting1to1'/>> cgnslib_f.h
1620echo.>> cgnslib_f.h
1621echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1622echo !*      Point Set Types                                                *>> cgnslib_f.h
1623echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1624echo.>> cgnslib_f.h
1625echo         data PointSetTypeName / 'Null','UserDefined',                   ^&>> cgnslib_f.h
1626echo      ^&          'PointList','PointListDonor',                           ^&>> cgnslib_f.h
1627echo      ^&          'PointRange','PointRangeDonor',                         ^&>> cgnslib_f.h
1628echo      ^&          'ElementRange','ElementList','CellListDonor'/>> cgnslib_f.h
1629echo.>> cgnslib_f.h
1630echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1631echo !*      Governing Equations and Physical Models Types                  *>> cgnslib_f.h
1632echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1633echo.>> cgnslib_f.h
1634echo         data GoverningEquationsTypeName / 'Null','UserDefined',         ^&>> cgnslib_f.h
1635echo      ^&          'FullPotential','Euler', 'NSLaminar', 'NSTurbulent',    ^&>> cgnslib_f.h
1636echo      ^&          'NSLaminarIncompressible', 'NSTurbulentIncompressible'/>> cgnslib_f.h
1637echo.>> cgnslib_f.h
1638echo         data ModelTypeName / 'Null','UserDefined',                      ^&>> cgnslib_f.h
1639echo      ^&        'Ideal','VanderWaals', 'Constant','PowerLaw',             ^&>> cgnslib_f.h
1640echo      ^&        'SutherlandLaw','ConstantPrandtl','EddyViscosity',        ^&>> cgnslib_f.h
1641echo      ^&        'ReynoldsStress','ReynoldsStressAlgebraic',               ^&>> cgnslib_f.h
1642echo      ^&        'Algebraic_BaldwinLomax','Algebraic_CebeciSmith',         ^&>> cgnslib_f.h
1643echo      ^&        'HalfEquation_JohnsonKing','OneEquation_BaldwinBarth',    ^&>> cgnslib_f.h
1644echo      ^&        'OneEquation_SpalartAllmaras','TwoEquation_JonesLaunder', ^&>> cgnslib_f.h
1645echo      ^&        'TwoEquation_MenterSST','TwoEquation_Wilcox',             ^&>> cgnslib_f.h
1646echo      ^&        'CaloricallyPerfect', 'ThermallyPerfect',                 ^&>> cgnslib_f.h
1647echo      ^&        'ConstantDensity', 'RedlichKwong', 'Frozen',              ^&>> cgnslib_f.h
1648echo      ^&        'ThermalEquilib', 'ThermalNonequilib',                    ^&>> cgnslib_f.h
1649echo      ^&        'ChemicalEquilibCurveFit', 'ChemicalEquilibMinimization', ^&>> cgnslib_f.h
1650echo      ^&        'ChemicalNonequilib', 'EMElectricField',                  ^&>> cgnslib_f.h
1651echo      ^&        'EMMagneticField', 'EMConductivity', 'Voltage',           ^&>> cgnslib_f.h
1652echo      ^&        'Interpolated', 'Equilibrium_LinRessler',                 ^&>> cgnslib_f.h
1653echo      ^&        'Chemistry_LinRessler'/>> cgnslib_f.h
1654echo.>> cgnslib_f.h
1655echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1656echo !*      Boundary Condition Types                                       *>> cgnslib_f.h
1657echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1658echo.>> cgnslib_f.h
1659echo         data BCTypeName / 'Null','UserDefined',                         ^&>> cgnslib_f.h
1660echo      ^&          'BCAxisymmetricWedge','BCDegenerateLine',               ^&>> cgnslib_f.h
1661echo      ^&          'BCDegeneratePoint','BCDirichlet','BCExtrapolate',      ^&>> cgnslib_f.h
1662echo      ^&          'BCFarfield','BCGeneral','BCInflow','BCInflowSubsonic', ^&>> cgnslib_f.h
1663echo      ^&          'BCInflowSupersonic','BCNeumann','BCOutflow',           ^&>> cgnslib_f.h
1664echo      ^&          'BCOutflowSubsonic','BCOutflowSupersonic',              ^&>> cgnslib_f.h
1665echo      ^&          'BCSymmetryPlane','BCSymmetryPolar','BCTunnelInflow',   ^&>> cgnslib_f.h
1666echo      ^&          'BCTunnelOutflow','BCWall','BCWallInviscid',            ^&>> cgnslib_f.h
1667echo      ^&          'BCWallViscous','BCWallViscousHeatFlux',                ^&>> cgnslib_f.h
1668echo      ^&          'BCWallViscousIsothermal','FamilySpecified' />> cgnslib_f.h
1669echo.>> cgnslib_f.h
1670echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1671echo !*      Data types                                                     *>> cgnslib_f.h
1672echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1673echo.>> cgnslib_f.h
1674echo         data DataTypeName / 'Null','UserDefined',                       ^&>> cgnslib_f.h
1675echo      ^&          'Integer','RealSingle','RealDouble','Character',        ^&>> cgnslib_f.h
1676echo      ^&          'LongInteger' />> cgnslib_f.h
1677echo.>> cgnslib_f.h
1678echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1679echo !*      BCData_t types                                                 *>> cgnslib_f.h
1680echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1681echo.>> cgnslib_f.h
1682echo         data BCDataTypeName / 'Null','UserDefined',                     ^&>> cgnslib_f.h
1683echo      ^&          'Dirichlet', 'Neumann' />> cgnslib_f.h
1684echo.>> cgnslib_f.h
1685echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1686echo !*      Element types                                                  *>> cgnslib_f.h
1687echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1688echo.>> cgnslib_f.h
1689echo         data ElementTypeName / 'Null','UserDefined',                    ^&>> cgnslib_f.h
1690echo      ^&      'NODE', 'BAR_2', 'BAR_3', 'TRI_3', 'TRI_6',                 ^&>> cgnslib_f.h
1691echo      ^&      'QUAD_4', 'QUAD_8', 'QUAD_9', 'TETRA_4', 'TETRA_10',        ^&>> cgnslib_f.h
1692echo      ^&      'PYRA_5', 'PYRA_14', 'PENTA_6', 'PENTA_15',                 ^&>> cgnslib_f.h
1693echo      ^&      'PENTA_18', 'HEXA_8', 'HEXA_20', 'HEXA_27', 'MIXED',        ^&>> cgnslib_f.h
1694echo      ^&      'PYRA_13', 'NGON_n', 'NFACE_n',                             ^&>> cgnslib_f.h
1695echo      ^&      'BAR_4', 'TRI_9', 'TRI_10',                                 ^&>> cgnslib_f.h
1696echo      ^&      'QUAD_12', 'QUAD_16',                                       ^&>> cgnslib_f.h
1697echo      ^&      'TETRA_16', 'TETRA_20',                                     ^&>> cgnslib_f.h
1698echo      ^&      'PYRA_21', 'PYRA_29', 'PYRA_30',                            ^&>> cgnslib_f.h
1699echo      ^&      'PENTA_24', 'PENTA_38', 'PENTA_40',                         ^&>> cgnslib_f.h
1700echo      ^&      'HEXA_32', 'HEXA_56', 'HEXA_64',                            ^&>> cgnslib_f.h
1701echo      ^&      'BAR_5', 'TRI_12'. 'TRI_15',                                ^&>> cgnslib_f.h
1702echo      ^&      'QUAD_P4_16', 'QUAD_25',                                    ^&>> cgnslib_f.h
1703echo      ^&      'TETRA_22', 'TETRA_34', 'TETRA_35',                         ^&>> cgnslib_f.h
1704echo      ^&      'PYRA_P4_29', 'PYRA_50', 'PYRA_55',                         ^&>> cgnslib_f.h
1705echo      ^&      'PENTA_33', 'PENTA_66', 'PENTA_75',                         ^&>> cgnslib_f.h
1706echo      ^&      'HEXA_44', 'HEXA_98', 'HEXA_125' />> cgnslib_f.h
1707echo.>> cgnslib_f.h
1708echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1709echo !*      Zone types                                                     *>> cgnslib_f.h
1710echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1711echo.>> cgnslib_f.h
1712echo         data ZoneTypeName / 'Null','UserDefined',                       ^&>> cgnslib_f.h
1713echo      ^&      'Structured', 'Unstructured' />> cgnslib_f.h
1714echo.>> cgnslib_f.h
1715echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1716echo !*      Rigid Grid Motion types                                        *>> cgnslib_f.h
1717echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1718echo.>> cgnslib_f.h
1719echo         data RigidGridMotionTypeName / 'Null','UserDefined',            ^&>> cgnslib_f.h
1720echo      ^&       'ConstantRate', 'VariableRate' />> cgnslib_f.h
1721echo.>> cgnslib_f.h
1722echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1723echo !*      Arbitrary Grid Motion types                                    *>> cgnslib_f.h
1724echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1725echo.>> cgnslib_f.h
1726echo         data ArbitraryGridMotionTypeName / 'Null','UserDefined',        ^&>> cgnslib_f.h
1727echo      ^&       'NonDeformingGrid', 'DeformingGrid' />> cgnslib_f.h
1728echo.>> cgnslib_f.h
1729echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1730echo !*      Simulation type                                                *>> cgnslib_f.h
1731echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1732echo.>> cgnslib_f.h
1733echo         data SimulationTypeName / 'Null','UserDefined',                 ^&>> cgnslib_f.h
1734echo      ^&       'TimeAccurate', 'NonTimeAccurate' />> cgnslib_f.h
1735echo.>> cgnslib_f.h
1736echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1737echo !*      BC Property types                                              *>> cgnslib_f.h
1738echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1739echo.>> cgnslib_f.h
1740echo         data WallFunctionTypeName / 'Null','UserDefined',               ^&>> cgnslib_f.h
1741echo      ^&       'Generic' />> cgnslib_f.h
1742echo.>> cgnslib_f.h
1743echo         data AreaTypeName / 'Null','UserDefined',                       ^&>> cgnslib_f.h
1744echo      ^&       'BleedArea', 'CaptureArea' />> cgnslib_f.h
1745echo.>> cgnslib_f.h
1746echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1747echo !*      Grid Connectivity Property types                               *>> cgnslib_f.h
1748echo !* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - *>> cgnslib_f.h
1749echo.>> cgnslib_f.h
1750echo         data AverageInterfaceTypeName / 'Null','UserDefined',           ^&>> cgnslib_f.h
1751echo      ^&       'AverageAll', 'AverageCircumferential', 'AverageRadial',   ^&>> cgnslib_f.h
1752echo      ^&       'AverageI', 'AverageJ', 'AverageK' />> cgnslib_f.h
1753
1754rem ----- create cgnsconfig.h
1755
1756set dodebug=0
1757if not "%debug%" == "" set dodebug=1
1758set dofortran=0
1759if not "%f2c%" == "none" set dofortran=1
1760set doparallel=0
1761if not "%parallel%" == "" set doparallel=1
1762set buildhdf5=0
1763if not "%hdf5lib%" == "" set buildhdf5=1
1764set needmpi=0
1765if not "%hdf5lib%" == "" set needmpi=1
1766set needszip=0
1767if not "%sziplib%" == "" set needszip=1
1768set needzlib=0
1769if not "%zliblib%" == "" set needzlib=1
1770
1771echo creating cgnsconfig.h
1772echo /* ------------------------------------------------------------------------- *> cgnsconfig.h
1773echo  * CGNS - CFD General Notation System (http://www.cgns.org)                  *>> cgnsconfig.h
1774echo  * CGNS/MLL - Mid-Level Library header file                                  *>> cgnsconfig.h
1775echo  * ------------------------------------------------------------------------- */>> cgnsconfig.h
1776echo.>> cgnsconfig.h
1777echo /* ------------------------------------------------------------------------- *>> cgnsconfig.h
1778echo.>> cgnsconfig.h
1779echo   This software is provided 'as-is', without any express or implied warranty.>> cgnsconfig.h
1780echo   In no event will the authors be held liable for any damages arising from>> cgnsconfig.h
1781echo   the use of this software.>> cgnsconfig.h
1782echo.>> cgnsconfig.h
1783echo   Permission is granted to anyone to use this software for any purpose,>> cgnsconfig.h
1784echo   including commercial applications, and to alter it and redistribute it>> cgnsconfig.h
1785echo   freely, subject to the following restrictions:>> cgnsconfig.h
1786echo.>> cgnsconfig.h
1787echo   1. The origin of this software must not be misrepresented; you must not>> cgnsconfig.h
1788echo      claim that you wrote the original software. If you use this software>> cgnsconfig.h
1789echo      in a product, an acknowledgment in the product documentation would be>> cgnsconfig.h
1790echo      appreciated but is not required.>> cgnsconfig.h
1791echo.>> cgnsconfig.h
1792echo   2. Altered source versions must be plainly marked as such, and must not>> cgnsconfig.h
1793echo      be misrepresented as being the original software.>> cgnsconfig.h
1794echo.>> cgnsconfig.h
1795echo   3. This notice may not be removed or altered from any source distribution.>> cgnsconfig.h
1796echo.>> cgnsconfig.h
1797echo  * ------------------------------------------------------------------------- */>> cgnsconfig.h
1798echo.>> cgnsconfig.h
1799echo /* ------------------------------------------------------------------------- *>> cgnsconfig.h
1800echo    This file has been generated during the CGNS/MLL installation.>> cgnsconfig.h
1801echo    This is a snapshot of the parameters used for CGNS/MLL production and>> cgnsconfig.h
1802echo    some PATHS parameters (headers or shared libs) may change or>> cgnsconfig.h
1803echo    disappear (for example in case of cross-compilation).>> cgnsconfig.h
1804echo  * ------------------------------------------------------------------------- */>> cgnsconfig.h
1805echo.>> cgnsconfig.h
1806echo #ifndef CGNSCONFIG_H>> cgnsconfig.h
1807echo #define CGNSCONFIG_H>> cgnsconfig.h
1808echo.>> cgnsconfig.h
1809echo #include "cgnstypes.h">> cgnsconfig.h
1810echo.>> cgnsconfig.h
1811echo #define CG_BUILD_DEBUG    %dodebug% >> cgnsconfig.h
1812echo #define CG_BUILD_FORTRAN  %dofortran% >> cgnsconfig.h
1813echo.>> cgnsconfig.h
1814echo #define HDF5_INCLUDE_PATH "%hdf5inc%">> cgnsconfig.h
1815echo #define HDF5_LIBRARY      "%hdf5lib%">> cgnsconfig.h
1816echo.>> cgnsconfig.h
1817echo #define HDF5_NEED_MPI     %needmpi% >> cgnsconfig.h
1818echo #define HDF5_NEED_SZIP    %needszip% >> cgnsconfig.h
1819echo #define HDF5_NEED_ZLIB    %needzlib% >> cgnsconfig.h
1820echo.>> cgnsconfig.h
1821echo #define MPI_INCLUDE_PATH  "%mpiinc%">> cgnsconfig.h
1822echo #define MPI_LIBRARY       "%mpilibs%">> cgnsconfig.h
1823echo #define SZIP_LIBRARY      "%sziplib%">> cgnsconfig.h
1824echo #define ZLIB_LIBRARY      "%zliblib%">> cgnsconfig.h
1825echo.>> cgnsconfig.h
1826echo #endif>> cgnsconfig.h
1827
1828rem ----- create make.defs
1829
1830echo creating make.defs
1831echo # makefile include for %windir%> make.defs
1832echo.>> make.defs
1833echo #------------------------------------------------------------------------>> make.defs
1834echo # CC      - C compiler>> make.defs
1835echo # CFLAGS  - compiler flags>> make.defs
1836echo # COOUT   - flag to name object output file (typically /Fo)>> make.defs
1837echo # CEOUT   - flag to name the output executable (typically /Fe)>> make.defs
1838echo # LDFLAGS - any additional linker options>> make.defs
1839echo # CLIBS   - any additional libraries needed to link a CGNS application>> make.defs
1840echo #------------------------------------------------------------------------>> make.defs
1841echo.>> make.defs
1842echo CC      = cl>> make.defs
1843echo CFLAGS  = /nologo %copts% /D_CRT_SECURE_NO_WARNINGS>> make.defs
1844echo COOUT   = /Fo>> make.defs
1845echo CEOUT   = /Fe>> make.defs
1846echo LDFLAGS = /nologo %lopts%>> make.defs
1847echo CLIBS   =>> make.defs
1848echo.>> make.defs
1849echo #------------------------------------------------------------------------>> make.defs
1850echo # SPACE  - used to force a space in the compiler executable output flag>> make.defs
1851echo # O       - object file extension>> make.defs
1852echo # A       - library file extension>> make.defs
1853echo # EXE     - executable extension>> make.defs
1854echo # LIBCGNS - CGNS library name>> make.defs
1855echo #------------------------------------------------------------------------>> make.defs
1856echo.>> make.defs
1857echo SPACE   =>> make.defs
1858echo O       = obj>> make.defs
1859echo A       = lib>> make.defs
1860echo EXE     = .exe>> make.defs
1861echo.>> make.defs
1862echo LIBCGNS = %builddir%\cgns.lib>> make.defs
1863echo.>> make.defs
1864echo #------------------------------------------------------------------------>> make.defs
1865echo # F2CFLAGS defines the type of Fortran to C interface.>> make.defs
1866echo #>> make.defs
1867echo # CFGFLAGS defines any additional compiler options needed to build>> make.defs
1868echo # the CGNS library. This is typically set by the configure script.>> make.defs
1869echo #------------------------------------------------------------------------>> make.defs
1870echo.>> make.defs
1871echo F2CFLAGS = %f2cflags%>> make.defs
1872echo CFGFLAGS = %cfgflags%>> make.defs
1873echo.>> make.defs
1874echo #------------------------------------------------------------------------>> make.defs
1875echo # These are not used to build the CGNS library>> make.defs
1876echo # Fortran compiler (F77) and options (FFLAGS).>> make.defs
1877echo # FEOUT is the flag to name the output executable (typically /exe:).>> make.defs
1878echo # FLIBS lists any additional libraries needed to link a CGNS application>> make.defs
1879echo #------------------------------------------------------------------------>> make.defs
1880echo.>> make.defs
1881echo F77    = %f77%>> make.defs
1882if %f77% == ifort (
1883echo FFLAGS = /nologo /extfpp:F /fpp %copts%>> make.defs
1884) else (
1885echo FFLAGS = /nologo /extfpp:F /fpp:"/DWINNT" %copts%>> make.defs
1886)
1887echo FEOUT  = /exe:>> make.defs
1888echo FLIBS  =>> make.defs
1889echo.>> make.defs
1890echo #------------------------------------------------------------------------>> make.defs
1891echo # strip command for executables - set to true if not used>> make.defs
1892echo #------------------------------------------------------------------------>> make.defs
1893echo.>> make.defs
1894echo STRIP  = :>> make.defs
1895echo.>> make.defs
1896echo #------------------------------------------------------------------------>> make.defs
1897echo # library archiver and ranlib>> make.defs
1898echo # AROUT may be used to set a library output flag as:>> make.defs
1899echo #    $(AR) $(AROUT)library_name objects>> make.defs
1900echo # Set RANLIB to true if not used>> make.defs
1901echo #------------------------------------------------------------------------>> make.defs
1902echo.>> make.defs
1903echo AR     = link>> make.defs
1904echo AROUT  = /out:>> make.defs
1905echo RANLIB = :>> make.defs
1906echo.>> make.defs
1907echo #------------------------------------------------------------------------>> make.defs
1908echo # these should only be set if building HDF5 interface>> make.defs
1909echo # HDF5INC - path to HDF5 header files>> make.defs
1910echo # HDF5LIB - HDF5 library>> make.defs
1911echo # SZIPLIB - szip library (if needed)>> make.defs
1912echo # ZLIBLIB - zlib library (if needed)>> make.defs
1913echo #------------------------------------------------------------------------>> make.defs
1914echo.>> make.defs
1915echo HDF5INC = %hdf5def%>> make.defs
1916echo HDF5LIB = %hdf5lib%>> make.defs
1917echo SZIPLIB = %sziplib%>> make.defs
1918echo ZLIBLIB = %zliblib%>> make.defs
1919echo.>> make.defs
1920echo #------------------------------------------------------------------------>> make.defs
1921echo # these should only be set if building with HDF5 and MPI>> make.defs
1922echo # MPIINC  - path to MPI header files>> make.defs
1923echo # MPILIBS - MPI libraries>> make.defs
1924echo # MPIEXEC - MPI executor>> make.defs
1925echo #------------------------------------------------------------------------>> make.defs
1926echo.>> make.defs
1927echo MPIINC  = %mpidef%>> make.defs
1928echo MPILIBS = %mpilibs%>> make.defs
1929echo MPIEXEC = %mpiexec%>> make.defs
1930echo.>> make.defs
1931echo #------------------------------------------------------------------------>> make.defs
1932echo # BUILDLIBS contains the list of additional libraries>> make.defs
1933echo #           with which a CGNS application needs to link>> make.defs
1934echo #------------------------------------------------------------------------>> make.defs
1935echo.>> make.defs
1936echo BUILDLIBS = $(HDF5LIB) $(SZIPLIB) $(ZLIBLIB) $(MPILIBS)>> make.defs
1937echo.>> make.defs
1938echo #------------------------------------------------------------------------>> make.defs
1939echo # commands for removing files and creating/deleting directory>> make.defs
1940echo #------------------------------------------------------------------------>> make.defs
1941echo.>> make.defs
1942echo RM     = del /q>> make.defs
1943echo RMDIR  = rd /s/q>> make.defs
1944echo MKDIR  = md>> make.defs
1945echo.>> make.defs
1946echo #------------------------------------------------------------------------>> make.defs
1947echo # installation library name and directories>> make.defs
1948echo #>> make.defs
1949echo # INSTALL      - install command>> make.defs
1950echo # INSTALL_PROG - install executable>> make.defs
1951echo # INSTALL_DATA - install data>> make.defs
1952echo # LIBDIR       - installation directory for CGNS library>> make.defs
1953echo # INCLUDEDIR   - installation directory for CGNS headers>> make.defs
1954echo # BINDIR       - installation directory for CGNS executables>> make.defs
1955echo #------------------------------------------------------------------------>> make.defs
1956echo.>> make.defs
1957echo INSTALL      = copy /b>> make.defs
1958echo INSTALL_PROG = $(INSTALL)>> make.defs
1959echo INSTALL_DATA = $(INSTALL)>> make.defs
1960echo INSTALLDIR   = %instdir%>> make.defs
1961echo LIBDIR       = $(INSTALLDIR)\lib>> make.defs
1962echo INCLUDEDIR   = $(INSTALLDIR)\include>> make.defs
1963echo BINDIR       = $(INSTALLDIR)\bin>> make.defs
1964
1965rem ----- create cgnsBuild.defs
1966
1967set dodebug=0
1968if not "%debug%" == "" set dodebug=1
1969set dofortran=0
1970if not "%f2c%" == "none" set dofortran=1
1971set doparallel=0
1972if not "%parallel%" == "" set doparallel=1
1973
1974echo creating cgnsBuild.defs
1975echo # makefile include for building CGNS code under %windir%> cgnsBuild.defs
1976echo # this file contains the options and libraries used for>> cgnsBuild.defs
1977echo # building and linking CGNS code, and is intended to be>> cgnsBuild.defs
1978echo # included in a user's Makefile from the installation>> cgnsBuild.defs
1979echo.>> cgnsBuild.defs
1980echo #----------------------------------------------------------------------->> cgnsBuild.defs
1981echo # CGNS library build options. A 1 indicates that the library>> cgnsBuild.defs
1982echo # was built with that option, a 0 indicates without>> cgnsBuild.defs
1983echo # CGNS_DEBUG    = debug>> cgnsBuild.defs
1984echo # CGNS_LEGACY   = legacy code (prior to 3.0)>> cgnsBuild.defs
1985echo # CGNS_SCOPING  = scoping of enums>> cgnsBuild.defs
1986echo # CGNS_64BIT    = 64 bit support>> cgnsBuild.defs
1987echo # CGNS_FORTRAN  = Fortran interface>> cgnsBuild.defs
1988echo # CGNS_PARALLEL = parallel I/O>> cgnsBuild.defs
1989echo #----------------------------------------------------------------------->> cgnsBuild.defs
1990echo.>> cgnsBuild.defs
1991echo CGNS_DEBUG    = %dodebug% >> cgnsBuild.defs
1992echo CGNS_LEGACY   = %dolegacy% >> cgnsBuild.defs
1993echo CGNS_SCOPING  = %doscope% >> cgnsBuild.defs
1994echo CGNS_BASESCOPE = %dobasescope% >> cgnsBuild.defs
1995echo CGNS_64BIT    = %do64bit% >> cgnsBuild.defs
1996echo CGNS_FORTRAN  = %dofortran% >> cgnsBuild.defs
1997echo CGNS_PARALLEL = %doparallel% >> cgnsBuild.defs
1998echo.>> cgnsBuild.defs
1999echo #------------------------------------------------------------------------>> cgnsBuild.defs
2000echo # CGNS_LIBDIR     - installation directory for CGNS library>> cgnsBuild.defs
2001echo # CGNS_INCLUDEDIR - installation directory for CGNS headers>> cgnsBuild.defs
2002echo #------------------------------------------------------------------------>> cgnsBuild.defs
2003echo.>> cgnsBuild.defs
2004echo CGNS_LIBDIR     = %instdir%\lib>> cgnsBuild.defs
2005echo CGNS_INCLUDEDIR = %instdir%\include>> cgnsBuild.defs
2006echo.>> cgnsBuild.defs
2007echo #------------------------------------------------------------------------>> cgnsBuild.defs
2008echo # CGNS_CC      - C compiler used to build library>> cgnsBuild.defs
2009echo # CGNS_CFLAGS  - compiler flags used to build library>> cgnsBuild.defs
2010echo # CGNS_LDFLAGS - any additional linker options>> cgnsBuild.defs
2011echo #------------------------------------------------------------------------>> cgnsBuild.defs
2012echo.>> cgnsBuild.defs
2013echo CGNS_CC      = cl>> cgnsBuild.defs
2014echo CGNS_CFLAGS  = /nologo %copts% /D_CRT_SECURE_NO_WARNINGS>> cgnsBuild.defs
2015echo CGNS_LDFLAGS = /nologo %lopts%>> cgnsBuild.defs
2016echo.>> cgnsBuild.defs
2017echo #------------------------------------------------------------------------>> cgnsBuild.defs
2018echo # CGNS_LIB - CGNS library name>> cgnsBuild.defs
2019echo #------------------------------------------------------------------------>> cgnsBuild.defs
2020echo.>> cgnsBuild.defs
2021echo CGNS_LIB = $(CGNS_LIBDIR)\cgns.lib>> cgnsBuild.defs
2022echo.>> cgnsBuild.defs
2023echo #------------------------------------------------------------------------>> cgnsBuild.defs
2024echo # CGNS_HDF5INC - path to HDF5 header files>> cgnsBuild.defs
2025echo # CGNS_HDF5LIB - HDF5 library>> cgnsBuild.defs
2026echo # CGNS_SZIPLIB - szip library (if needed)>> cgnsBuild.defs
2027echo # CGNS_ZLIBLIB - zlib library (if needed)>> cgnsBuild.defs
2028echo #------------------------------------------------------------------------>> cgnsBuild.defs
2029echo.>> cgnsBuild.defs
2030echo CGNS_HDF5INC = %hdf5inc%>> cgnsBuild.defs
2031echo CGNS_HDF5LIB = %hdf5lib%>> cgnsBuild.defs
2032echo CGNS_SZIPLIB = %sziplib%>> cgnsBuild.defs
2033echo CGNS_ZLIBLIB = %zliblib%>> cgnsBuild.defs
2034echo.>> cgnsBuild.defs
2035echo #------------------------------------------------------------------------>> cgnsBuild.defs
2036echo # CGNS_MPIINC  - path to MPI header files>> cgnsBuild.defs
2037echo # CGNS_MPILIBS - MPI libraries>> cgnsBuild.defs
2038echo #------------------------------------------------------------------------>> cgnsBuild.defs
2039echo.>> cgnsBuild.defs
2040echo CGNS_MPIINC  = %mpiinc%>> cgnsBuild.defs
2041echo CGNS_MPILIBS = %mpilibs%>> cgnsBuild.defs
2042echo.>> cgnsBuild.defs
2043echo #------------------------------------------------------------------------>> cgnsBuild.defs
2044echo # CGNS_LINKLIBS contains the list of libraries>> cgnsBuild.defs
2045echo #               with which a CGNS application needs to link>> cgnsBuild.defs
2046echo #------------------------------------------------------------------------>> cgnsBuild.defs
2047echo.>> cgnsBuild.defs
2048echo CGNS_LINKLIBS = $(CGNS_LIB) $(CGNS_HDF5LIB) $(CGNS_SZIPLIB) \>> cgnsBuild.defs
2049echo 	$(CGNS_ZLIBLIB) $(CGNS_MPILIBS)>> cgnsBuild.defs
2050
2051rem ----- create Makefile
2052
2053echo creating Makefile
2054echo # nmake makefile for the CGNS Library under Windows> Makefile
2055echo.>> Makefile
2056echo !include make.defs>> Makefile
2057echo.>> Makefile
2058echo .SUFFIXES :>> Makefile
2059echo .SUFFIXES : .c .$(O) $(EXE)>> Makefile
2060echo.>> Makefile
2061echo OBJDIR  = %builddir%>> Makefile
2062echo CGNSLIB = $(LIBCGNS)>> Makefile
2063echo INSTLIB = cgns.$(A)>> Makefile
2064if %target% == dll (
2065  echo CGNSDLL = $^(OBJDIR^)\cgns.dll>> Makefile
2066  echo INSTDLL = cgns.dll>> Makefile
2067)
2068echo.>> Makefile
2069echo COPTS   = $(CFLAGS) $(CFGFLAGS) /I. %build% %dllopts%>> Makefile
2070if not "%hdf5inc%" == "" (
2071  echo # uncomment the following when using HDF5 DLL>> Makefile
2072  echo %hdf5dll% = /DWIN32 /D_HDF5USEDLL_>> Makefile
2073)
2074echo.>> Makefile
2075echo #---------->> Makefile
2076echo.>> Makefile
2077echo CGNSOBJS=\>> Makefile
2078echo 	$(OBJDIR)\cgns_error.$(O) \>> Makefile
2079echo 	$(OBJDIR)\cgns_internals.$(O) \>> Makefile
2080echo 	$(OBJDIR)\cgns_io.$(O) \>> Makefile
2081echo 	$(OBJDIR)\cgnslib.$(O)>> Makefile
2082echo.>> Makefile
2083echo # ADF/ADFH routines>> Makefile
2084echo.>> Makefile
2085echo ADFOBJS=\>>Makefile
2086if not "%hdf5inc%" == "" echo 	$(OBJDIR)\ADFH.$(O) \>>Makefile
2087if not "%parallel%" == "" echo 	$(OBJDIR)\pcgnslib.$(O) \>>Makefile
2088echo 	$(OBJDIR)\ADF_interface.$(O) \>>Makefile
2089echo 	$(OBJDIR)\ADF_internals.$(O)>> Makefile
2090echo.>> Makefile
2091echo F2COBJS= $(OBJDIR)\cg_ftoc.$(O) $(OBJDIR)\cgio_ftoc.$(O)>> Makefile
2092echo.>> Makefile
2093echo #---------->> Makefile
2094echo.>> Makefile
2095echo all     : %target% tools %cgnstools%>> Makefile
2096if %target% == dll echo dll     : $^(CGNSDLL^)>> Makefile
2097echo cgns    : $(CGNSLIB)>> Makefile
2098echo test    : runtests %parallel%>> Makefile
2099if "%cgnstools%" == "cgnstools" (
2100  echo install : install-cgns install-tools install-cgnstools>> Makefile
2101) else (
2102  echo install : install-cgns>> Makefile
2103)
2104echo.>> Makefile
2105echo #---------->> Makefile
2106echo.>> Makefile
2107echo $(CGNSLIB) : $(OBJDIR) $(CGNSOBJS) $(ADFOBJS) %f2cobjs%>> Makefile
2108echo 	-@$(RM) $@>> Makefile
2109echo 	$(AR) /lib /nologo $(AROUT)$@ $(CGNSOBJS) $(ADFOBJS) %f2cobjs%>> Makefile
2110if not %target% == dll goto make2
2111echo.>> Makefile
2112echo #---------->> Makefile
2113echo.>> Makefile
2114echo $(CGNSDLL) : $(OBJDIR) $(CGNSOBJS) $(ADFOBJS) %f2cobjs%>> Makefile
2115echo 	-@$(RM) $@ $(CGNSLIB)>> Makefile
2116echo 	$(AR) /dll /nologo $(AROUT)$@ $(CGNSOBJS) $(ADFOBJS) %f2cobjs% $(BUILDLIBS)>> Makefile
2117:make2
2118echo.>> Makefile
2119echo #---------->> Makefile
2120echo.>> Makefile
2121echo $(OBJDIR) :>> Makefile
2122echo 	-$(MKDIR) $(OBJDIR)>> Makefile
2123echo.>> Makefile
2124echo #---------->> Makefile
2125echo.>> Makefile
2126echo tools : %target%>> Makefile
2127echo 	-cd tools ^&^& %make%>> Makefile
2128echo.>> Makefile
2129echo cgnstools : %target%>> Makefile
2130echo 	-cd cgnstools ^&^& %make%>> Makefile
2131echo.>> Makefile
2132echo tests : %target%>> Makefile
2133echo 	-cd tests ^&^& %make%>> Makefile
2134echo.>> Makefile
2135echo ptests : %target%>> Makefile
2136echo 	-cd ptests ^&^& %make%>> Makefile
2137echo.>> Makefile
2138echo runtests : %target%>> Makefile
2139echo 	-cd tests ^&^& %make% test>> Makefile
2140echo.>> Makefile
2141echo runptests : %target%>> Makefile
2142echo 	-cd ptests ^&^& %make% test>> Makefile
2143echo.>> Makefile
2144echo #---------->> Makefile
2145echo.>> Makefile
2146echo clean :>> Makefile
2147echo 	-cd $(OBJDIR) ^&^& $(RM) *.$(O)>> Makefile
2148echo 	-cd tools ^&^& %make% clean>> Makefile
2149echo 	-cd tests ^&^& %make% clean>> Makefile
2150echo 	-cd ptests ^&^& %make% clean>> Makefile
2151echo 	-cd cgnstools ^&^& %make% clean>> Makefile
2152echo.>> Makefile
2153echo allclean : distclean>> Makefile
2154echo.>> Makefile
2155echo distclean : clean>> Makefile
2156echo 	-cd tools ^&^& %make% allclean>> Makefile
2157echo 	-cd tools ^&^& $(RM) Makefile>> Makefile
2158echo 	-cd tests ^&^& %make% allclean>> Makefile
2159echo 	-cd tests ^&^& $(RM) Makefile>> Makefile
2160echo 	-cd ptests ^&^& %make% allclean>> Makefile
2161echo 	-cd ptests ^&^& $(RM) Makefile>> Makefile
2162echo 	-cd cgnstools ^&^& %make% distclean>> Makefile
2163echo 	-$(RM) $(CGNSLIB)>> Makefile
2164if %target% == dll echo 	-$(RM) $(CGNSDLL)>> Makefile
2165echo 	-$(RMDIR) $(OBJDIR)>> Makefile
2166echo 	-$(RM) cgnsconfig.h cgnstypes.h cgnstypes_f.h cgnslib_f.h>> Makefile
2167echo 	-$(RM) *.pdb *.bak>> Makefile
2168echo 	-$(RM) make.defs cgnsBuild.defs Makefile>> Makefile
2169echo.>> Makefile
2170echo install-cgns : %target% $(INCLUDEDIR) $(LIBDIR) %adfinc%>> Makefile
2171echo 	$(INSTALL_DATA) cgnstypes.h $(INCLUDEDIR)\cgnstypes.h>> Makefile
2172echo 	$(INSTALL_DATA) cgnstypes_f.h $(INCLUDEDIR)\cgnstypes_f.h>> Makefile
2173echo 	$(INSTALL_DATA) cgnslib.h $(INCLUDEDIR)\cgnslib.h>> Makefile
2174echo 	$(INSTALL_DATA) cgnslib_f.h $(INCLUDEDIR)\cgnslib_f.h>> Makefile
2175echo 	$(INSTALL_DATA) cgnswin_f.h $(INCLUDEDIR)\cgnswin_f.h>> Makefile
2176echo 	$(INSTALL_DATA) cgns_io.h $(INCLUDEDIR)\cgns_io.h>> Makefile
2177if not "%parallel%" == "" echo 	$(INSTALL_DATA) pcgnslib.h $(INCLUDEDIR)\pcgnslib.h>> Makefile
2178echo 	$(INSTALL_DATA) cgnsconfig.h $(INCLUDEDIR)\cgnsconfig.h>> Makefile
2179echo 	$(INSTALL_DATA) cgnsBuild.defs $(INCLUDEDIR)\cgnsBuild.defs>> Makefile
2180echo 	$(INSTALL_DATA) $(CGNSLIB) $(LIBDIR)\$(INSTLIB)>> Makefile
2181if %target% == dll echo 	$(INSTALL_DATA) $(CGNSDLL) $(LIBDIR)\$(INSTDLL)>> Makefile
2182echo.>> Makefile
2183echo install-all : install>> Makefile
2184echo.>> Makefile
2185echo install-tools :>> Makefile
2186echo 	-cd tools ^&^& %make% install>> Makefile
2187echo.>> Makefile
2188echo install-cgnstools :>> Makefile
2189echo 	-cd cgnstools ^&^& %make% install>> Makefile
2190echo.>> Makefile
2191echo $(INCLUDEDIR) : $(INSTALLDIR)>> Makefile
2192echo 	-$(MKDIR) $(INCLUDEDIR)>> Makefile
2193echo.>> Makefile
2194echo $(LIBDIR) : $(INSTALLDIR)>> Makefile
2195echo 	-$(MKDIR) $(LIBDIR)>> Makefile
2196echo.>> Makefile
2197echo $(INSTALLDIR) :>> Makefile
2198echo 	-$(MKDIR) $(INSTALLDIR)>> Makefile
2199echo.>> Makefile
2200echo install-adf : $(INCLUDEDIR)\adf>> Makefile
2201echo 	$(INSTALL_DATA) adf\ADF.h $(INCLUDEDIR)\adf\ADF.h>> Makefile
2202echo.>> Makefile
2203echo $(INCLUDEDIR)\adf : $(INCLUDEDIR)>> Makefile
2204echo 	-$(MKDIR) $(INCLUDEDIR)\adf>> Makefile
2205echo.>> Makefile
2206echo install-adfh : $(INCLUDEDIR)\adfh>> Makefile
2207echo 	$(INSTALL_DATA) adfh\ADFH.h $(INCLUDEDIR)\adfh\ADFH.h>> Makefile
2208echo.>> Makefile
2209echo $(INCLUDEDIR)\adfh : $(INCLUDEDIR)>> Makefile
2210echo 	-$(MKDIR) $(INCLUDEDIR)\adfh>> Makefile
2211echo.>> Makefile
2212echo #---------- mid-level library>> Makefile
2213echo.>> Makefile
2214echo $(OBJDIR)\cgns_error.$(O) : cgns_error.c cgnslib.h cgns_header.h cgns_io.h>> Makefile
2215echo 	$(CC) $(COPTS) $(COOUT)$@ /c cgns_error.c>> Makefile
2216echo.>> Makefile
2217echo $(OBJDIR)\cgns_internals.$(O) : cgns_internals.c cgnslib.h cgns_header.h cgns_io.h>> Makefile
2218echo 	$(CC) $(COPTS) $(COOUT)$@ /c cgns_internals.c>> Makefile
2219echo.>> Makefile
2220echo $(OBJDIR)\cgns_io.$(O) : cgns_io.c cgnslib.h cgns_io.h \>> Makefile
2221set includes=adf\ADF.h
2222if not "%hdf5inc%" == "" set includes=%includes% adfh\ADFH.h
2223echo 	%includes%>> Makefile
2224echo 	$(CC) $(COPTS) $(COOUT)$@ /c cgns_io.c>> Makefile
2225echo.>> Makefile
2226echo $(OBJDIR)\cgnslib.$(O) : cgnslib.c cgnslib.h cgns_header.h cgns_io.h>> Makefile
2227echo 	$(CC) $(COPTS) $(HDF5INC) $(MPIINC) $(COOUT)$@ /c cgnslib.c>> Makefile
2228echo.>> Makefile
2229echo $(OBJDIR)\cg_ftoc.$(O) : cg_ftoc.c fortran_macros.h cgnslib.h cgns_header.h cgns_io.h>> Makefile
2230echo 	$(CC) $(COPTS) $(F2CFLAGS) $(COOUT)$@ /c cg_ftoc.c>> Makefile
2231echo $(OBJDIR)\cgio_ftoc.$(O) : cgio_ftoc.c fortran_macros.h cgns_io.h>> Makefile
2232echo 	$(CC) $(COPTS) $(F2CFLAGS) $(COOUT)$@ /c cgio_ftoc.c>> Makefile
2233echo.>> Makefile
2234echo cgnslib.h : cgnstypes.h>> Makefile
2235echo cgns_header.h : cgnstypes.h>> Makefile
2236echo cgns_io.h : cgnstypes.h>> Makefile
2237echo.>> Makefile
2238echo #---------- ADF>> Makefile
2239echo.>> Makefile
2240echo $(OBJDIR)\ADF_interface.$(O) : adf\ADF_interface.c \>> Makefile
2241echo 	adf\ADF.h adf\ADF_internals.h>> Makefile
2242echo 	$(CC) $(COPTS) /Iadf $(COOUT)$@ /c adf\ADF_interface.c>> Makefile
2243echo.>> Makefile
2244echo $(OBJDIR)\ADF_internals.$(O) : adf\ADF_internals.c \>> Makefile
2245echo 	adf\ADF.h adf\ADF_internals.h>> Makefile
2246echo 	$(CC) $(COPTS) /Iadf $(COOUT)$@ /c adf\ADF_internals.c>> Makefile
2247echo.>> Makefile
2248echo adf\ADF.h : cgnstypes.h>> Makefile
2249echo adf\ADF_internals.h : cgnstypes.h>> Makefile
2250echo.>> Makefile
2251echo #---------- HDF5>> Makefile
2252echo.>> Makefile
2253echo $(OBJDIR)\ADFH.$(O) : adfh\ADFH.c adfh\ADFH.h>> Makefile
2254echo 	$(CC) $(COPTS) /Iadfh $(HDF5INC) $(HDF5DLL) $(MPIINC) $(COOUT)$@ /c adfh\ADFH.c>> Makefile
2255echo.>> Makefile
2256echo adfh\ADFH.h : cgnstypes.h>> Makefile
2257echo.>> Makefile
2258echo #---------- PCGNS>> Makefile
2259echo.>> Makefile
2260echo $(OBJDIR)\pcgnslib.$(O) : pcgnslib.c pcgnslib.h>> Makefile
2261echo 	$(CC) $(COPTS) $(HDF5INC) $(MPIINC) $(COOUT)$@ /c pcgnslib.c>> Makefile
2262echo.>> Makefile
2263echo pcgnslib.h : cgnslib.h>> Makefile
2264
2265rem ----- create tools/Makefile
2266
2267if not exist tools\nul goto tests
2268
2269echo creating tools\Makefile
2270echo # nmake makefile for Windows> tools\Makefile
2271echo.>> tools\Makefile
2272echo CGNSDIR = ..>> tools\Makefile
2273echo !include $(CGNSDIR)\make.defs>> tools\Makefile
2274echo.>> tools\Makefile
2275echo CGNSLIB = $(CGNSDIR)\$(LIBCGNS)>> tools\Makefile
2276echo.>> tools\Makefile
2277echo COPTS  = $(CFLAGS) /I$(CGNSDIR)>> tools\Makefile
2278echo LDLIBS = $(CGNSLIB) $(BUILDLIBS)>> tools\Makefile
2279echo.>> tools\Makefile
2280echo #---------->> tools\Makefile
2281echo.>> tools\Makefile
2282echo ALL =	cgnslist$(EXE) \>> tools\Makefile
2283echo 	cgnscheck$(EXE) \>> tools\Makefile
2284echo 	cgnsconvert$(EXE) \>> tools\Makefile
2285echo 	cgnscompress$(EXE) \>> tools\Makefile
2286echo 	cgnsdiff$(EXE) \>> tools\Makefile
2287echo 	cgnsnames$(EXE)>> tools\Makefile
2288echo.>> tools\Makefile
2289echo all : $(ALL)>> tools\Makefile
2290echo.>> tools\Makefile
2291echo #---------->> tools\Makefile
2292echo.>> tools\Makefile
2293echo cgnslist$(EXE) : cgnslist.$(O) getargs.$(O) $(CGNSLIB)>> tools\Makefile
2294echo 	$(CC) $(COPTS) $(CEOUT)$@ cgnslist.$(O) getargs.$(O) $(LDLIBS) $(CLIBS)>> tools\Makefile
2295echo cgnslist.$(O) : cgnslist.c getargs.h>> tools\Makefile
2296echo 	$(CC) $(COPTS) /c cgnslist.c>> tools\Makefile
2297echo.>> tools\Makefile
2298echo #---------->> tools\Makefile
2299echo.>> tools\Makefile
2300echo cgnscheck$(EXE) : cgnscheck.$(O) getargs.$(O) hash.$(O) cgnames.$(O) $(CGNSLIB)>> tools\Makefile
2301echo 	$(CC) $(COPTS) $(CEOUT)$@ cgnscheck.$(O) getargs.$(O) hash.$(O) cgnames.$(O) $(LDLIBS) $(CLIBS)>> tools\Makefile
2302echo cgnscheck.$(O) : cgnscheck.c getargs.h hash.h cgnames.h>> tools\Makefile
2303echo 	$(CC) $(COPTS) /c cgnscheck.c>> tools\Makefile
2304echo.>> tools\Makefile
2305echo #---------->> tools\Makefile
2306echo.>> tools\Makefile
2307echo cgnsconvert$(EXE) : cgnsconvert.$(O) getargs.$(O) $(CGNSLIB)>> tools\Makefile
2308echo 	$(CC) $(CFLAGS) $(CEOUT)$@ cgnsconvert.$(O) getargs.$(O) $(LDLIBS) $(CLIBS)>> tools\Makefile
2309echo cgnsconvert.$(O) : cgnsconvert.c getargs.h>> tools\Makefile
2310echo 	$(CC) $(COPTS) /c cgnsconvert.c>> tools\Makefile
2311echo.>> tools\Makefile
2312echo #---------->> tools\Makefile
2313echo.>> tools\Makefile
2314echo cgnscompress$(EXE) : cgnscompress.$(O) $(CGNSLIB)>> tools\Makefile
2315echo 	$(CC) $(CFLAGS) $(CEOUT)$@ cgnscompress.$(O) $(LDLIBS) $(CLIBS)>> tools\Makefile
2316echo cgnscompress.$(O) : cgnscompress.c>> tools\Makefile
2317echo 	$(CC) $(COPTS) /c cgnscompress.c>> tools\Makefile
2318echo.>> tools\Makefile
2319echo #---------->> tools\Makefile
2320echo.>> tools\Makefile
2321echo cgnsdiff$(EXE) : cgnsdiff.$(O) getargs.$(O) $(CGNSLIB)>> tools\Makefile
2322echo 	$(CC) $(CFLAGS) $(CEOUT)$@ cgnsdiff.$(O) getargs.$(O) $(LDLIBS) $(CLIBS)>> tools\Makefile
2323echo cgnsdiff.$(O) : cgnsdiff.c getargs.h>> tools\Makefile
2324echo 	$(CC) $(COPTS) /c cgnsdiff.c>> tools\Makefile
2325echo.>> tools\Makefile
2326echo #---------->> tools\Makefile
2327echo.>> tools\Makefile
2328echo cgnsnames$(EXE) : cgnsnames.$(O) cgnames.$(O) $(CGNSLIB)>> tools\Makefile
2329echo 	$(CC) $(CFLAGS) $(CEOUT)$@ cgnsnames.$(O) cgnames.$(O) $(LDLIBS) $(CLIBS)>> tools\Makefile
2330echo cgnsnames.$(O) : cgnsnames.c cgnames.h>> tools\Makefile
2331echo 	$(CC) $(COPTS) /c cgnsnames.c>> tools\Makefile
2332echo.>> tools\Makefile
2333echo #---------->> tools\Makefile
2334echo.>> tools\Makefile
2335echo getargs.$(O) : getargs.c getargs.h>> tools\Makefile
2336echo 	$(CC) $(COPTS) /c getargs.c>> tools\Makefile
2337echo.>> tools\Makefile
2338echo hash.$(O) : hash.c hash.h>> tools\Makefile
2339echo 	$(CC) $(COPTS) /c hash.c>> tools\Makefile
2340echo.>> tools\Makefile
2341echo cgnames.$(O) : cgnames.c cgnames.h>> tools\Makefile
2342echo 	$(CC) $(COPTS) /c cgnames.c>> tools\Makefile
2343echo.>> tools\Makefile
2344echo install : all $(BINDIR)>> tools\Makefile
2345echo 	$(INSTALL_PROG) cgnslist$(EXE) $(BINDIR)>> tools\Makefile
2346echo 	$(INSTALL_PROG) cgnscheck$(EXE) $(BINDIR)>> tools\Makefile
2347echo 	$(INSTALL_PROG) cgnsconvert$(EXE) $(BINDIR)>> tools\Makefile
2348echo 	$(INSTALL_PROG) cgnscompress$(EXE) $(BINDIR)>> tools\Makefile
2349echo 	$(INSTALL_PROG) cgnsdiff$(EXE) $(BINDIR)>> tools\Makefile
2350echo 	$(INSTALL_PROG) cgnsnames$(EXE) $(BINDIR)>> tools\Makefile
2351echo 	$(INSTALL_PROG) adf2hdf.bat $(BINDIR)>> tools\Makefile
2352echo 	$(INSTALL_PROG) hdf2adf.bat $(BINDIR)>> tools\Makefile
2353echo 	$(INSTALL_PROG) cgnsupdate.bat $(BINDIR)>> tools\Makefile
2354echo.>> tools\Makefile
2355echo $(BINDIR) : $(INSTALLDIR)>> tools\Makefile
2356echo 	-$(MKDIR) $(BINDIR)>> tools\Makefile
2357echo.>> tools\Makefile
2358echo $(INSTALLDIR) :>> tools\Makefile
2359echo 	-$(MKDIR) $(INSTALLDIR)>> tools\Makefile
2360echo.>> tools\Makefile
2361echo clean :>> tools\Makefile
2362echo 	-$(RM) *.$(O)>> tools\Makefile
2363echo.>> tools\Makefile
2364echo allclean : clean>> tools\Makefile
2365echo 	-$(RM) *.exe>> tools\Makefile
2366echo 	-$(RM) *.pdb *.ilk>> tools\Makefile
2367
2368rem ----- create tests/Makefile
2369
2370:tests
2371if not exist tests\nul goto ptests
2372
2373echo creating tests\Makefile
2374echo # nmake makefile for Windows> tests\Makefile
2375echo.>> tests\Makefile
2376echo CGNSDIR = ..>> tests\Makefile
2377echo !include $(CGNSDIR)\make.defs>> tests\Makefile
2378echo.>> tests\Makefile
2379echo CGNSLIB = $(CGNSDIR)\$(LIBCGNS)>> tests\Makefile
2380echo.>> tests\Makefile
2381echo COPTS  = $(CFLAGS) /I$(CGNSDIR)>> tests\Makefile
2382echo FOPTS  = $(FFLAGS) /I$(CGNSDIR)>> tests\Makefile
2383echo LDLIBS = $(CGNSLIB) $(BUILDLIBS)>> tests\Makefile
2384echo.>> tests\Makefile
2385echo #---------->> tests\Makefile
2386echo.>> tests\Makefile
2387echo CALL = \>> tests\Makefile
2388echo 	elemtest$(EXE) \>> tests\Makefile
2389echo 	test_exts$(EXE) \>> tests\Makefile
2390echo 	test_partial$(EXE) \>> tests\Makefile
2391echo 	test_goto$(EXE) \>> tests\Makefile
2392echo 	test_multifam$(EXE) \>> tests\Makefile
2393echo 	test_ver31$(EXE) \>> tests\Makefile
2394echo 	write_array$(EXE) \>> tests\Makefile
2395echo 	write_links$(EXE) \>> tests\Makefile
2396echo 	write_bcdata$(EXE) \>> tests\Makefile
2397echo 	write_test$(EXE) \>> tests\Makefile
2398echo 	write_zones$(EXE) \>> tests\Makefile
2399echo 	write_rind$(EXE)>> tests\Makefile
2400echo FALL =	cgwrite$^(EXE^) \>> tests\Makefile
2401echo 	cgread$^(EXE^) \>> tests\Makefile
2402echo 	cgzconn$(EXE) \>> tests\Makefile
2403echo 	cgsubreg$(EXE)>> tests\Makefile
2404echo CALL64 = test64c$^(EXE^)>> tests\Makefile
2405echo FALL64 = test64f$^(EXE^)>> tests\Makefile
2406echo.>> tests\Makefile
2407if not "%f2c%" == "none" (
2408  echo TESTS = $^(CALL^) $^(FALL^)>> tests\Makefile
2409  echo ALL64 = $^(CALL64^) $^(FALL64^)>> tests\Makefile
2410) else (
2411  echo TESTS = $^(CALL^)>> tests\Makefile
2412  echo ALL64 = $^(CALL64^)>> tests\Makefile
2413)
2414echo ALL   = dbtest$(EXE) open_cgns$(EXE) $(TESTS)>> tests\Makefile
2415echo.>> tests\Makefile
2416echo #---------->> tests\Makefile
2417echo.>> tests\Makefile
2418echo all : $(ALL)>> tests\Makefile
2419echo fortran : $(FALL)>> tests\Makefile
2420echo test64 : $(ALL64)>> tests\Makefile
2421echo.>> tests\Makefile
2422echo #---------->> tests\Makefile
2423echo.>> tests\Makefile
2424echo test : $(TESTS)>> tests\Makefile
2425echo 	@echo>> tests\Makefile
2426echo 	@echo === running tests ===>> tests\Makefile
2427echo 	-@runtest.bat elemtest$(EXE)>> tests\Makefile
2428echo 	-@runtest.bat test_exts$(EXE)>> tests\Makefile
2429echo 	-@runtest.bat test_partial$(EXE)>> tests\Makefile
2430echo 	-@runtest.bat test_goto$(EXE)>> tests\Makefile
2431echo 	-@runtest.bat test_multifam$(EXE)>> tests\Makefile
2432echo 	-@runtest.bat test_ver31$(EXE)>> tests\Makefile
2433echo 	-@runtest.bat write_array$(EXE)>> tests\Makefile
2434echo 	-@runtest.bat write_links$(EXE)>> tests\Makefile
2435echo 	-@runtest.bat write_bcdata$(EXE)>> tests\Makefile
2436echo 	-@runtest.bat write_test$(EXE)>> tests\Makefile
2437echo 	-@runtest.bat write_zones$(EXE)>> tests\Makefile
2438echo 	-@runtest.bat write_rind$(EXE)>> tests\Makefile
2439if not "%f2c%" == "none" (
2440  echo 	-@runtest.bat cgwrite$^(EXE^)>> tests\Makefile
2441  echo 	-@runtest.bat cgread$^(EXE^)>> tests\Makefile
2442  echo 	-@runtest.bat cgzconn$^(EXE^)>> tests\Makefile
2443  echo 	-@runtest.bat cgsubreg$^(EXE^)>> tests\Makefile
2444)
2445echo 	@echo === finished ===>> tests\Makefile
2446echo.>> tests\Makefile
2447echo #---------->> tests\Makefile
2448echo.>> tests\Makefile
2449echo dbtest$(EXE) : dbtest.$(O) utils.$(O) $(CGNSLIB)>> tests\Makefile
2450echo 	$(CC) $(COPTS) $(CEOUT)$@ dbtest.$(O) utils.$(O) $(LDLIBS) $(CLIBS)>> tests\Makefile
2451echo dbtest.$(O) : dbtest.c utils.h>> tests\Makefile
2452echo 	$(CC) $(COPTS) /c dbtest.c>> tests\Makefile
2453echo.>> tests\Makefile
2454echo #---------->> tests\Makefile
2455echo.>> tests\Makefile
2456echo elemtest$(EXE) : elemtest.c $(CGNSLIB)>> tests\Makefile
2457echo 	$(CC) $(COPTS) $(CEOUT)$@ elemtest.c $(LDLIBS) $(CLIBS)>> tests\Makefile
2458echo.>> tests\Makefile
2459echo #---------->> tests\Makefile
2460echo.>> tests\Makefile
2461echo open_cgns$(EXE) : open_cgns.$(O) utils.$(O) $(CGNSLIB)>> tests\Makefile
2462echo 	$(CC) $(CFLAGS) $(CEOUT)$@ open_cgns.$(O) utils.$(O) $(LDLIBS) $(CLIBS)>> tests\Makefile
2463echo open_cgns.$(O) : open_cgns.c utils.h>> tests\Makefile
2464echo 	$(CC) $(COPTS) /c open_cgns.c>> tests\Makefile
2465echo.>> tests\Makefile
2466echo #---------->> tests\Makefile
2467echo.>> tests\Makefile
2468echo test_exts$(EXE) : test_exts.c $(CGNSLIB)>> tests\Makefile
2469echo 	$(CC) $(COPTS) $(CEOUT)$@ test_exts.c $(LDLIBS) $(CLIBS)>> tests\Makefile
2470echo.>> tests\Makefile
2471echo #---------->> tests\Makefile
2472echo.>> tests\Makefile
2473echo test_partial$(EXE) : test_partial.c $(CGNSLIB)>> tests\Makefile
2474echo 	$(CC) $(COPTS) $(CEOUT)$@ test_partial.c $(LDLIBS) $(CLIBS)>> tests\Makefile
2475echo.>> tests\Makefile
2476echo #---------->> tests\Makefile
2477echo.>> tests\Makefile
2478echo test_goto$(EXE) : test_goto.c $(CGNSLIB)>> tests\Makefile
2479echo 	$(CC) $(COPTS) $(CEOUT)$@ test_goto.c $(LDLIBS) $(CLIBS)>> tests\Makefile
2480echo.>> tests\Makefile
2481echo #---------->> tests\Makefile
2482echo.>> tests\Makefile
2483echo test_multifam$(EXE) : test_multifam.c $(CGNSLIB)>> tests\Makefile
2484echo 	$(CC) $(COPTS) $(CEOUT)$@ test_multifam.c $(LDLIBS) $(CLIBS)>> tests\Makefile
2485echo.>> tests\Makefile
2486echo #---------->> tests\Makefile
2487echo.>> tests\Makefile
2488echo test_ver31$(EXE) : test_ver31.c $(CGNSLIB)>> tests\Makefile
2489echo 	$(CC) $(COPTS) $(CEOUT)$@ test_ver31.c $(LDLIBS) $(CLIBS)>> tests\Makefile
2490echo.>> tests\Makefile
2491echo #---------->> tests\Makefile
2492echo.>> tests\Makefile
2493echo write_array$(EXE) : write_array.$(O) utils.$(O) $(CGNSLIB)>> tests\Makefile
2494echo 	$(CC) $(CFLAGS) $(CEOUT)$@ write_array.$(O) utils.$(O) $(LDLIBS) $(CLIBS)>> tests\Makefile
2495echo write_array.$(O) : write_array.c utils.h>> tests\Makefile
2496echo 	$(CC) $(COPTS) /c write_array.c>> tests\Makefile
2497echo.>> tests\Makefile
2498echo #---------->> tests\Makefile
2499echo.>> tests\Makefile
2500echo write_links$(EXE) : write_links.$(O) utils.$(O) $(CGNSLIB)>> tests\Makefile
2501echo 	$(CC) $(CFLAGS) $(CEOUT)$@ write_links.$(O) utils.$(O) $(LDLIBS) $(CLIBS)>> tests\Makefile
2502echo write_links.$(O) : write_links.c utils.h>> tests\Makefile
2503echo 	$(CC) $(COPTS) /c write_links.c>> tests\Makefile
2504echo.>> tests\Makefile
2505echo #---------->> tests\Makefile
2506echo.>> tests\Makefile
2507echo write_bcdata$(EXE) : write_bcdata.$(O) utils.$(O) $(CGNSLIB)>> tests\Makefile
2508echo 	$(CC) $(CFLAGS) $(CEOUT)$@ write_bcdata.$(O) utils.$(O) $(LDLIBS) $(CLIBS)>> tests\Makefile
2509echo write_bcdata.$(O) : write_bcdata.c utils.h>> tests\Makefile
2510echo 	$(CC) $(COPTS) /c write_bcdata.c>> tests\Makefile
2511echo.>> tests\Makefile
2512echo #---------->> tests\Makefile
2513echo.>> tests\Makefile
2514echo write_test$(EXE) : write_test.c $(CGNSLIB)>> tests\Makefile
2515echo 	$(CC) $(COPTS) $(CEOUT)$@ write_test.c $(LDLIBS) $(CLIBS)>> tests\Makefile
2516echo.>> tests\Makefile
2517echo #---------->> tests\Makefile
2518echo.>> tests\Makefile
2519echo write_zones$(EXE) : write_zones.$(O) utils.$(O) $(CGNSLIB)>> tests\Makefile
2520echo 	$(CC) $(CFLAGS) $(CEOUT)$@ write_zones.$(O) utils.$(O) $(LDLIBS) $(CLIBS)>> tests\Makefile
2521echo write_zones.$(O) : write_zones.c utils.h>> tests\Makefile
2522echo 	$(CC) $(COPTS) /c write_zones.c>> tests\Makefile
2523echo.>> tests\Makefile
2524echo #---------->> tests\Makefile
2525echo.>> tests\Makefile
2526echo write_rind$(EXE) : write_rind.c $(CGNSLIB)>> tests\Makefile
2527echo 	$(CC) $(COPTS) $(CEOUT)$@ write_rind.c $(LDLIBS) $(CLIBS)>> tests\Makefile
2528echo.>> tests\Makefile
2529echo #---------->> tests\Makefile
2530echo.>> tests\Makefile
2531echo cgwrite$(EXE) : cgwrite.F $(CGNSLIB)>> tests\Makefile
2532echo 	$(F77) $(FOPTS) $(FEOUT)$@ cgwrite.F $(LDLIBS) $(FLIBS)>> tests\Makefile
2533echo.>> tests\Makefile
2534echo #---------->> tests\Makefile
2535echo.>> tests\Makefile
2536echo cgread$(EXE) : cgread.F $(CGNSLIB)>> tests\Makefile
2537echo 	$(F77) $(FOPTS) $(FEOUT)$@ cgread.F $(LDLIBS) $(FLIBS)>> tests\Makefile
2538echo.>> tests\Makefile
2539echo #---------->> tests\Makefile
2540echo.>> tests\Makefile
2541echo cgzconn$(EXE) : cgzconn.F $(CGNSLIB)>> tests\Makefile
2542echo 	$(F77) $(FOPTS) $(FEOUT)$@ cgzconn.F $(LDLIBS) $(FLIBS)>> tests\Makefile
2543echo.>> tests\Makefile
2544echo #---------->> tests\Makefile
2545echo.>> tests\Makefile
2546echo cgsubreg$(EXE) : cgsubreg.F $(CGNSLIB)>> tests\Makefile
2547echo 	$(F77) $(FOPTS) $(FEOUT)$@ cgsubreg.F $(LDLIBS) $(FLIBS)>> tests\Makefile
2548echo.>> tests\Makefile
2549echo #---------->> tests\Makefile
2550echo.>> tests\Makefile
2551echo test64c$(EXE) : test64c.$(O) utils.$(O) $(CGNSLIB)>> tests\Makefile
2552echo 	$(CC) $(CFLAGS) $(CEOUT)$@ test64c.$(O) utils.$(O) $(LDLIBS) $(CLIBS)>> tests\Makefile
2553echo 	$(STRIP) $@>> tests\Makefile
2554echo test64c.$(O) : test64c.c utils.h>> tests\Makefile
2555echo 	$(CC) $(COPTS) /c test64c.c>> tests\Makefile
2556echo.>> tests\Makefile
2557echo #---------->> tests\Makefile
2558echo.>> tests\Makefile
2559echo test64f$(EXE) : test64f.F $(CGNSLIB)>> tests\Makefile
2560echo 	$(F77) $(FOPTS) $(FEOUT)$@ test64f.F $(LDLIBS) $(FLIBS)>> tests\Makefile
2561echo 	$(STRIP) $@>> tests\Makefile
2562echo.>> tests\Makefile
2563echo #---------->> tests\Makefile
2564echo.>> tests\Makefile
2565echo utils.$(O) : utils.c utils.h>> tests\Makefile
2566echo 	$(CC) $(COPTS) /c utils.c>> tests\Makefile
2567echo.>> tests\Makefile
2568echo clean :>> tests\Makefile
2569echo 	-$(RM) *.$(O)>> tests\Makefile
2570echo.>> tests\Makefile
2571echo allclean : clean>> tests\Makefile
2572echo 	-$(RM) *.exe>> tests\Makefile
2573echo 	-$(RM) *.pdb *.ilk>> tests\Makefile
2574echo 	-$(RM) *.cgns>> tests\Makefile
2575
2576rem ----- create ptests/Makefile
2577
2578:ptests
2579if not exist ptests\nul goto cgnstools
2580
2581echo creating ptests\Makefile
2582echo # nmake makefile for Windows> ptests\Makefile
2583echo.>> ptests\Makefile
2584echo CGNSDIR = ..>> ptests\Makefile
2585echo !include $(CGNSDIR)\make.defs>> ptests\Makefile
2586echo.>> ptests\Makefile
2587echo CGNSLIB = $(CGNSDIR)\$(LIBCGNS)>> ptests\Makefile
2588echo.>> ptests\Makefile
2589echo COPTS  = $(CFLAGS) /I$(CGNSDIR) $(MPIINC)>> ptests\Makefile
2590echo FOPTS  = $(FFLAGS) /I$(CGNSDIR) $(MPIINC)>> ptests\Makefile
2591echo LDLIBS = $(CGNSLIB) $(BUILDLIBS)>> ptests\Makefile
2592echo.>> ptests\Makefile
2593echo #---------->> ptests\Makefile
2594echo.>> ptests\Makefile
2595echo CALL = \>> ptests\Makefile
2596echo 	ctest$(EXE) \>> ptests\Makefile
2597echo 	cexample$(EXE) \>> ptests\Makefile
2598echo 	benchmark$(EXE) \>> ptests\Makefile
2599echo 	open_close$(EXE) \>> ptests\Makefile
2600echo 	test_base$(EXE) \>> ptests\Makefile
2601echo 	test_unstructured$(EXE) \>> ptests\Makefile
2602echo 	test_unstruc_quad$(EXE) \>> ptests\Makefile
2603echo 	test_zone$(EXE) \>> ptests\Makefile
2604echo 	thesis_benchmark$(EXE)>> ptests\Makefile
2605echo FALL =	ftest$^(EXE^)>> ptests\Makefile
2606echo.>> ptests\Makefile
2607if not "%f2c%" == "none" (
2608  echo ALL   = $^(CALL^) $^(FALL^)>> ptests\Makefile
2609) else (
2610  echo ALL   = $^(CALL^)>> ptests\Makefile
2611)
2612echo TESTS = $(ALL)>> ptests\Makefile
2613echo.>> ptests\Makefile
2614echo all : $(ALL)>> ptests\Makefile
2615echo.>> ptests\Makefile
2616echo #---------->> ptests\Makefile
2617echo.>> ptests\Makefile
2618echo test : $(TESTS)>> ptests\Makefile
2619echo 	@echo>> ptests\Makefile
2620echo 	@echo === running parallel tests ===>> ptests\Makefile
2621echo 	-@runptest.bat $(MPIEXEC) ctest$(EXE)>> ptests\Makefile
2622echo 	-@runptest.bat $(MPIEXEC) cexample$(EXE)>> ptests\Makefile
2623echo 	-@runptest.bat $(MPIEXEC) benchmark$(EXE)>> ptests\Makefile
2624echo 	-@runptest.bat $(MPIEXEC) open_close$(EXE)>> ptests\Makefile
2625echo 	-@runptest.bat $(MPIEXEC) test_base$(EXE)>> ptests\Makefile
2626echo 	-@runptest.bat $(MPIEXEC) test_unstructured$(EXE)>> ptests\Makefile
2627echo 	-@runptest.bat $(MPIEXEC) test_unstruc_quad$(EXE)>> ptests\Makefile
2628echo 	-@runptest.bat $(MPIEXEC) test_zone$(EXE)>> ptests\Makefile
2629echo 	-@runptest.bat $(MPIEXEC) thesis_benchmark$(EXE)>> ptests\Makefile
2630if not "%f2c%" == "none" (
2631  echo 	-@runptest.bat $^(MPIEXEC^) ftest$^(EXE^)>> ptests\Makefile
2632)
2633echo 	@echo === finished ===>> ptests\Makefile
2634echo.>> ptests\Makefile
2635echo #---------->> ptests\Makefile
2636echo.>> ptests\Makefile
2637echo ctest$(EXE) : ctest.c $(CGNSLIB)>> ptests\Makefile
2638echo 	$(CC) $(COPTS) $(CEOUT)$@ ctest.c $(LDLIBS) $(CLIBS)>> ptests\Makefile
2639echo.>> ptests\Makefile
2640echo #---------->> ptests\Makefile
2641echo.>> ptests\Makefile
2642echo cexample$(EXE) : cexample.c $(CGNSLIB)>> ptests\Makefile
2643echo 	$(CC) $(COPTS) $(CEOUT)$@ cexample.c $(LDLIBS) $(CLIBS)>> ptests\Makefile
2644echo.>> ptests\Makefile
2645echo #---------->> ptests\Makefile
2646echo.>> ptests\Makefile
2647echo benchmark$(EXE) : benchmark.c $(CGNSLIB)>> ptests\Makefile
2648echo 	$(CC) $(COPTS) $(CEOUT)$@ benchmark.c $(LDLIBS) $(CLIBS)>> ptests\Makefile
2649echo.>> ptests\Makefile
2650echo #---------->> ptests\Makefile
2651echo.>> ptests\Makefile
2652echo open_close$(EXE) : open_close.c $(CGNSLIB)>> ptests\Makefile
2653echo 	$(CC) $(COPTS) $(CEOUT)$@ open_close.c $(LDLIBS) $(CLIBS)>> ptests\Makefile
2654echo.>> ptests\Makefile
2655echo #---------->> ptests\Makefile
2656echo.>> ptests\Makefile
2657echo test_base$(EXE) : test_base.c $(CGNSLIB)>> ptests\Makefile
2658echo 	$(CC) $(COPTS) $(CEOUT)$@ test_base.c $(LDLIBS) $(CLIBS)>> ptests\Makefile
2659echo.>> ptests\Makefile
2660echo #---------->> ptests\Makefile
2661echo.>> ptests\Makefile
2662echo test_unstructured$(EXE) : test_unstructured.c $(CGNSLIB)>> ptests\Makefile
2663echo 	$(CC) $(COPTS) $(CEOUT)$@ test_unstructured.c $(LDLIBS) $(CLIBS)>> ptests\Makefile
2664echo.>> ptests\Makefile
2665echo test_unstruc_quad$(EXE) : test_unstruc_quad.c $(CGNSLIB)>> ptests\Makefile
2666echo 	$(CC) $(COPTS) $(CEOUT)$@ test_unstruc_quad.c $(LDLIBS) $(CLIBS)>> ptests\Makefile
2667echo.>> ptests\Makefile
2668echo #---------->> ptests\Makefile
2669echo.>> ptests\Makefile
2670echo test_zone$(EXE) : test_zone.c $(CGNSLIB)>> ptests\Makefile
2671echo 	$(CC) $(COPTS) $(CEOUT)$@ test_zone.c $(LDLIBS) $(CLIBS)>> ptests\Makefile
2672echo.>> ptests\Makefile
2673echo #---------->> ptests\Makefile
2674echo.>> ptests\Makefile
2675echo thesis_benchmark$(EXE) : thesis_benchmark.c $(CGNSLIB)>> ptests\Makefile
2676echo 	$(CC) $(COPTS) $(CEOUT)$@ thesis_benchmark.c $(LDLIBS) $(CLIBS)>> ptests\Makefile
2677echo.>> ptests\Makefile
2678echo #---------->> ptests\Makefile
2679echo.>> ptests\Makefile
2680echo ftest$(EXE) : ftest.F $(CGNSLIB)>> ptests\Makefile
2681echo 	$(F77) $(FOPTS) $(FEOUT)$@ ftest.F $(LDLIBS) $(FLIBS)>> ptests\Makefile
2682echo.>> ptests\Makefile
2683echo #---------->> ptests\Makefile
2684echo.>> ptests\Makefile
2685echo clean :>> ptests\Makefile
2686echo 	-$(RM) *.$(O)>> ptests\Makefile
2687echo.>> ptests\Makefile
2688echo allclean : clean>> ptests\Makefile
2689echo 	-$(RM) *.exe>> ptests\Makefile
2690echo 	-$(RM) *.pdb *.ilk>> ptests\Makefile
2691echo 	-$(RM) *.cgns *.cgio>> ptests\Makefile
2692
2693rem ----- create cgsntools\Makefile
2694
2695:cgnstools
2696if not exist cgnstools\nul goto done
2697
2698echo creating cgsntools\Makefile
2699echo # nmake makefile for the CGNS tools under Windows> cgnstools\Makefile
2700echo.>> cgnstools\Makefile
2701echo DOMAKE = nmake /nologo /f Makefile.win>> cgnstools\Makefile
2702echo !include ..\make.defs>> cgnstools\Makefile
2703echo.>> cgnstools\Makefile
2704echo defaults : cgnsview cgnscalc cgnsplot utilities>> cgnstools\Makefile
2705echo install : install-config install-cgnsview install-cgnscalc \>> cgnstools\Makefile
2706echo 	install-cgnsplot install-utilities>> cgnstools\Makefile
2707echo.>> cgnstools\Makefile
2708echo all : cgnsview cgnscalc cgnsplot utilities>> cgnstools\Makefile
2709echo install-all : install-config install-cgnsview install-cgnscalc \>> cgnstools\Makefile
2710echo 	install-cgnsplot install-utilities>> cgnstools\Makefile
2711echo.>> cgnstools\Makefile
2712echo clean :>> cgnstools\Makefile
2713echo 	cd cgnsview ^&^& $(DOMAKE) clean>> cgnstools\Makefile
2714echo 	cd cgnscalc ^&^& $(DOMAKE) clean>> cgnstools\Makefile
2715echo 	cd cgnsplot ^&^& $(DOMAKE) clean>> cgnstools\Makefile
2716echo 	cd utilities ^&^& $(DOMAKE) clean>> cgnstools\Makefile
2717echo 	cd calclib ^&^& $(DOMAKE) clean>> cgnstools\Makefile
2718echo 	cd tkogl ^&^& $(DOMAKE) clean>> cgnstools\Makefile
2719echo.>> cgnstools\Makefile
2720echo distclean : clean>> cgnstools\Makefile
2721echo 	-del make.win Makefile cgconfig.bat>> cgnstools\Makefile
2722echo.>> cgnstools\Makefile
2723echo cgnsview  : prog-cgnsview>> cgnstools\Makefile
2724echo cgnscalc  : prog-cgnscalc>> cgnstools\Makefile
2725echo cgnsplot  : prog-cgnsplot>> cgnstools\Makefile
2726echo utilities : prog-utilities>> cgnstools\Makefile
2727echo.>> cgnstools\Makefile
2728echo prog-cgnsview :>> cgnstools\Makefile
2729echo 	cd cgnsview ^&^& $(DOMAKE)>> cgnstools\Makefile
2730echo.>> cgnstools\Makefile
2731echo prog-cgnscalc : lib-calclib>> cgnstools\Makefile
2732echo 	cd cgnscalc ^&^& $(DOMAKE)>> cgnstools\Makefile
2733echo.>> cgnstools\Makefile
2734echo prog-cgnsplot : lib-tkogl>> cgnstools\Makefile
2735echo 	cd cgnsplot ^&^& $(DOMAKE)>> cgnstools\Makefile
2736echo.>> cgnstools\Makefile
2737echo prog-utilities : lib-calclib>> cgnstools\Makefile
2738echo 	cd utilities ^&^& $(DOMAKE)>> cgnstools\Makefile
2739echo.>> cgnstools\Makefile
2740echo lib-calclib :>> cgnstools\Makefile
2741echo 	cd calclib ^&^& $(DOMAKE)>> cgnstools\Makefile
2742echo.>> cgnstools\Makefile
2743echo lib-tkogl :>> cgnstools\Makefile
2744echo 	cd tkogl ^&^& $(DOMAKE)>> cgnstools\Makefile
2745echo.>> cgnstools\Makefile
2746echo install-config : $(BINDIR)>> cgnstools\Makefile
2747echo 	$(INSTALL) cgconfig.bat $(BINDIR)>> cgnstools\Makefile
2748echo.>> cgnstools\Makefile
2749echo $(BINDIR) : $(INSTALLDIR)>> cgnstools\Makefile
2750echo 	-mkdir $(BINDIR)>> cgnstools\Makefile
2751echo.>> cgnstools\Makefile
2752echo $(INSTALLDIR) :>> cgnstools\Makefile
2753echo 	-mkdir $(INSTALLDIR)>> cgnstools\Makefile
2754echo.>> cgnstools\Makefile
2755echo install-cgnsview :>> cgnstools\Makefile
2756echo 	cd cgnsview ^&^& $(DOMAKE) install>> cgnstools\Makefile
2757echo.>> cgnstools\Makefile
2758echo install-cgnscalc : lib-calclib>> cgnstools\Makefile
2759echo 	cd cgnscalc ^&^& $(DOMAKE) install>> cgnstools\Makefile
2760echo.>> cgnstools\Makefile
2761echo install-cgnsplot : lib-tkogl>> cgnstools\Makefile
2762echo 	cd cgnsplot ^&^& $(DOMAKE) install>> cgnstools\Makefile
2763echo.>> cgnstools\Makefile
2764echo install-utilities : lib-calclib>> cgnstools\Makefile
2765echo 	cd utilities ^&^& $(DOMAKE) install>> cgnstools\Makefile
2766
2767rem ----- create cgnstools\make.win
2768
2769echo creating cgnstools\make.win
2770echo # makefile include for %windir%> cgnstools\make.win
2771echo.>> cgnstools\make.win
2772echo #------------------------------------------------------->> cgnstools\make.win
2773echo # CGNS setup>> cgnstools\make.win
2774echo #------------------------------------------------------->> cgnstools\make.win
2775echo.>> cgnstools\make.win
2776echo CGNSDIR  = ..\..>> cgnstools\make.win
2777echo !include $(CGNSDIR)\make.defs>> cgnstools\make.win
2778echo CGNSLIB  = $(CGNSDIR)\$(LIBCGNS)>> cgnstools\make.win
2779echo.>> cgnstools\make.win
2780echo SHAREDIR = $(INSTALLDIR)\share>> cgnstools\make.win
2781echo.>> cgnstools\make.win
2782echo #------------------------------------------------------->> cgnstools\make.win
2783echo # linker options>> cgnstools\make.win
2784echo #------------------------------------------------------->> cgnstools\make.win
2785echo.>> cgnstools\make.win
2786echo LINK   = link>> cgnstools\make.win
2787echo LFLAGS = /nologo %lopts%>> cgnstools\make.win
2788echo.>> cgnstools\make.win
2789echo #------------------------------------------------------->> cgnstools\make.win
2790echo # path to the standard Tcl/Tk includes and libraries>> cgnstools\make.win
2791echo # the include path needs to include tcl.h, tk.h,>> cgnstools\make.win
2792echo # tkWinInt.h and the X11 include subdirectory>> cgnstools\make.win
2793echo #------------------------------------------------------->> cgnstools\make.win
2794echo.>> cgnstools\make.win
2795echo TCLINC = %tclinc%>> cgnstools\make.win
2796echo TCLLIB = %tcllib%>> cgnstools\make.win
2797echo TKLIB  = %tklib%>> cgnstools\make.win
2798echo.>> cgnstools\make.win
2799echo #------------------------------------------------------->> cgnstools\make.win
2800echo # TKOGLINCS give the include directories>> cgnstools\make.win
2801echo # TKOGLLIB is the library relative to cgnsplot directory>> cgnstools\make.win
2802echo #------------------------------------------------------->> cgnstools\make.win
2803echo.>> cgnstools\make.win
2804echo TKOGLINCS = $(TCLINC)>> cgnstools\make.win
2805echo TKOGLLIB  = ..\tkogl\tkogl.lib>> cgnstools\make.win
2806echo.>> cgnstools\make.win
2807echo #---------------------------------------------------------->> cgnstools\make.win
2808echo # compile options for cgnsplot>> cgnstools\make.win
2809echo #    -DNO_MESH_BOUNDARIES - no structured mesh boundaries>> cgnstools\make.win
2810echo #    -DNO_CUTTING_PLANE   - no cutting plane>> cgnstools\make.win
2811echo #---------------------------------------------------------->> cgnstools\make.win
2812echo.>> cgnstools\make.win
2813echo PLOTOPTS = %plotopts%>> cgnstools\make.win
2814echo.>> cgnstools\make.win
2815echo #------------------------------------------------------->> cgnstools\make.win
2816echo # set to trap math errors in calculator>> cgnstools\make.win
2817echo #------------------------------------------------------->> cgnstools\make.win
2818echo.>> cgnstools\make.win
2819echo MATHERR = /DUSE_MATHERR>> cgnstools\make.win
2820echo.>> cgnstools\make.win
2821echo #------------------------------------------------------->> cgnstools\make.win
2822echo # windows libraries>> cgnstools\make.win
2823echo #------------------------------------------------------->> cgnstools\make.win
2824echo.>> cgnstools\make.win
2825echo dlllibs = gdi32.lib comdlg32.lib>> cgnstools\make.win
2826echo.>> cgnstools\make.win
2827echo guilibs	= %mslib% oldnames.lib kernel32.lib advapi32.lib \>> cgnstools\make.win
2828echo 	user32.lib gdi32.lib comdlg32.lib winspool.lib>> cgnstools\make.win
2829echo.>> cgnstools\make.win
2830echo ogllibs = opengl32.lib glu32.lib>> cgnstools\make.win
2831if not "%winhtml%" == "" (
2832echo.>> cgnstools\make.win
2833echo #---------------------------------------------------------->> cgnstools\make.win
2834echo # build tools with HTMLhelp>> cgnstools\make.win
2835echo #---------------------------------------------------------->> cgnstools\make.win
2836echo.>> cgnstools\make.win
2837echo WINHTML_OPT = /DUSE_HTMLHELP>> cgnstools\make.win
2838echo WINHTML_OBJ = winhtml.obj>> cgnstools\make.win
2839echo WINHTML_INC = /I%winhtml%\include>> cgnstools\make.win
2840echo WINHTML_LIB = %winhtml%\lib\htmlhelp.lib>> cgnstools\make.win
2841)
2842
2843rem ----- create cgconfig.bat
2844
2845echo creating cgnstools\cgconfig.bat
2846echo rem configuration file for windows> cgnstools\cgconfig.bat
2847echo.>> cgnstools\cgconfig.bat
2848echo set CG_BIN_DIR=%instdir%\bin>> cgnstools\cgconfig.bat
2849echo set CG_LIB_DIR=%instdir%\share>> cgnstools\cgconfig.bat
2850if %target% == dll echo set PATH=%instdir%\lib;%%PATH%%>> cgnstools\cgconfig.bat
2851if exist %tcldir%\bin\nul (
2852echo set PATH=%tcldir%\bin;%%PATH%%>> cgnstools\cgconfig.bat
2853) else (
2854echo rem may need to add location of tcl/tk dlls to PATH>> cgnstools\cgconfig.bat
2855echo rem PATH=%tcldir%\bin;%%PATH%%>> cgnstools\cgconfig.bat
2856)
2857echo.>> cgnstools\cgconfig.bat
2858echo rem may need to set these if system can't find Tcl and TK scripts>> cgnstools\cgconfig.bat
2859echo rem set TCL_LIBRARY=c:/lib/tcl8.4.13/library>> cgnstools\cgconfig.bat
2860echo rem set TK_LIBRARY=c:/lib/tk8.4.13/library>> cgnstools\cgconfig.bat
2861
2862:done
2863endlocal
2864
2865