mirror of
https://git.savannah.gnu.org/git/make.git
synced 2024-12-27 06:27:51 +00:00
Add VMS updates from Martin Zinser.
This commit is contained in:
parent
ae003efd61
commit
2de1b62112
3 changed files with 65 additions and 5 deletions
|
@ -1,3 +1,8 @@
|
||||||
|
2002-09-30 Martin P.J. Zinser <zinser@decus.de>
|
||||||
|
|
||||||
|
* makefile.com: Updates for GNU make 3.80.
|
||||||
|
* makefile.vms: Ditto.
|
||||||
|
|
||||||
2002-09-23 Paul D. Smith <psmith@gnu.org>
|
2002-09-23 Paul D. Smith <psmith@gnu.org>
|
||||||
|
|
||||||
* read.c (enum make_word_type): Remove w_comment.
|
* read.c (enum make_word_type): Remove w_comment.
|
||||||
|
|
59
makefile.com
59
makefile.com
|
@ -4,9 +4,11 @@ $!
|
||||||
$! P1 is non-empty if you want to link with the VAXCRTL library instead
|
$! P1 is non-empty if you want to link with the VAXCRTL library instead
|
||||||
$! of the shareable executable
|
$! of the shareable executable
|
||||||
$! P2 = DEBUG will build an image with debug information
|
$! 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
|
$! 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
|
$! hb
|
||||||
$! But don't ask Martin Zinser about the lines, I added/changed.
|
$! 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
|
$! in case somebody set up her/his own symbol for cc
|
||||||
$ set symbol/scope=(nolocal,noglobal)
|
$ 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
|
$! Look for the compiler used
|
||||||
$!
|
$!
|
||||||
$ lval = ""
|
$ lval = ""
|
||||||
|
@ -49,7 +59,17 @@ $ lopt = "/debug"
|
||||||
$ else
|
$ else
|
||||||
$ lopt = ""
|
$ lopt = ""
|
||||||
$ endif
|
$ 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
|
$ copy config.h-vms config.h
|
||||||
$ n=0
|
$ n=0
|
||||||
$ open/write optf make.opt
|
$ 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;*
|
$ if f$search("make.opt").nes."" then $ del make.opt;*
|
||||||
$ exit
|
$ 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
|
$ compileit : subroutine
|
||||||
$ ploc = f$locate("]",p1)
|
$ ploc = f$locate("]",p1)
|
||||||
$ filnam = p1
|
$ filnam = p1
|
||||||
$ if ploc .lt. f$length(p1) then filnam=f$extract(ploc+1,100,p1)
|
$ if ploc .lt. f$length(p1) then filnam=f$extract(ploc+1,100,p1)
|
||||||
$ write optf "''filnam'"
|
$ 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
|
$ exit
|
||||||
$ endsubroutine : compileit
|
$ endsubroutine : compileit
|
||||||
|
|
|
@ -4,6 +4,7 @@
|
||||||
# VMS extensions from GNU Make 3.60 imported by
|
# VMS extensions from GNU Make 3.60 imported by
|
||||||
# Klaus Kämpf (kkaempf@rmi.de)
|
# Klaus Kämpf (kkaempf@rmi.de)
|
||||||
# Modified for version 3.78.1 by Hartmut.Becker@compaq.com.
|
# Modified for version 3.78.1 by Hartmut.Becker@compaq.com.
|
||||||
|
# Modified for version 3.80 by zinser@decus.de
|
||||||
#
|
#
|
||||||
# GNU Make is free software; you can redistribute it and/or modify
|
# GNU Make is free software; you can redistribute it and/or modify
|
||||||
# it under the terms of the GNU General Public License as published by
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
@ -86,11 +87,11 @@ mandir = []
|
||||||
# Number to put on the man page filename.
|
# Number to put on the man page filename.
|
||||||
manext = 1
|
manext = 1
|
||||||
|
|
||||||
objs = commands.obj,job.obj,dir.obj,file.obj,misc.obj,\
|
objs = commands.obj,job.obj,dir.obj,file.obj,misc.obj,hash.obj,\
|
||||||
main.obj,read.obj,remake.obj,rule.obj,implicit.obj,\
|
main.obj,read.obj,remake.obj,rule.obj,implicit.obj,\
|
||||||
default.obj,variable.obj,expand.obj,function.obj,\
|
default.obj,variable.obj,expand.obj,function.obj,\
|
||||||
vpath.obj,version.obj$(ARCHIVES)$(ALLOCA)$(extras)$(getopt)$(glob)
|
vpath.obj,version.obj$(ARCHIVES)$(ALLOCA)$(extras)$(getopt)$(glob)
|
||||||
srcs = commands.c job.c dir.c file.c misc.c \
|
srcs = commands.c job.c dir.c file.c misc.c hash.c\
|
||||||
main.c read.c remake.c rule.c implicit.c \
|
main.c read.c remake.c rule.c implicit.c \
|
||||||
default.c variable.c expand.c function.c \
|
default.c variable.c expand.c function.c \
|
||||||
vpath.c version.c vmsfunctions.c vmsify.c $(ARCHIVES_SRC) $(ALLOCASRC) \
|
vpath.c version.c vmsfunctions.c vmsify.c $(ARCHIVES_SRC) $(ALLOCASRC) \
|
||||||
|
@ -119,6 +120,7 @@ job.obj: job.c make.h commands.h job.h filedef.h variable.h
|
||||||
dir.obj: dir.c make.h
|
dir.obj: dir.c make.h
|
||||||
file.obj: file.c make.h commands.h dep.h filedef.h variable.h
|
file.obj: file.c make.h commands.h dep.h filedef.h variable.h
|
||||||
misc.obj: misc.c make.h dep.h
|
misc.obj: misc.c make.h dep.h
|
||||||
|
hash.obj: hash.c make.h hash.h
|
||||||
main.obj: main.c make.h commands.h dep.h filedef.h variable.h job.h
|
main.obj: main.c make.h commands.h dep.h filedef.h variable.h job.h
|
||||||
read.obj: read.c make.h commands.h dep.h filedef.h variable.h
|
read.obj: read.c make.h commands.h dep.h filedef.h variable.h
|
||||||
remake.obj: remake.c make.h commands.h job.h dep.h filedef.h
|
remake.obj: remake.c make.h commands.h job.h dep.h filedef.h
|
||||||
|
|
Loading…
Reference in a new issue