1 # Makefile template for Configure for the opcodes library.
2 # Copyright (C) 1990, 91, 92, 93, 94, 95, 1996
3 # Free Software Foundation, Inc.
4 # Written by Cygnus Support.
6 # This program is free software; you can redistribute it and/or modify
7 # it under the terms of the GNU General Public License as published by
8 # the Free Software Foundation; either version 2 of the License, or
9 # (at your option) any later version.
11 # This program is distributed in the hope that it will be useful,
12 # but WITHOUT ANY WARRANTY; without even the implied warranty of
13 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14 # GNU General Public License for more details.
16 # You should have received a copy of the GNU General Public License
17 # along with this program; if not, write to the Free Software
18 # Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
25 program_transform_name = @program_transform_name@
26 exec_prefix = @exec_prefix@
32 man1dir = $(mandir)/man1
33 man2dir = $(mandir)/man2
34 man3dir = $(mandir)/man3
35 man4dir = $(mandir)/man4
36 man5dir = $(mandir)/man5
37 man6dir = $(mandir)/man6
38 man7dir = $(mandir)/man7
39 man8dir = $(mandir)/man8
40 man9dir = $(mandir)/man9
42 includedir = @includedir@
47 INSTALL_PROGRAM = @INSTALL_PROGRAM@
48 INSTALL_DATA = @INSTALL_DATA@
62 SHLIB_CFLAGS = @SHLIB_CFLAGS@
63 COMMON_SHLIB = @COMMON_SHLIB@
64 SHLIB_DEP = @SHLIB_DEP@
67 SONAME = lib`echo $(SHLIB) | sed -e 's,^\.\./bfd/,,' -e 's/^lib//' | sed '$(program_transform_name)'`
69 INCDIR = $(srcdir)/../include
70 BFDDIR = $(srcdir)/../bfd
71 CSEARCH = -I. -I$(srcdir) -I../bfd -I$(INCDIR) -I$(BFDDIR)
74 TARGETLIB = libopcodes.a
76 # To circumvent a Sun make VPATH bug, each file listed here
77 # should also have a foo.o: foo.c line further along in this file.
79 ALL_MACHINES = a29k-dis.o alpha-dis.o alpha-opc.o h8300-dis.o h8500-dis.o \
80 $(start-sanitize-arc) \
83 hppa-dis.o i386-dis.o i960-dis.o m68k-dis.o m68k-opc.o \
84 m88k-dis.o mips-dis.o mips-opc.o sh-dis.o sparc-dis.o \
85 sparc-opc.o z8k-dis.o ns32k-dis.o ppc-dis.o ppc-opc.o \
88 OFILES = @BFD_MACHINES@ dis-buf.o disassemble.o
91 "against=$(against)" \
93 "AR_FLAGS=$(AR_FLAGS)" \
97 "MAKEINFO=$(MAKEINFO)" \
98 "INSTALL=$(INSTALL)" \
99 "INSTALL_DATA=$(INSTALL_DATA)" \
100 "INSTALL_PROGRAM=$(INSTALL_PROGRAM)"
102 ALL_CFLAGS = $(CSEARCH) @HDEFINES@ $(CFLAGS)
105 if [ -n "$(PICFLAG)" ]; then \
106 $(CC) -c $(PICFLAG) $(ALL_CFLAGS) $< -o pic/$@; \
108 $(CC) -c $(ALL_CFLAGS) $<
110 # C source files that correspond to .o's.
111 CFILES = i386-dis.c z8k-dis.c m68k-dis.c mips-dis.c ns32k-dis.c ppc-dis.c
124 # HDEPFILES comes from the host config; TDEPFILES from the target config.
127 $(TARGETLIB): $(OFILES)
129 $(AR) $(AR_FLAGS) $(TARGETLIB) $(OFILES)
130 $(RANLIB) $(TARGETLIB)
132 LIBIBERTY_LISTS = ../libiberty/required-list ../libiberty/needed-list
133 BFD_PICLIST = @BFD_PICLIST@
135 stamp-piclist: Makefile $(LIBIBERTY_LISTS) $(BFD_PICLIST)
137 if [ -n "$(PICFLAG)" ]; then \
138 echo $(OFILES) | sed -e 's,\([^ ][^ ]*\),pic/\1,g' > tpiclist; \
140 echo $(OFILES) > tpiclist; \
142 if [ "$(COMMON_SHLIB)" = "yes" ]; then \
143 lobjs=`cat $(LIBIBERTY_LISTS)`; \
144 if [ -n "$(PICFLAG)" ]; then \
145 lobjs=`echo $$lobjs | sed -e 's,\([^ ][^ ]*\),pic/\1,g'`; \
147 lobjs=`echo $$lobjs | sed -e 's,\([^ ][^ ]*\),../libiberty/\1,g'`; \
148 echo $$lobjs >> tpiclist; \
149 sed -e 's,\([^ ][^ ]*\),../bfd/\1,g' $(BFD_PICLIST) >> tpiclist; \
151 $(srcdir)/../move-if-change tpiclist piclist
154 piclist: stamp-piclist ; @true
156 $(SHLIB): stamp-picdir $(OFILES) piclist $(SHLIB_DEP)
158 $(SHLIB_CC) $(SHLIB_CFLAGS) -o $(SHLIB) `cat piclist`
161 ts=lib`echo $(SHLIB) | sed -e 's,^\.\./bfd/,,' -e 's/^lib//' | sed -e '$(program_transform_name)'`; \
162 if [ "$(COMMON_SHLIB)" = "yes" ]; then \
165 if [ "$$ts" != "$(SHLIB)" ]; then \
167 ln -sf `echo $(SHLIB) | sed -e 's,^\.\./bfd/,,'` $$ts; \
170 ln -sf `echo $(SHLIB) | sed -e 's,^\.\./bfd/,,'` $(SHLINK)
172 # This target creates libTARGET-opcodes.so.VERSION as a symlink to
173 # libopcodes.so.VERSION. It is used on SunOS, which does not have SONAME.
174 stamp-tshlink: $(SHLIB)
175 tf=lib`echo $(SHLIB) | sed -e 's,\.\./bfd/,,' -e 's/^lib//' | sed '$(program_transform_name)'`; \
176 if [ "$(COMMON_SHLIB)" = "yes" ]; then \
179 if [ "$$tf" != "$(SHLIB)" ]; then \
181 ln -sf $(SHLIB) $$tf; \
183 if [ "$(COMMON_SHLIB)" = "yes" ]; then \
184 tf=lib`echo $(TARGETLIB) | sed -e 's/^lib//' | sed '$(program_transform_name)'`; \
185 if [ "$$tf" != "$(TARGETLIB)" ]; then \
187 ln -sf $(TARGETLIB) $$tf; \
192 $(OFILES): stamp-picdir
194 disassemble.o: disassemble.c $(INCDIR)/dis-asm.h
195 if [ -n "$(PICFLAG)" ]; then \
196 $(CC) -c @archdefs@ $(PICFLAG) $(ALL_CFLAGS) $(srcdir)/disassemble.c -o pic/disassemble.o; \
198 $(CC) -c @archdefs@ $(ALL_CFLAGS) $(srcdir)/disassemble.c
200 a29k-dis.o: a29k-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/a29k.h
201 dis-buf.o: dis-buf.c $(INCDIR)/dis-asm.h
202 h8500-dis.o: h8500-dis.c h8500-opc.h $(INCDIR)/dis-asm.h
203 h8300-dis.o: h8300-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/h8300.h
204 i386-dis.o: i386-dis.c $(INCDIR)/dis-asm.h
205 i960-dis.o: i960-dis.c $(INCDIR)/dis-asm.h
207 m68k-dis.o: m68k-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/floatformat.h \
208 $(INCDIR)/opcode/m68k.h
209 m68k-opc.o: m68k-opc.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/m68k.h
210 mips-dis.o: mips-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/mips.h
211 mips-opc.o: mips-opc.c $(INCDIR)/opcode/mips.h
212 ppc-dis.o: ppc-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/ppc.h
213 ppc-opc.o: ppc-opc.c $(INCDIR)/opcode/ppc.h
214 sparc-dis.o: sparc-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/sparc.h
215 sparc-opc.o: sparc-opc.c $(INCDIR)/opcode/sparc.h
216 z8k-dis.o: z8k-dis.c z8k-opc.h $(INCDIR)/dis-asm.h
217 ns32k-dis.o: ns32k-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/ns32k.h
218 sh-dis.o: sh-dis.c sh-opc.h $(INCDIR)/dis-asm.h
219 alpha-dis.o: alpha-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/alpha.h
220 alpha-opc.o: alpha-opc.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/alpha.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 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 \
237 pic stamp-picdir config.log
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 \
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