aboutsummaryrefslogtreecommitdiffhomepage
path: root/libslang/src/VMSMAKE.COM
diff options
context:
space:
mode:
Diffstat (limited to 'libslang/src/VMSMAKE.COM')
-rw-r--r--libslang/src/VMSMAKE.COM119
1 files changed, 119 insertions, 0 deletions
diff --git a/libslang/src/VMSMAKE.COM b/libslang/src/VMSMAKE.COM
new file mode 100644
index 0000000..7b745b6
--- /dev/null
+++ b/libslang/src/VMSMAKE.COM
@@ -0,0 +1,119 @@
+$ ver = f$verify(0)
+$! Makefile for VMS
+$ Make = ""
+$ ccopt="/include=[]"
+$ cc = "CC"
+$!
+$! Check for MMK/MMS
+$!
+$ If F$Search ("Sys$System:MMS.EXE") .nes. "" Then Make = "MMS"
+$ If F$Type (MMK) .eqs. "STRING" Then Make = "MMK"
+$!
+$! Look for the compiler used
+$!
+$ if p1.nes.""
+$ then
+$ if f$locate("G",p1).ne.f$length(p1) then goto gnuc
+$ if f$locate("V",p1).ne.f$length(p1) then goto vaxc
+$ if f$locate("D",p1).ne.f$length(p1) then goto decc
+$ endif
+$!
+$! Option file for test applications
+$!
+$ open/write optf client.opt
+$ write optf "slang/library"
+$!
+$DECC:
+$ if f$search("SYS$SYSTEM:DECC$COMPILER.EXE").nes.""
+$ then
+$ write sys$output "DECC compiler found"
+$ defs = "FLOAT_TYPE"
+$ ccopt = "/decc/prefix=all"+ccopt
+$ goto compile
+$ endif
+$!
+$VAXC:
+$ if f$search("SYS$SYSTEM:VAXC.EXE").nes.""
+$ then
+$ write sys$output "VAXC compiler found"
+$ defs = "FLOAT_TYPE"
+$ write optf "sys$library:vaxcrtl.exe/share"
+$ goto compile
+$ endif
+$!
+$GNUC:
+$ if f$trnlnm("GNU_CC").nes.""
+$ then
+$ write sys$output "GNUC compiler found"
+$ defs = "FLOAT_TYPE"
+$ cc="GCC"
+$ ccopt = "/warnings/nocase_hack/nolist/optimize=4"+ccopt
+$ write optf "gnu_cc:[000000]gcclib.olb/lib"
+$ goto compile
+$ endif
+$!
+$! No compiler found - Warning and Exit
+$!
+$ close optf
+$ type sys$input
+FATAL: No C-compiler found - Can't build Slang on this system.
+
+$ goto The_exit
+$!
+$COMPILE:
+$!
+$ close optf
+$ files = "slang,slparse,slmath,slstd,slarray,slregexp,slerr"
+$ files = files + ",slrline,slgetkey,slvmstty,slkeymap,sltoken,slcurses"
+$ files = files + ",slmemcpy,slmemcmp,slmemset,slmemchr,slmisc"
+$ files = files + ",sldisply,slsmg,slsearch,slcmd,slmalloc,slclass"
+$ files = files + ",slprepr,sltypes,slscroll,slsignal,slkeypad,slerrno"
+$ files = files + ",slstruct,slcmplex,slarrfun,slimport,slpath,slarith,slassoc"
+$ files = files + ",slcompat,slposdir,slstdio,slproc,sltime,slstrops"
+$ files = files + ",slbstr,slpack,slintall,slistruc,slposio,slnspace,slarrmis"
+$ files = files + ",slospath,slscanf,slstring"
+$!
+$! simple make
+$!
+$ copy slconfig.h config.h
+$ purge config.h
+$ if (Make .nes. "")
+$ then
+$ 'Make'/Macro = (cc="''CC'", cflags="''CCOPt'/define=(''defs')")
+$ else
+$ count = 0
+$ olbf = f$search("slang.olb")
+$ if (olbf .eqs. "") then library/object/create slang.olb
+$ next_file:
+$ f = f$element(count, ",", files)
+$ count = count + 1
+$ if (f .eqs. ",") then goto testfiles
+$ objf = f$search("''f'.obj")
+$ if (objf .eqs. "") then goto compile_it
+$ tobj = f$file_attr(objf, "RDT")
+$ tc = f$file_attr("''f'.c", "RDT")
+$ if (f .eqs. "sysdep")
+$ then
+$ if ( f$cvtime(tobj) .lts. f$cvtime(f$file_attr("vms.c","RDT"))) -
+ then goto compile_it
+$ endif
+$ if (f$cvtime(tc) .lts. f$cvtime(tobj)) then goto next_file
+$ compile_it:
+$ write sys$output "''CC' ''CCOPT'/define=(''defs') ''f'.c"
+$ 'CC' 'CCOPT'/define=('defs') 'f'.c
+$ library/replace slang.olb 'f'
+$ goto next_file
+$ testfiles:
+$ purge slang.olb
+$ write sys$output "''CC' ''CCOPT'/define=(''defs') calc.c"
+$ 'CC' 'CCOPT'/define=('defs') calc.c
+$ write sys$output "link/exec=calc calc client.opt/opt"
+$ link/exec=calc calc, client.opt/opt
+$! write sys$output "''CC' ''CCOPT'/define=(''defs') worm.c"
+$! 'CC' 'CCOPT'/define=('defs') worm.c
+$! write sys$output "link/exec=worm worm client.opt/opt"
+$! link/exec=worm worm, client.opt/opt
+$ endif
+$The_exit:
+$ x = f$verify(ver)
+$ exit $status