summaryrefslogtreecommitdiff
path: root/makefile.com
diff options
context:
space:
mode:
authorPaul Smith <psmith@gnu.org>2002-10-01 15:32:14 +0000
committerPaul Smith <psmith@gnu.org>2002-10-01 15:32:14 +0000
commit2de1b621128ed0a4845cbfd71cf7145c508579a3 (patch)
treeed1761a07930c142070e7b7e0ad5e1978aaee6a1 /makefile.com
parentae003efd6114af0c9a8750034182b883183500a7 (diff)
downloadgunmake-2de1b621128ed0a4845cbfd71cf7145c508579a3.tar.gz
Add VMS updates from Martin Zinser.
Diffstat (limited to 'makefile.com')
-rw-r--r--makefile.com59
1 files changed, 56 insertions, 3 deletions
diff --git a/makefile.com b/makefile.com
index 4d55923..dd94bc3 100644
--- a/makefile.com
+++ b/makefile.com
@@ -4,9 +4,11 @@ $!
$! P1 is non-empty if you want to link with the VAXCRTL library instead
$! of the shareable executable
$! P2 = DEBUG will build an image with debug information
+$! P3 = WALL will enable all warning messages (some are suppressed since
+$! one macro intentionally causes an error condition)
$!
$! In case of problems with the install you might contact me at
-$! zinser@decus.decus.de (preferred) or martin_zinser@exchange.de
+$! zinser@decus.de (preferred) or zinser@sysdev.deutsche-boerse.com
$
$! hb
$! But don't ask Martin Zinser about the lines, I added/changed.
@@ -15,6 +17,14 @@ $ on error then $ goto cleanup
$! in case somebody set up her/his own symbol for cc
$ set symbol/scope=(nolocal,noglobal)
$!
+$! Just some general constants...
+$!
+$ true = 1
+$ false = 0
+$ tmpnam = "temp_" + f$getjpi("","pid")
+$ tt = tmpnam + ".txt"
+$ tc = tmpnam + ".c"
+$!
$! Look for the compiler used
$!
$ lval = ""
@@ -49,7 +59,17 @@ $ lopt = "/debug"
$ else
$ lopt = ""
$ endif
-$ filelist = "alloca ar arscan commands default dir expand file function hash implicit job main misc read remake remote-stub rule signame variable version vmsfunctions vmsify vpath [.glob]glob [.glob]fnmatch getopt1 getopt"
+$!
+$! Do we want to see all warnings
+$!
+$ if (p3.nes."WALL")
+$ then
+$ gosub check_cc_qual
+$ endif
+$ filelist = "alloca ar arscan commands default dir expand file function " + -
+ "hash implicit job main misc read remake remote-stub rule " + -
+ "signame variable version vmsfunctions vmsify vpath " + -
+ "[.glob]glob [.glob]fnmatch getopt1 getopt"
$ copy config.h-vms config.h
$ n=0
$ open/write optf make.opt
@@ -75,11 +95,44 @@ $ if f$trnlnm("OPTF").nes."" then $ close optf
$ if f$search("make.opt").nes."" then $ del make.opt;*
$ exit
$!
+$!------------------------------------------------------------------------------
+$!
+$! Check if this is a define relating to the properties of the C/C++
+$! compiler
+$!
+$CHECK_CC_QUAL:
+$ open/write tmpc 'tc
+$ ccqual = "/warn=(disable=questcompare)"
+$ write tmpc "#include <stdio.h>"
+$ write tmpc "unsigned int i = 1;"
+$ write tmpc "int main(){"
+$ write tmpc "if (i < 0){printf(""Mission impossible\n"");}}"
+$ close tmpc
+$ gosub cc_qual_check
+$ return
+$!
+$!------------------------------------------------------------------------------
+$!
+$! Check for properties of C/C++ compiler
+$!
+$CC_QUAL_CHECK:
+$ cc_qual = false
+$ set message/nofac/noident/nosever/notext
+$ cc 'ccqual' 'tmpnam'
+$ if $status then cc_qual = true
+$ set message/fac/ident/sever/text
+$ delete/nolog 'tmpnam'.*;*
+$ if cc_qual then ccopt = ccopt + ccqual
+$ return
+$!------------------------------------------------------------------------------
+$!
$ compileit : subroutine
$ ploc = f$locate("]",p1)
$ filnam = p1
$ if ploc .lt. f$length(p1) then filnam=f$extract(ploc+1,100,p1)
$ write optf "''filnam'"
-$ cc'ccopt'/include=([],[.glob])/define=("allocated_variable_expand_for_file=alloc_var_expand_for_file","unlink=remove","HAVE_CONFIG_H","VMS") 'p1'
+$ cc'ccopt'/include=([],[.glob]) -
+ /define=("allocated_variable_expand_for_file=alloc_var_expand_for_file","unlink=remove","HAVE_CONFIG_H","VMS") -
+ 'p1'
$ exit
$ endsubroutine : compileit