$! BUILD.COM
$!    Creates Ftnchek from source code for Alpha VMS systems
$!
$ On Control_Y Then GoTo The_Exit
$ On Warning Then GoTo The_Exit
$!
$!
$!   Now compile everything and link it all.
$!   If you have xmalloc/xrealloc, remove the /DEFINE from shell_mung
$!   line and add them to the list of objs to link.
$!   The CC.COM script is used in place of CC command so that if something
$!   is changed, BUILD can be re-run and only re-compiles what changed.
$!   Invocation: @CC PROG DEPENDENCIES [/CFLAGS...]
$ IF F$SEARCH("shell_mung.c") .EQS. ""
$ THEN!	If shell_mung not found, work around it and tell the user
$ WRITE SYS$OUTPUT "SHELL_MUNG.C not found: wildcard expansion will not be"
$ WRITE SYS$OUTPUT "done.  SHELL_MUNG.C is distributed separately."
$ @CC ftnchek config.h,ftnchek.h,intrins.h,options.h  /STANDARD=RELAXED_ANSI89
$ ELSE
$ @CC ftnchek config.h,ftnchek.h,intrins.h,options.h  /STANDARD=RELAXED_ANSI89/DEFINE=(USE_SHELL_MUNG)
$ @CC shell_mung "" /STANDARD=VAXC/DEFINE=("xmalloc=malloc","xrealloc=realloc")
$ ENDIF
$ @CC advance config.h,ftnchek.h,symtab.h,tokdefs.h,forlex.h,advance.h  /STANDARD=RELAXED_ANSI89
$ @CC argcheck config.h,ftnchek.h,pgsymtab.h,symtab.h  /STANDARD=RELAXED_ANSI89
$ @CC calltree config.h,ftnchek.h,pgsymtab.h,symtab.h  /STANDARD=RELAXED_ANSI89
$ @CC comcheck config.h,ftnchek.h,pgsymtab.h,symtab.h  /STANDARD=RELAXED_ANSI89
$ @CC exprtype config.h,ftnchek.h,symtab.h,tokdefs.h  /STANDARD=RELAXED_ANSI89
$ @CC forlex config.h,ftnchek.h,symtab.h,tokdefs.h,forlex.h,advance.h  /STANDARD=RELAXED_ANSI89
$ @CC fortran config.h,ftnchek.h,symtab.h,fortran.c  /STANDARD=RELAXED_ANSI89
$ @CC include	config.h,ftnchek.h,symtab.h,forlex.h,advance.h  /STANDARD=RELAXED_ANSI89
$ @CC intake config.h,ftnchek.h,symtab.h,tokdefs.h,forlex.h,advance.h  /STANDARD=RELAXED_ANSI89
$ @CC intrins config.h,ftnchek.h,intrins.h,symtab.h  /STANDARD=RELAXED_ANSI89
$ @CC iokeywds config.h,ftnchek.h,symtab.h,tokdefs.h,iokeywds.h  /STANDARD=RELAXED_ANSI89
$ @CC keywords config.h,ftnchek.h,symtab.h,tokdefs.h,forlex.h  /STANDARD=RELAXED_ANSI89
$ @CC labels config.h,ftnchek.h,symtab.h  /STANDARD=RELAXED_ANSI89
$ @CC loccheck config.h,ftnchek.h,loccheck.h,plsymtab.h,symtab.h  /STANDARD=RELAXED_ANSI89
$ @CC makedcls config.h,ftnchek.h,plsymtab.h,symtab.h  /STANDARD=RELAXED_ANSI89
$ @CC makehtml config.h,ftnchek.h,symtab.h,plsymtab.h,tokdefs.h  /STANDARD=RELAXED_ANSI89
$ @CC message config.h,ftnchek.h  /STANDARD=RELAXED_ANSI89
$ @CC options config.h,ftnchek.h,options.h  /STANDARD=RELAXED_ANSI89
$ @CC pgsymtab config.h,ftnchek.h,pgsymtab.h,symtab.h  /STANDARD=RELAXED_ANSI89
$ @CC plsymtab config.h,ftnchek.h,plsymtab.h,symtab.h  /STANDARD=RELAXED_ANSI89
$ @CC prlists config.h,ftnchek.h,symtab.h,symutils.h  /STANDARD=RELAXED_ANSI89
$ @CC prlocsym config.h,ftnchek.h,loccheck.h,plsymtab.h,symtab.h  /STANDARD=RELAXED_ANSI89
$ @CC project config.h,ftnchek.h,symtab.h  /STANDARD=RELAXED_ANSI89
$ @CC symspace config.h,ftnchek.h,symtab.h,symspace.h,symutils.h  /STANDARD=RELAXED_ANSI89
$ @CC symtab config.h,ftnchek.h,iokeywds.h,intrins.h,symtab.h,tokdefs.h  /STANDARD=RELAXED_ANSI89
$ @CC symutils config.h,ftnchek.h,symtab.h,symutils.h  /STANDARD=RELAXED_ANSI89
$ @CC utils config.h,utils.h  /STANDARD=RELAXED_ANSI89
$ IF F$SEARCH("shell_mung.obj") .EQS. ""
$ THEN
$ @LINK ftnchek,advance,argcheck,calltree,comcheck,exprtype,forlex,fortran,include,-
intake,intrins,iokeywds,keywords,labels,loccheck,makedcls,makehtml,message,options,-
pgsymtab,plsymtab,prlists,prlocsym,project,symspace,symtab,symutils,utils
$ ELSE
$ @LINK ftnchek,advance,argcheck,calltree,comcheck,exprtype,forlex,fortran,include,-
intake,intrins,iokeywds,keywords,labels,loccheck,makedcls,makehtml,message,options,-
pgsymtab,plsymtab,prlists,prlocsym,project,symspace,symtab,symutils,utils,-
shell_mung
$ ENDIF
$ Set NoVerify
$ WRITE SYS$OUTPUT "Ftnchek created"
$ WRITE SYS$OUTPUT "To make it runnable as a command"
$ WRITE SYS$OUTPUT "say   $ FTNCHEK :== $diskname:[pathname]FTNCHEK"
$ On Control_Y Then GoTo Help_Exit
$ On Warning Then GoTo Help_Exit
$! Create the help library.
$ LIBR/CREATE/HELP FTNCHEK.HLB FTNCHEK.HLP
$ WRITE SYS$OUTPUT "Help library created -- to access it via HELP"
$ WRITE SYS$OUTPUT "say   $ DEFINE HLP$LIBRARY diskname:[pathname]FTNCHEK.HLB"
$ EXIT
$ Help_Exit:
$ Set NoVerify
$ WRITE SYS$OUTPUT "Error- help library not created"
$ EXIT
$ The_Exit:
$ Set NoVerify
$ WRITE SYS$OUTPUT "Error- BUILD failed."
$ EXIT