source: trunk/third/gmake/makefile.vms @ 15972

Revision 15972, 4.5 KB checked in by ghudson, 24 years ago (diff)
This commit was generated by cvs2svn to compensate for changes in r15971, which included commits to RCS files with non-trunk default branches.
Line 
1# Copyright (C) 1988, 1989, 1996, 1997 Free Software Foundation, Inc.
2# This file is part of GNU Make.
3#
4# VMS extensions from GNU Make 3.60 imported by
5#  Klaus Kämpf (kkaempf@rmi.de)
6# Modified for version 3.78.1 by Hartmut.Becker@compaq.com.
7#
8# GNU Make is free software; you can redistribute it and/or modify
9# it under the terms of the GNU General Public License as published by
10# the Free Software Foundation; either version 2, or (at your option)
11# any later version.
12#
13# GNU Make is distributed in the hope that it will be useful,
14# but WITHOUT ANY WARRANTY; without even the implied warranty of
15# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
16# GNU General Public License for more details.
17#
18# You should have received a copy of the GNU General Public License
19# along with GNU Make; see the file COPYING.  If not, write to
20# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
21# Boston, MA 02111-1307, USA.
22
23CC = cc
24CP = copy
25
26%.obj: %.c
27        $(CC) $(CFLAGS)/obj=$@ $<
28#
29#       Makefile for GNU Make
30#
31
32ifeq ($(CC),cc)
33CFLAGS = $(defines) /include=([],[.glob])/prefix=all/standard=relaxed
34else
35CFLAGS = $(defines) /include=([],[.glob])
36endif
37#LDFLAGS = /deb
38LDFLAGS =
39
40ifeq ($(CC),cc)
41defines = /define=("unlink=remove","HAVE_CONFIG_H","VMS","allocated_variable_expand_for_file=alloc_var_expand_for_file")
42else
43ifeq ($(ARCH),VAX)
44defines = /define=("HAVE_CONFIG_H","GCC_IS_NATIVE","VAX")
45else
46defines = /define=("HAVE_CONFIG_H","GCC_IS_NATIVE")
47endif
48endif
49
50LOAD_AVG = /define="NO_LDAV"
51
52# If you don't want archive support, comment these out.
53ARCHIVES = ,ar.obj,arscan.obj
54ARCHIVES_SRC = ar.c arscan.c
55
56# If your system needs extra libraries loaded in, define them here.
57# System V probably need -lPW for alloca.
58# if on vax, uncomment the following line
59#LOADLIBES = ,c.opt/opt
60ifeq ($(CC),cc)
61#LOADLIBES =,sys$$library:vaxcrtl.olb/lib
62CRT0 =
63else
64LOADLIBES =,gnu_cc_library:libgcc.olb/lib
65endif
66
67# If your system doesn't have alloca, or the one provided is bad,
68# get it from the Emacs distribution and define these.
69#ALLOCA = ,alloca.obj
70#ALLOCASRC = alloca.c
71
72# If there are remote execution facilities defined,
73# enable them with switches here (see remote-*.c).
74REMOTE =
75
76# Any extra object files your system needs.
77extras = ,signame.obj,remote-stub.obj,vmsfunctions.obj,vmsify.obj
78#,directory.obj
79# as an alternative:
80glob = ,[.glob]glob.obj,[.glob]fnmatch.obj
81getopt = ,getopt.obj,getopt1.obj
82# Directory to install `make' in.
83bindir = []
84# Directory to install the man page in.
85mandir = []
86# Number to put on the man page filename.
87manext = 1
88
89objs = commands.obj,job.obj,dir.obj,file.obj,misc.obj,\
90       main.obj,read.obj,remake.obj,rule.obj,implicit.obj,\
91       default.obj,variable.obj,expand.obj,function.obj,\
92       vpath.obj,version.obj$(ARCHIVES)$(ALLOCA)$(extras)$(getopt)$(glob)
93srcs = commands.c job.c dir.c file.c misc.c \
94        main.c read.c remake.c rule.c implicit.c \
95        default.c variable.c expand.c function.c \
96        vpath.c version.c vmsfunctions.c vmsify.c $(ARCHIVES_SRC) $(ALLOCASRC) \
97        commands.h dep.h filedef.h job.h make.h rule.h variable.h
98
99
100.PHONY: all doc
101all: config.h make.exe
102
103doc: make.info make.dvi
104
105
106make.exe: $(objs)
107        $(LD)$(LDFLAGS)/exe=$@ $^$(LOADLIBES)$(CRT0)
108
109.PHONY: clean realclean
110clean:
111        $$ purge [...]
112        -$(RM) make.exe;,*.obj;
113        -$(RM) *.opt;
114        -$(RM) [.glob]*.obj;
115
116# Automatically generated dependencies.
117commands.obj: commands.c make.h dep.h commands.h filedef.h variable.h job.h
118job.obj: job.c make.h commands.h job.h filedef.h variable.h
119dir.obj: dir.c make.h
120file.obj: file.c make.h commands.h dep.h filedef.h variable.h
121misc.obj: misc.c make.h dep.h
122main.obj: main.c make.h commands.h dep.h filedef.h variable.h job.h
123read.obj: read.c make.h commands.h dep.h filedef.h variable.h
124remake.obj: remake.c make.h commands.h job.h dep.h filedef.h
125rule.obj: rule.c make.h commands.h dep.h filedef.h variable.h rule.h
126implicit.obj: implicit.c make.h rule.h dep.h filedef.h
127default.obj: default.c make.h rule.h dep.h filedef.h commands.h variable.h
128variable.obj: variable.c make.h commands.h variable.h dep.h filedef.h
129expand.obj: expand.c make.h commands.h filedef.h variable.h
130function.obj: function.c make.h variable.h dep.h commands.h job.h
131vpath.obj: vpath.c make.h filedef.h variable.h
132version.obj: version.c config.h
133arscan.obj: arscan.c
134ar.obj: ar.c make.h filedef.h
135signame.obj: signame.c
136remote-stub.obj: remote-stub.c
137[.glob]glob.obj: [.glob]glob.c
138[.glob]fnmatch.obj: [.glob]fnmatch.c
139getopt.obj: getopt.c
140getopt1.obj: getopt1.c
141vmsfunctions.obj: vmsfunctions.c make.h vmsdir.h
142vmsify.obj: vmsify.c make.h
143
144config.h: config.h-vms
145        $(CP) $< $@
Note: See TracBrowser for help on using the repository browser.