source: trunk/third/gmake/SMakefile @ 15972

Revision 15972, 8.4 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# NOTE: If you have no `make' program at all to process this makefile, run
2# `build.sh' instead.
3#
4# Copyright (C) 1988, 89, 91, 92, 93, 94, 1995 Free Software Foundation, Inc.
5# This file is part of GNU Make.
6#
7# GNU Make is free software; you can redistribute it and/or modify
8# it under the terms of the GNU General Public License as published by
9# the Free Software Foundation; either version 2, or (at your option)
10# any later version.
11#
12# GNU Make is distributed in the hope that it will be useful,
13# but WITHOUT ANY WARRANTY; without even the implied warranty of
14# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15# GNU General Public License for more details.
16#
17# You should have received a copy of the GNU General Public License
18# along with GNU Make; see the file COPYING.  If not, write to
19# the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
20# Boston, MA 02111-1307, USA.
21
22#
23#       Makefile for GNU Make
24#
25
26# Ultrix 2.2 make doesn't expand the value of VPATH.
27VPATH = /make-3.79.1/
28# This must repeat the value, because configure will remove `VPATH = .'.
29srcdir = /make-3.79.1/
30
31CC = sc
32RM = delete
33MAKE = smake
34
35CFLAGS =
36CPPFLAGS =
37LDFLAGS =
38
39# Define these for your system as follows:
40#       -DNO_ARCHIVES           To disable `ar' archive support.
41#       -DNO_FLOAT              To avoid using floating-point numbers.
42#       -DENUM_BITFIELDS        If the compiler isn't GCC but groks enum foo:2.
43#                               Some compilers apparently accept this
44#                               without complaint but produce losing code,
45#                               so beware.
46# NeXT 1.0a uses an old version of GCC, which required -D__inline=inline.
47# See also `config.h'.
48defines =
49
50# Which flavor of remote job execution support to use.
51# The code is found in `remote-$(REMOTE).c'.
52REMOTE = stub
53
54# If you are using the GNU C library, or have the GNU getopt functions in
55# your C library, you can comment these out.
56GETOPT = getopt.o getopt1.o
57GETOPT_SRC = $(srcdir)getopt.c $(srcdir)getopt1.c $(srcdir)getopt.h
58
59# If you are using the GNU C library, or have the GNU glob functions in
60# your C library, you can comment this out.  GNU make uses special hooks
61# into the glob functions to be more efficient (by using make's directory
62# cache for globbing), so you must use the GNU functions even if your
63# system's C library has the 1003.2 glob functions already.  Also, the glob
64# functions in the AIX and HPUX C libraries are said to be buggy.
65GLOB = Lib glob/glob.lib
66
67# If your system doesn't have alloca, or the one provided is bad, define this.
68ALLOCA = alloca.o
69ALLOCA_SRC = $(srcdir)alloca.c
70
71# If your system needs extra libraries loaded in, define them here.
72# System V probably need -lPW for alloca.  HP-UX 7.0's alloca in
73# libPW.a is broken on HP9000s300 and HP9000s400 machines.  Use
74# alloca.c instead on those machines.
75LOADLIBES =
76
77# Any extra object files your system needs.
78extras = amiga.o
79
80# Common prefix for machine-independent installed files.
81prefix =
82# Common prefix for machine-dependent installed files.
83exec_prefix =
84
85# Directory to install `make' in.
86bindir = sc:c
87# Directory to find libraries in for `-lXXX'.
88libdir = lib:
89# Directory to search by default for included makefiles.
90includedir = include:
91# Directory to install the Info files in.
92infodir = doc:
93# Directory to install the man page in.
94mandir = t:
95# Number to put on the man page filename.
96manext = 1
97# Prefix to put on installed `make' binary file name.
98binprefix =
99# Prefix to put on installed `make' man page file name.
100manprefix = $(binprefix)
101
102# Whether or not make needs to be installed setgid.
103# The value should be either `true' or `false'.
104# On many systems, the getloadavg function (used to implement the `-l'
105# switch) will not work unless make is installed setgid kmem.
106install_setgid = false
107# Install make setgid to this group so it can read /dev/kmem.
108group = sys
109
110# Program to install `make'.
111INSTALL_PROGRAM = copy
112# Program to install the man page.
113INSTALL_DATA = copy
114# Generic install program.
115INSTALL = copy
116
117# Program to format Texinfo source into Info files.
118MAKEINFO = makeinfo
119# Program to format Texinfo source into DVI files.
120TEXI2DVI = texi2dvi
121
122# Programs to make tags files.
123ETAGS = etags -w
124CTAGS = ctags -w
125
126objs = commands.o job.o dir.o file.o misc.o main.o read.o remake.o      \
127       rule.o implicit.o default.o variable.o expand.o function.o       \
128       vpath.o version.o ar.o arscan.o signame.o remote-$(REMOTE).o     \
129       $(GLOB) $(GETOPT) $(ALLOCA) $(extras)
130srcs = $(srcdir)commands.c $(srcdir)job.c $(srcdir)dir.c             \
131       $(srcdir)file.c $(srcdir)getloadavg.c $(srcdir)misc.c         \
132       $(srcdir)main.c $(srcdir)read.c $(srcdir)remake.c             \
133       $(srcdir)rule.c $(srcdir)implicit.c $(srcdir)default.c        \
134       $(srcdir)variable.c $(srcdir)expand.c $(srcdir)function.c     \
135       $(srcdir)vpath.c $(srcdir)version.c                            \
136       $(srcdir)remote-$(REMOTE).c                                     \
137       $(srcdir)ar.c $(srcdir)arscan.c                                \
138       $(srcdir)signame.c $(srcdir)signame.h $(GETOPT_SRC)            \
139       $(srcdir)commands.h $(srcdir)dep.h $(srcdir)file.h            \
140       $(srcdir)job.h $(srcdir)make.h $(srcdir)rule.h                \
141       $(srcdir)variable.h $(ALLOCA_SRC) $(srcdir)config.h.in
142
143
144.SUFFIXES:
145.SUFFIXES: .o .c .h .ps .dvi .info .texinfo
146
147all: make
148info: make.info
149dvi: make.dvi
150# Some makes apparently use .PHONY as the default goal if it is before `all'.
151.PHONY: all check info dvi
152
153make.info: make.texinfo
154        $(MAKEINFO) -I$(srcdir) $(srcdir)make.texinfo -o make.info
155
156make.dvi: make.texinfo
157        $(TEXI2DVI) $(srcdir)make.texinfo
158
159make.ps: make.dvi
160        dvi2ps make.dvi > make.ps
161
162make: $(objs) glob/glob.lib
163        $(CC) Link $(LDFLAGS) $(objs) $(LOADLIBES) To make.new
164        -delete quiet make
165        rename make.new make
166
167# -I. is needed to find config.h in the build directory.
168.c.o:
169        $(CC) $(defines) IDir "" IDir $(srcdir)glob \
170              $(CPPFLAGS) $(CFLAGS) $< $(OUTPUT_OPTION)
171
172glob/glob.lib:
173        execute <<
174            cd glob
175            smake
176<
177
178tagsrcs = $(srcs) $(srcdir)remote-*.c
179TAGS: $(tagsrcs)
180        $(ETAGS) $(tagsrcs)
181tags: $(tagsrcs)
182        $(CTAGS) $(tagsrcs)
183
184.PHONY: install installdirs
185install:
186        copy make sc:c
187
188loadavg: loadavg.c config.h
189        $(CC) $(defines) -DTEST -I. -I$(srcdir) $(CFLAGS) $(LDFLAGS) \
190              loadavg.c $(LOADLIBES) -o $@
191
192clean: glob-clean
193        -$(RM) -f make loadavg *.o core make.dvi
194
195distclean: clean glob-realclean
196        -$(RM) -f Makefile config.h config.status build.sh
197        -$(RM) -f config.log config.cache
198        -$(RM) -f TAGS tags
199        -$(RM) -f make.?? make.??s make.log make.toc make.*aux
200        -$(RM) -f loadavg.c
201
202realclean: distclean
203        -$(RM) -f make.info*
204
205mostlyclean: clean
206
207.PHONY: glob-clean glob-realclean
208
209glob-clean glob-realclean:
210        execute <<
211        cd glob
212        smake $@
213<
214
215# --------------- DEPENDENCIES
216#
217alloca.o: alloca.c config.h
218ar.o: ar.c make.h config.h gettext.h filedef.h dep.h glob/fnmatch.h
219arscan.o: arscan.c make.h config.h gettext.h
220commands.o: commands.c make.h config.h gettext.h dep.h filedef.h \
221        variable.h job.h commands.h
222default.o: default.c make.h config.h gettext.h rule.h dep.h filedef.h \
223        job.h commands.h variable.h
224dir.o: dir.c make.h config.h gettext.h glob/glob.h
225expand.o: expand.c make.h config.h gettext.h filedef.h job.h commands.h \
226        variable.h rule.h
227file.o: file.c make.h config.h gettext.h dep.h filedef.h job.h \
228        commands.h variable.h
229function.o: function.c make.h config.h gettext.h filedef.h variable.h \
230        dep.h job.h commands.h debug.h
231getloadavg.o: getloadavg.c config.h
232getopt.o: getopt.c config.h gettext.h getopt.h
233getopt1.o: getopt1.c config.h getopt.h
234gettext.o: gettext.c config.h gettext.h
235implicit.o: implicit.c make.h config.h gettext.h rule.h dep.h filedef.h \
236        debug.h
237job.o: job.c make.h config.h gettext.h job.h debug.h filedef.h \
238        commands.h variable.h
239main.o: main.c make.h config.h gettext.h dep.h filedef.h variable.h \
240        job.h commands.h rule.h debug.h getopt.h
241misc.o: misc.c make.h config.h gettext.h dep.h debug.h
242read.o: read.c make.h config.h gettext.h glob/glob.h dep.h filedef.h \
243        job.h commands.h variable.h rule.h debug.h
244remake.o: remake.c make.h config.h gettext.h filedef.h job.h commands.h \
245        dep.h variable.h debug.h
246remote-stub.o: remote-stub.c make.h config.h gettext.h filedef.h job.h \
247        commands.h
248rule.o: rule.c make.h config.h gettext.h dep.h filedef.h job.h \
249        commands.h variable.h rule.h
250signame.o: signame.c make.h config.h gettext.h signame.h
251variable.o: variable.c make.h config.h gettext.h dep.h filedef.h job.h \
252        commands.h variable.h rule.h
253version.o: version.c config.h
254vpath.o: vpath.c make.h config.h gettext.h filedef.h variable.h
255
Note: See TracBrowser for help on using the repository browser.