]>
Commit | Line | Data |
---|---|---|
6599da04 JM |
1 | # |
2 | # Makefile | |
3affd5f0 JL |
3 | # Copyright (C) 1990, 91, 92, 93, 94, 95, 96, 97, 1998 |
4 | # Free Software Foundation | |
6599da04 JM |
5 | # |
6 | # This file is part of the libiberty library. | |
7 | # Libiberty is free software; you can redistribute it and/or | |
8 | # modify it under the terms of the GNU Library General Public | |
9 | # License as published by the Free Software Foundation; either | |
10 | # version 2 of the License, or (at your option) any later version. | |
11 | # | |
12 | # Libiberty 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 GNU | |
15 | # Library General Public License for more details. | |
16 | # | |
17 | # You should have received a copy of the GNU Library General Public | |
18 | # License along with libiberty; see the file COPYING.LIB. If not, | |
19 | # write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, | |
20 | # Boston, MA 02111-1307, USA. | |
21 | # | |
22 | ||
3affd5f0 | 23 | # This file was written by K. Richard Pixley <rich@cygnus.com>. |
6599da04 JM |
24 | |
25 | # | |
26 | # Makefile for libiberty directory | |
27 | # | |
28 | ||
3affd5f0 JL |
29 | srcdir = @srcdir@ |
30 | VPATH = @srcdir@ | |
6599da04 | 31 | |
3affd5f0 | 32 | prefix = @prefix@ |
6599da04 | 33 | |
3affd5f0 JL |
34 | exec_prefix = @exec_prefix@ |
35 | bindir = @bindir@ | |
36 | libdir = @libdir@ | |
6599da04 | 37 | |
3affd5f0 | 38 | SHELL = @SHELL@ |
6599da04 JM |
39 | |
40 | # Multilib support variables. | |
41 | MULTISRCTOP = | |
42 | MULTIBUILDTOP = | |
43 | MULTIDIRS = | |
44 | MULTISUBDIR = | |
45 | MULTIDO = true | |
46 | MULTICLEAN = true | |
47 | ||
3affd5f0 JL |
48 | INSTALL = @INSTALL@ |
49 | INSTALL_PROGRAM = @INSTALL_PROGRAM@ | |
50 | INSTALL_DATA = @INSTALL_DATA@ | |
6599da04 | 51 | |
3affd5f0 | 52 | AR = @AR@ |
6599da04 JM |
53 | AR_FLAGS = rc |
54 | ||
3affd5f0 JL |
55 | CC = @CC@ |
56 | CFLAGS = @CFLAGS@ | |
6599da04 | 57 | LIBCFLAGS = $(CFLAGS) |
3affd5f0 | 58 | RANLIB = @RANLIB@ |
6599da04 JM |
59 | |
60 | PICFLAG = | |
61 | ||
62 | MAKEOVERRIDES = | |
63 | ||
64 | TARGETLIB = libiberty.a | |
65 | ||
3affd5f0 | 66 | LIBOBJS = @LIBOBJS@ |
6599da04 JM |
67 | |
68 | # A configuration can specify extra .o files that should be included, | |
69 | # even if they are in libc. (Perhaps the libc version is buggy.) | |
70 | EXTRA_OFILES = | |
71 | ||
72 | # Flags to pass to a recursive make. | |
73 | FLAGS_TO_PASS = \ | |
74 | "AR=$(AR)" \ | |
75 | "AR_FLAGS=$(AR_FLAGS)" \ | |
76 | "CC=$(CC)" \ | |
77 | "CFLAGS=$(CFLAGS)" \ | |
78 | "LIBCFLAGS=$(LIBCFLAGS)" \ | |
79 | "EXTRA_OFILES=$(EXTRA_OFILES)" \ | |
80 | "HDEFINES=$(HDEFINES)" \ | |
81 | "INSTALL=$(INSTALL)" \ | |
82 | "INSTALL_DATA=$(INSTALL_DATA)" \ | |
83 | "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \ | |
84 | "LDFLAGS=$(LDFLAGS)" \ | |
85 | "LOADLIBES=$(LOADLIBES)" \ | |
6599da04 JM |
86 | "RANLIB=$(RANLIB)" \ |
87 | "SHELL=$(SHELL)" | |
88 | ||
3affd5f0 JL |
89 | all: stamp-picdir $(TARGETLIB) needed-list required-list |
90 | @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=all | |
6599da04 JM |
91 | |
92 | .PHONY: check installcheck | |
93 | check installcheck: | |
94 | ||
3affd5f0 | 95 | @host_makefile_frag@ |
6599da04 JM |
96 | |
97 | INCDIR=$(srcdir)/$(MULTISRCTOP)../include | |
98 | ||
3affd5f0 | 99 | COMPILE.c = $(CC) -c @DEFS@ $(LIBCFLAGS) -I. -I$(INCDIR) $(HDEFINES) |
6599da04 | 100 | .c.o: |
f5c3ae66 | 101 | test x"$(enable_shared)" != xyes || \ |
6599da04 JM |
102 | $(COMPILE.c) $(PICFLAG) $< -o pic/$@ |
103 | $(COMPILE.c) $< | |
104 | ||
6599da04 JM |
105 | info install-info clean-info dvi: |
106 | ||
107 | # Include files that are in this directory. | |
3affd5f0 | 108 | HFILES = alloca-conf.h |
6599da04 JM |
109 | |
110 | # NOTE: If you add new files to the library, add them to this list | |
3affd5f0 JL |
111 | # (alphabetical), and add them to REQUIRED_OFILES or funcs in |
112 | # configure.in. | |
113 | CFILES = asprintf.c alloca.c argv.c atexit.c basename.c bcmp.c bcopy.c \ | |
114 | bzero.c choose-temp.c clock.c concat.c cplus-dem.c fdmatch.c \ | |
115 | fnmatch.c getcwd.c getopt.c getopt1.c getpagesize.c \ | |
116 | getruntime.c floatformat.c hex.c index.c insque.c memchr.c \ | |
16ba4214 | 117 | memcmp.c memcpy.c memmove.c memset.c mkstemp.c objalloc.c obstack.c \ |
3affd5f0 JL |
118 | pexecute.c random.c rename.c rindex.c sigsetmask.c spaces.c \ |
119 | strcasecmp.c strncasecmp.c strchr.c strdup.c strerror.c \ | |
120 | strrchr.c strsignal.c strstr.c strtod.c strtol.c strtoul.c \ | |
121 | tmpnam.c vasprintf.c vfork.c vfprintf.c vprintf.c vsprintf.c \ | |
122 | waitpid.c xatexit.c xexit.c xmalloc.c xstrdup.c xstrerror.c | |
123 | ||
6599da04 | 124 | # These are always included in the library. |
3affd5f0 | 125 | REQUIRED_OFILES = argv.o choose-temp.o concat.o cplus-dem.o \ |
6599da04 | 126 | fdmatch.o fnmatch.o getopt.o getopt1.o getruntime.o hex.o \ |
16ba4214 | 127 | floatformat.o mkstemp.o objalloc.o obstack.o pexecute.o spaces.o strerror.o \ |
6599da04 JM |
128 | strsignal.o xatexit.o xexit.o xmalloc.o xstrdup.o xstrerror.o |
129 | ||
3affd5f0 JL |
130 | $(TARGETLIB): $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS) |
131 | rm -f $(TARGETLIB) | |
132 | $(AR) $(AR_FLAGS) $(TARGETLIB) \ | |
133 | $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS) | |
134 | $(RANLIB) $(TARGETLIB) | |
6599da04 | 135 | |
3affd5f0 | 136 | INSTALL_DEST = @INSTALL_DEST@ |
6599da04 JM |
137 | install: install_to_$(INSTALL_DEST) |
138 | ||
139 | install_to_libdir: all | |
c6b50f10 JW |
140 | $(INSTALL_DATA) $(TARGETLIB) $(libdir)$(MULTISUBDIR)/$(TARGETLIB).n |
141 | ( cd $(libdir)$(MULTISUBDIR) ; $(RANLIB) $(TARGETLIB).n ) | |
142 | mv -f $(libdir)$(MULTISUBDIR)/$(TARGETLIB).n $(libdir)$(MULTISUBDIR)/$(TARGETLIB) | |
6599da04 JM |
143 | @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install |
144 | ||
145 | install_to_tooldir: all | |
c6b50f10 JW |
146 | $(INSTALL_DATA) $(TARGETLIB) $(tooldir)/lib$(MULTISUBDIR)/$(TARGETLIB).n |
147 | ( cd $(tooldir)/lib$(MULTISUBDIR) ; $(RANLIB) $(TARGETLIB).n ) | |
148 | mv -f $(tooldir)/lib$(MULTISUBDIR)/$(TARGETLIB).n $(tooldir)/lib$(MULTISUBDIR)/$(TARGETLIB) | |
6599da04 JM |
149 | @$(MULTIDO) $(FLAGS_TO_PASS) multi-do DO=install |
150 | ||
3affd5f0 JL |
151 | # needed-list is used by libstdc++. |
152 | needed-list: Makefile | |
153 | f="$(LIBOBJS) $(EXTRA_OFILES)"; \ | |
6599da04 | 154 | case $$f in \ |
3affd5f0 JL |
155 | *alloca.o*) f="$$f xmalloc.o xexit.o" ;; \ |
156 | esac; \ | |
157 | echo $$f > needed-list | |
158 | ||
159 | # required-list was used when building a shared bfd/opcodes/libiberty | |
160 | # library. I don't know if it used by anything currently. | |
6599da04 JM |
161 | required-list: Makefile |
162 | echo $(REQUIRED_OFILES) > required-list | |
163 | ||
6599da04 | 164 | stamp-picdir: |
f5c3ae66 | 165 | if [ x"$(enable_shared)" = xyes ] && [ ! -d pic ]; then \ |
6599da04 JM |
166 | mkdir pic; \ |
167 | else true; fi | |
168 | touch stamp-picdir | |
169 | ||
3affd5f0 | 170 | .PHONY: all etags tags ls clean stage1 stage2 |
6599da04 JM |
171 | |
172 | etags tags: TAGS | |
173 | ||
174 | TAGS: $(CFILES) $(HFILES) | |
175 | etags `for i in $(HFILES) $(CFILES); do echo $(srcdir)/$$i ; done` | |
176 | ||
177 | # The standalone demangler (c++filt) has been moved to binutils. | |
178 | demangle: | |
179 | @echo "The standalone demangler, now named c++filt, is now" | |
180 | @echo "a part of binutils." | |
181 | @false | |
182 | ||
183 | ls: | |
184 | @echo Makefile $(HFILES) $(CFILES) | |
185 | ||
186 | # Need to deal with profiled libraries, too. | |
187 | ||
188 | mostlyclean: | |
189 | rm -rf *.o pic core errs \#* *.E a.out | |
190 | rm -f needed.awk needed2.awk errors dummy needed-list config.h stamp-* | |
191 | rm -f $(CONFIG_H) $(NEEDED_LIST) stamp-picdir | |
192 | @$(MULTICLEAN) multi-clean DO=mostlyclean | |
193 | clean: mostlyclean | |
194 | rm -f *.a required-list tmpmulti.out | |
195 | @$(MULTICLEAN) multi-clean DO=clean | |
196 | distclean: clean | |
6599da04 | 197 | @$(MULTICLEAN) multi-clean DO=distclean |
10c62dce | 198 | rm -f *~ Makefile config.status xhost-mkfrag TAGS multilib.out |
6599da04 JM |
199 | maintainer-clean realclean: distclean |
200 | ||
201 | force: | |
202 | ||
3affd5f0 JL |
203 | Makefile: $(srcdir)/Makefile.in config.status |
204 | CONFIG_FILES=Makefile CONFIG_HEADERS= $(SHELL) ./config.status | |
205 | ||
206 | config.h: stamp-h ; @true | |
207 | stamp-h: config.in config.status | |
208 | CONFIG_FILES= CONFIG_HEADERS=config.h:config.in $(SHELL) ./config.status | |
209 | ||
210 | config.status: $(srcdir)/configure $(srcdir)/config.table | |
211 | $(SHELL) ./config.status --recheck | |
6599da04 | 212 | |
7b195f77 MS |
213 | $(REQUIRED_OFILES) $(EXTRA_OFILES) $(LIBOBJS): stamp-picdir |
214 | ||
3affd5f0 JL |
215 | alloca.o: config.h |
216 | atexit.o: config.h | |
217 | argv.o: config.h alloca-conf.h $(INCDIR)/libiberty.h | |
6599da04 | 218 | basename.o: $(INCDIR)/libiberty.h |
3affd5f0 JL |
219 | choose-temp.o: config.h |
220 | clock.o: config.h | |
6599da04 JM |
221 | concat.o: $(INCDIR)/libiberty.h |
222 | cplus-dem.o: $(INCDIR)/demangle.h | |
223 | fdmatch.o: $(INCDIR)/libiberty.h | |
3affd5f0 JL |
224 | fnmatch.o: config.h $(INCDIR)/fnmatch.h |
225 | getcwd.o: config.h | |
226 | getopt.o: config.h $(INCDIR)/getopt.h | |
227 | getopt1.o: config.h $(INCDIR)/getopt.h | |
228 | getpagesize.o: config.h | |
229 | getruntime.o: config.h $(INCDIR)/libiberty.h | |
6599da04 JM |
230 | hex.o: $(INCDIR)/libiberty.h |
231 | floatformat.o: $(INCDIR)/floatformat.h | |
16ba4214 | 232 | mkstemp.o: config.h |
6599da04 JM |
233 | objalloc.o: $(INCDIR)/objalloc.h |
234 | obstack.o: $(INCDIR)/obstack.h | |
3affd5f0 | 235 | pexecute.o: config.h $(INCDIR)/libiberty.h |
6599da04 | 236 | spaces.o: $(INCDIR)/libiberty.h |
3affd5f0 JL |
237 | strerror.o: config.h $(INCDIR)/libiberty.h |
238 | strsignal.o: config.h $(INCDIR)/libiberty.h | |
6599da04 JM |
239 | xatexit.o: $(INCDIR)/libiberty.h |
240 | xexit.o: $(INCDIR)/libiberty.h | |
241 | xmalloc.o: $(INCDIR)/libiberty.h | |
242 | xstrdup.o: $(INCDIR)/libiberty.h | |
3affd5f0 | 243 | xstrerror.o: config.h $(INCDIR)/libiberty.h |