1 # Makefile template for Configure for the opcodes library.
2 # Copyright (C) 1990, 1991, 1992, 1995 Free Software Foundation, Inc.
3 # Written by Cygnus Support.
5 # This program is free software; you can redistribute it and/or modify
6 # it under the terms of the GNU General Public License as published by
7 # the Free Software Foundation; either version 2 of the License, or
8 # (at your option) any later version.
10 # This program is distributed in the hope that it will be useful,
11 # but WITHOUT ANY WARRANTY; without even the implied warranty of
12 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 # GNU General Public License for more details.
15 # You should have received a copy of the GNU General Public License
16 # along with this program; if not, write to the Free Software
17 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
24 program_transform_name = @program_transform_name@
25 exec_prefix = @exec_prefix@
26 bindir = $(exec_prefix)/bin
27 libdir = $(exec_prefix)/lib
29 datadir = $(prefix)/lib
30 mandir = $(prefix)/man
31 man1dir = $(mandir)/man1
32 man2dir = $(mandir)/man2
33 man3dir = $(mandir)/man3
34 man4dir = $(mandir)/man4
35 man5dir = $(mandir)/man5
36 man6dir = $(mandir)/man6
37 man7dir = $(mandir)/man7
38 man8dir = $(mandir)/man8
39 man9dir = $(mandir)/man9
40 infodir = $(prefix)/info
41 includedir = $(prefix)/include
43 docdir = $(srcdir)/doc
48 INSTALL_PROGRAM = @INSTALL_PROGRAM@
49 INSTALL_DATA = @INSTALL_DATA@
63 SHLIB_CFLAGS = @SHLIB_CFLAGS@
64 COMMON_SHLIB = @COMMON_SHLIB@
65 SHLIB_DEP = @SHLIB_DEP@
68 SONAME = lib`echo $(SHLIB) | sed -e 's,^\.\./bfd/,,' -e 's/^lib//' | sed '$(program_transform_name)'`
70 INCDIR = $(srcdir)/../include
71 BFDDIR = $(srcdir)/../bfd
72 CSEARCH = -I. -I$(srcdir) -I../bfd -I$(INCDIR) -I$(BFDDIR)
75 TARGETLIB = libopcodes.a
77 # To circumvent a Sun make VPATH bug, each file listed here
78 # should also have a foo.o: foo.c line further along in this file.
80 ALL_MACHINES = a29k-dis.o alpha-dis.o h8300-dis.o h8500-dis.o \
81 $(start-sanitize-arc) \
84 hppa-dis.o i386-dis.o i960-dis.o m68k-dis.o m68k-opc.o \
85 m88k-dis.o mips-dis.o mips-opc.o sh-dis.o sparc-dis.o \
86 sparc-opc.o z8k-dis.o ns32k-dis.o ppc-dis.o ppc-opc.o \
89 OFILES = @BFD_MACHINES@ dis-buf.o disassemble.o
92 "against=$(against)" \
94 "AR_FLAGS=$(AR_FLAGS)" \
98 "MAKEINFO=$(MAKEINFO)" \
99 "INSTALL=$(INSTALL)" \
100 "INSTALL_DATA=$(INSTALL_DATA)" \
101 "INSTALL_PROGRAM=$(INSTALL_PROGRAM)"
103 ALL_CFLAGS = $(CSEARCH) @HDEFINES@ $(CFLAGS)
106 if [ -n "$(PICFLAG)" ]; then \
107 $(CC) -c $(PICFLAG) $(ALL_CFLAGS) $< -o pic/$@; \
109 $(CC) -c $(ALL_CFLAGS) $<
111 # C source files that correspond to .o's.
112 CFILES = i386-dis.c z8k-dis.c m68k-dis.c mips-dis.c ns32k-dis.c ppc-dis.c
125 # HDEPFILES comes from the host config; TDEPFILES from the target config.
128 $(TARGETLIB): $(OFILES)
130 $(AR) $(AR_FLAGS) $(TARGETLIB) $(OFILES)
131 $(RANLIB) $(TARGETLIB)
133 LIBIBERTY_LISTS = ../libiberty/required-list ../libiberty/needed-list
134 BFD_LIST = ../bfd/piclist
136 stamp-piclist: Makefile $(LIBIBERTY_LISTS) $(BFD_LIST)
138 if [ -n "$(PICFLAG)" ]; then \
139 echo $(OFILES) | sed -e 's,\([^ ][^ ]*\),pic/\1,g' > tpiclist; \
141 echo $(OFILES) > tpiclist; \
143 if [ "$(COMMON_SHLIB)" = "yes" ]; then \
144 lobjs=`cat $(LIBIBERTY_LISTS)`; \
145 if [ -n "$(PICFLAG)" ]; then \
146 lobjs=`echo $$lobjs | sed -e 's,\([^ ][^ ]*\),pic/\1,g'`; \
148 lobjs=`echo $$lobjs | sed -e 's,\([^ ][^ ]*\),../libiberty/\1,g'`; \
149 echo $$lobjs >> tpiclist; \
150 sed -e 's,\([^ ][^ ]*\),../bfd/\1,g' $(BFD_LIST) >> tpiclist; \
152 $(srcdir)/../move-if-change tpiclist piclist
155 piclist: stamp-piclist ; @true
157 $(SHLIB): stamp-picdir $(OFILES) piclist $(SHLIB_DEP)
159 $(SHLIB_CC) $(SHLIB_CFLAGS) -o $(SHLIB) `cat piclist`
162 ts=lib`echo $(SHLIB) | sed -e 's,^\.\./bfd/,,' -e 's/^lib//' | sed -e '$(program_transform_name)'`; \
163 if [ "$(COMMON_SHLIB)" = "yes" ]; then \
166 if [ "$$ts" != "$(SHLIB)" ]; then \
168 ln -sf `echo $(SHLIB) | sed -e 's,^\.\./bfd/,,'` $$ts; \
171 ln -sf `echo $(SHLIB) | sed -e 's,^\.\./bfd/,,'` $(SHLINK)
173 # This target creates libTARGET-opcodes.so.VERSION as a symlink to
174 # libopcodes.so.VERSION. It is used on SunOS, which does not have SONAME.
175 stamp-tshlink: $(SHLIB)
176 tf=lib`echo $(SHLIB) | sed -e 's,\.\./bfd/,,' -e 's/^lib//' | sed '$(program_transform_name)'`; \
177 if [ "$(COMMON_SHLIB)" = "yes" ]; then \
180 if [ "$$tf" != "$(SHLIB)" ]; then \
182 ln -sf $(SHLIB) $$tf; \
184 if [ "$(COMMON_SHLIB)" = "yes" ]; then \
185 tf=lib`echo $(TARGETLIB) | sed -e 's/^lib//' | sed '$(program_transform_name)'`; \
186 if [ "$$tf" != "$(TARGETLIB)" ]; then \
188 ln -sf $(TARGETLIB) $$tf; \
193 $(OFILES): stamp-picdir
195 disassemble.o: disassemble.c $(INCDIR)/dis-asm.h
196 if [ -n "$(PICFLAG)" ]; then \
197 $(CC) -c @archdefs@ $(PICFLAG) $(ALL_CFLAGS) $(srcdir)/disassemble.c -o pic/disassemble.o; \
199 $(CC) -c @archdefs@ $(ALL_CFLAGS) $(srcdir)/disassemble.c
201 a29k-dis.o: a29k-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/a29k.h
202 dis-buf.o: dis-buf.c $(INCDIR)/dis-asm.h
203 h8500-dis.o: h8500-dis.c h8500-opc.h $(INCDIR)/dis-asm.h
204 h8300-dis.o: h8300-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/h8300.h
205 i386-dis.o: i386-dis.c $(INCDIR)/dis-asm.h
206 i960-dis.o: i960-dis.c $(INCDIR)/dis-asm.h
208 m68k-dis.o: m68k-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/floatformat.h \
209 $(INCDIR)/opcode/m68k.h
210 m68k-opc.o: m68k-opc.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/m68k.h
211 mips-dis.o: mips-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/mips.h
212 mips-opc.o: mips-opc.c $(INCDIR)/opcode/mips.h
213 ppc-dis.o: ppc-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/ppc.h
214 ppc-opc.o: ppc-opc.c $(INCDIR)/opcode/ppc.h
215 sparc-dis.o: sparc-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/sparc.h
216 sparc-opc.o: sparc-opc.c $(INCDIR)/opcode/sparc.h
217 z8k-dis.o: z8k-dis.c z8k-opc.h $(INCDIR)/dis-asm.h
218 ns32k-dis.o: ns32k-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/ns32k.h
219 sh-dis.o: sh-dis.c sh-opc.h $(INCDIR)/dis-asm.h
220 alpha-dis.o: alpha-dis.c alpha-opc.h $(INCDIR)/dis-asm.h
221 hppa-dis.o: hppa-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/hppa.h
222 m88k-dis.o: m88k-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/m88k.h
223 arm-dis.o: arm-dis.c arm-opc.h $(INCDIR)/dis-asm.h
228 etags $(INCDIR)/*.h $(srcdir)/*.h $(srcdir)/*.c
230 MOSTLYCLEAN = *.o core *.E *.p *.ip config.log pic/*.o
232 rm -rf $(MOSTLYCLEAN)
234 rm -f *.a $(MOSTLYCLEAN) $(SHLIB) $(SHLINK) piclist stamp-piclist
236 rm -rf Makefile config.status TAGS config.cache config.h stamp-h \
238 clobber realclean maintainer-clean: distclean
240 # Mark everything as depending on config.status, since the timestamp on
241 # sysdep.h might actually move backwards if we reconfig and relink it
242 # to a different hosts/h-xxx.h file. This will force a recompile anyway.
243 RECONFIG = config.status
247 # This target should be invoked before building a new release.
248 # 'VERSION' file must be present and contain a string of the form "x.y"
252 MAJ=`sed 's/\..*//' VERSION` ; \
253 MIN=`sed 's/.*\.//' VERSION` ; \
254 V=$$MAJ.`expr $$MIN + 1` ; \
256 echo $$V >VERSION ; \
259 # Dummy target to force execution of dependent targets.
264 for f in $(ALLLIBS); do \
265 if [ "$$f" = "stamp-tshlink" ]; then \
268 tf=lib`echo $$f | sed -e 's,^\.\./bfd/,,' -e 's/^lib//' | sed '$(program_transform_name)'`; \
269 rm -f $(libdir)/$$tf; \
270 if [ "$$f" = "$(SHLINK)" ]; then \
271 ts=lib`echo $(SHLIB) | sed -e 's,^\.\./bfd/,,' -e 's/^lib//' | sed '$(program_transform_name)'`; \
272 ln -sf $$ts $(libdir)/$$tf; \
273 elif [ "$$f" = "$(SHLIB)" ]; then \
274 $(INSTALL_PROGRAM) $$f $(libdir)/$$tf; \
276 $(INSTALL_DATA) $$f $(libdir)/$$tf; \
277 $(RANLIB) $(libdir)/$$tf; \
278 chmod a-x $(libdir)/$$tf; \
282 Makefile: Makefile.in config.status
283 CONFIG_FILES=Makefile CONFIG_HEADERS= $(SHELL) ./config.status
285 config.h: stamp-h ; @true
286 stamp-h: config.in config.status
287 CONFIG_FILES= CONFIG_HEADERS=config.h:config.in $(SHELL) ./config.status
289 config.status: configure $(srcdir)/../bfd/configure.host $(srcdir)/../bfd/config.bfd $(srcdir)/../bfd/VERSION
290 $(SHELL) config.status --recheck
296 if [ -n "$(PICFLAG)" ] && [ ! -d pic ]; then \
301 # What appears below is generated by a hacked mkdep using gcc -MM.
303 # DO NOT DELETE THIS LINE -- mkdep uses it.
304 # DO NOT PUT ANYTHING AFTER THIS LINE, IT WILL GO AWAY.
307 # IF YOU PUT ANYTHING HERE IT WILL GO AWAY