From 9e443adaf679b071fb3319cfc3259e322dcb6e57 Mon Sep 17 00:00:00 2001 From: Roland McGrath Date: Wed, 20 Mar 1996 14:57:41 +0000 Subject: Tue Mar 19 20:21:34 1996 Roland McGrath Merged VMS port from Klaus Kaempf . * make.h (PARAMS): New macro. * config.h-vms: New file. * makefile.com: New file. * makefile.vms: New file. * readme.vms: New file. * vmsdir.h: New file. * vmsfunctions.c: New file. * vmsify.c: New file. * file.h: Renamed to filedef.h to avoid conflict with VMS system hdr. * ar.c: Added prototypes and changes for VMS. * commands.c: Likewise. * commands.h: Likewise. * default.c: Likewise. * dep.h: Likewise. * dir.c: Likewise. * expand.c: Likewise. * file.c: Likewise. * function.c: Likewise. * implicit.c: Likewise. * job.c: Likewise. * job.h: Likewise. * main.c: Likewise. * make.h: Likewise. * misc.c: Likewise. * read.c: Likewise. * remake.c: Likewise. * remote-stub.c: Likewise. * rule.c: Likewise. * rule.h: Likewise. * variable.c: Likewise. * variable.h: Likewise. * vpath.c: Likewise. * compatMakefile (srcs): Rename file.h to filedef.h. --- makefile.vms | 121 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 121 insertions(+) create mode 100644 makefile.vms (limited to 'makefile.vms') diff --git a/makefile.vms b/makefile.vms new file mode 100644 index 0000000..d98afa8 --- /dev/null +++ b/makefile.vms @@ -0,0 +1,121 @@ +# Copyright (C) 1988, 1989 Free Software Foundation, Inc. +# This file is part of GNU Make. +# +# VMS extensions from GNU Make 3.60 imported by +# Klaus Kämpf (kkaempf@didymus.rmi.de) +# +# 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 +# the Free Software Foundation; either version 1, or (at your option) +# any later version. +# +# GNU Make is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with GNU Make; see the file COPYING. If not, write to +# the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA. + +CC = cc/warn +CP = copy + +%.obj: %.c + $(CC) $(CFLAGS)/obj=$@ $< +# +# Makefile for GNU Make +# + +CFLAGS = $(defines) /debug/noopt/include=([],[.glob]) +#LDFLAGS = /deb +LDFLAGS = + +defines = /define=("unlink=remove","HAVE_CONFIG_H","VMS","NO_ARCHIVES","allocated_variable_expand_for_file=alloc_var_expand_for_file") + +LOAD_AVG = /define="NO_LDAV" + +# If you don't want archive support, comment these out. +#ARCHIVES = ,ar.obj,arscan.obj +#ARCHIVES_SRC = ar.c arscan.c + +# If your system needs extra libraries loaded in, define them here. +# System V probably need -lPW for alloca. +# if on vax, uncomment the following line +#LOADLIBES = ,c.opt/opt +LOADLIBES = + +# If your system doesn't have alloca, or the one provided is bad, +# get it from the Emacs distribution and define these. +ALLOCA = ,alloca.obj +ALLOCASRC = alloca.c + +# If there are remote execution facilities defined, +# enable them with switches here (see remote-*.c). +REMOTE = + +# Any extra object files your system needs. +extras = ,signame.obj,remote-stub.obj,vmsfunctions.obj,vmsify.obj +#,directory.obj +# as an alternative: +glob = ,[.glob]glob.obj,[.glob]fnmatch.obj +getopt = ,getopt.obj,getopt1.obj +# Directory to install `make' in. +bindir = [] +# Directory to install the man page in. +mandir = [] +# Number to put on the man page filename. +manext = 1 + +objs = commands.obj,job.obj,dir.obj,file.obj,misc.obj,\ + main.obj,read.obj,remake.obj,rule.obj,implicit.obj,\ + default.obj,variable.obj,expand.obj,function.obj,\ + vpath.obj,version.obj$(ARCHIVES)$(ALLOCA)$(extras)$(getopt)$(glob) +srcs = commands.c job.c dir.c file.c misc.c \ + main.c read.c remake.c rule.c implicit.c \ + default.c variable.c expand.c function.c \ + vpath.c version.c vmsfunctions.c vmsify.c $(ARCHIVES_SRC) $(ALLOCASRC) \ + commands.h dep.h filedef.h job.h make.h rule.h variable.h + + +.PHONY: all doc +all: config.h make.exe + +doc: make.info make.dvi + + +make.exe: $(objs) + $(LD)$(LDFLAGS)/exe=$@ $^$(LOADLIBES) + +.PHONY: clean realclean +clean: + -$(RM) make.exe;,*.obj;* + +# Automatically generated dependencies. +commands.obj: commands.c make.h dep.h commands.h filedef.h variable.h job.h +job.obj: job.c make.h commands.h job.h filedef.h variable.h +dir.obj: dir.c make.h +file.obj: file.c make.h commands.h dep.h filedef.h variable.h +misc.obj: misc.c make.h dep.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 +remake.obj: remake.c make.h commands.h job.h dep.h filedef.h +rule.obj: rule.c make.h commands.h dep.h filedef.h variable.h rule.h +implicit.obj: implicit.c make.h rule.h dep.h filedef.h +default.obj: default.c make.h rule.h dep.h filedef.h commands.h variable.h +variable.obj: variable.c make.h commands.h variable.h dep.h filedef.h +expand.obj: expand.c make.h commands.h filedef.h variable.h +function.obj: function.c make.h variable.h dep.h commands.h job.h +vpath.obj: vpath.c make.h filedef.h variable.h +version.obj: version.c +arscan.obj: arscan.c +ar.obj: ar.c make.h filedef.h +signame.obj: signame.c +remote-stub.obj: remote-stub.c +[.glob]glob.obj: [.glob]glob.c +[.glob]fnmatch.obj: [.glob]fnmatch.c +getopt.obj: getopt.c +getopt1.obj: getopt1.c + +config.h: config.h-vms + $(CP) $< $@ -- cgit v1.2.3