# Makefile template for Configure for the opcodes library.
-# Copyright (C) 1990, 1991, 1992 Free Software Foundation, Inc.
+# Copyright (C) 1990, 1991, 1992, 1995 Free Software Foundation, Inc.
# Written by Cygnus Support.
#
# This program is free software; you can redistribute it and/or modify
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
-# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-srcdir = .
+VPATH = @srcdir@
+srcdir = @srcdir@
-prefix = /usr/local
+prefix = @prefix@
-exec_prefix = $(prefix)
+program_transform_name = @program_transform_name@
+exec_prefix = @exec_prefix@
bindir = $(exec_prefix)/bin
libdir = $(exec_prefix)/lib
SHELL = /bin/sh
-INSTALL = install -c
-INSTALL_PROGRAM = $(INSTALL)
-INSTALL_DATA = $(INSTALL)
+INSTALL = @INSTALL@
+INSTALL_PROGRAM = @INSTALL_PROGRAM@
+INSTALL_DATA = @INSTALL_DATA@
-AR = ar
-AR_FLAGS = qc
-CFLAGS = -g
-BISON = bison
+AR = @AR@
+AR_FLAGS = rc
+CC = @CC@
+CFLAGS = @CFLAGS@
MAKEINFO = makeinfo
-RANLIB = ranlib
+RANLIB = @RANLIB@
-INCDIR = $(srcdir)/../include
+ALLLIBS = @ALLLIBS@
+
+PICFLAG = @PICFLAG@
+SHLIB = @SHLIB@
+SHLIB_CC = @SHLIB_CC@
+SHLIB_CFLAGS = @SHLIB_CFLAGS@
+COMMON_SHLIB = @COMMON_SHLIB@
+SHLIB_DEP = @SHLIB_DEP@
+SHLINK = @SHLINK@
+
+SONAME = lib`echo $(SHLIB) | sed -e 's,^\.\./bfd/,,' -e 's/^lib//' | sed '$(program_transform_name)'`
+
+INCDIR = $(srcdir)/../include
BFDDIR = $(srcdir)/../bfd
-CSEARCH = -I. -I$(srcdir) -I$(INCDIR) -I$(BFDDIR)
+CSEARCH = -I. -I$(srcdir) -I../bfd -I$(INCDIR) -I$(BFDDIR)
DEP = mkdep
-
TARGETLIB = libopcodes.a
# To circumvent a Sun make VPATH bug, each file listed here
# should also have a foo.o: foo.c line further along in this file.
-DIS_LIBS = i386-dis.o z8k-dis.o m68k-dis.o mips-dis.o h8500-dis.o dis-buf.o \
- sparc-dis.o
-OFILES = $(DIS_LIBS) sparc-opc.o m68881-ext.o
-#### host and target dependent Makefile fragments come in here.
-###
+ALL_MACHINES = a29k-dis.o alpha-dis.o h8300-dis.o h8500-dis.o \
+ $(start-sanitize-arc) \
+ arc-dis.o arc-opc.o \
+ $(end-sanitize-arc) \
+ hppa-dis.o i386-dis.o i960-dis.o m68k-dis.o m68k-opc.o \
+ m88k-dis.o mips-dis.o mips-opc.o sh-dis.o sparc-dis.o \
+ sparc-opc.o z8k-dis.o ns32k-dis.o ppc-dis.o ppc-opc.o \
+ arm-dis.o w65-dis.o
+
+OFILES = @BFD_MACHINES@ dis-buf.o disassemble.o
FLAGS_TO_PASS = \
"against=$(against)" \
"MAKEINFO=$(MAKEINFO)" \
"INSTALL=$(INSTALL)" \
"INSTALL_DATA=$(INSTALL_DATA)" \
- "INSTALL_PROGRAM=$(INSTALL_PROGRAM)" \
- "BISON=$(BISON)"
+ "INSTALL_PROGRAM=$(INSTALL_PROGRAM)"
-.c.o:
- $(CC) -c $(CFLAGS) $(HDEFINES) $(TDEFINES) $(CSEARCH) $(CSWITCHES) $<
+ALL_CFLAGS = $(CSEARCH) @HDEFINES@ $(CFLAGS)
+.c.o:
+ if [ -n "$(PICFLAG)" ]; then \
+ $(CC) -c $(PICFLAG) $(ALL_CFLAGS) $< -o pic/$@; \
+ else true; fi
+ $(CC) -c $(ALL_CFLAGS) $<
# C source files that correspond to .o's.
-CFILES = i386-dis.c z8k-dis.c m68k-dis.c mips-dis.c
-
-STAGESTUFF = $(TARGETLIB) $(OFILES)
-
-all: $(TARGETLIB)
+CFILES = i386-dis.c z8k-dis.c m68k-dis.c mips-dis.c ns32k-dis.c ppc-dis.c
+all: $(ALLLIBS)
.NOEXPORT:
$(AR) $(AR_FLAGS) $(TARGETLIB) $(OFILES)
$(RANLIB) $(TARGETLIB)
-# Circumvent Sun Make bug with VPATH.
-dis-buf.o: dis-buf.c
-h8500-dis.o: h8500-dis.c
-i386-dis.o: i386-dis.c
-m68881-ext.o: m68881-ext.c
-m68k-dis.o: m68k-dis.c
-mips-dis.o: mips-dis.c
-sparc-dis.o: sparc-dis.c
-sparc-opc.o: sparc-opc.c
-z8k-dis.o: z8k-dis.c
+LIBIBERTY_LISTS = ../libiberty/required-list ../libiberty/needed-list
+BFD_LIST = ../bfd/piclist
+
+stamp-piclist: Makefile $(LIBIBERTY_LISTS) $(BFD_LIST)
+ rm -f tpiclist
+ if [ -n "$(PICFLAG)" ]; then \
+ echo $(OFILES) | sed -e 's,\([^ ][^ ]*\),pic/\1,g' > tpiclist; \
+ else \
+ echo $(OFILES) > tpiclist; \
+ fi
+ if [ "$(COMMON_SHLIB)" = "yes" ]; then \
+ lobjs=`cat $(LIBIBERTY_LISTS)`; \
+ if [ -n "$(PICFLAG)" ]; then \
+ lobjs=`echo $$lobjs | sed -e 's,\([^ ][^ ]*\),pic/\1,g'`; \
+ fi; \
+ lobjs=`echo $$lobjs | sed -e 's,\([^ ][^ ]*\),../libiberty/\1,g'`; \
+ echo $$lobjs >> tpiclist; \
+ sed -e 's,\([^ ][^ ]*\),../bfd/\1,g' $(BFD_LIST) >> tpiclist; \
+ else true; fi
+ $(srcdir)/../move-if-change tpiclist piclist
+ touch stamp-piclist
+
+piclist: stamp-piclist ; @true
+
+$(SHLIB): stamp-picdir $(OFILES) piclist $(SHLIB_DEP)
+ rm -f $(SHLIB)
+ $(SHLIB_CC) $(SHLIB_CFLAGS) -o $(SHLIB) `cat piclist`
+
+$(SHLINK): $(SHLIB)
+ ts=lib`echo $(SHLIB) | sed -e 's,^\.\./bfd/,,' -e 's/^lib//' | sed -e '$(program_transform_name)'`; \
+ if [ "$(COMMON_SHLIB)" = "yes" ]; then \
+ ts=../bfd/$$ts; \
+ fi; \
+ if [ "$$ts" != "$(SHLIB)" ]; then \
+ rm -f $$ts; \
+ ln -sf `echo $(SHLIB) | sed -e 's,^\.\./bfd/,,'` $$ts; \
+ else true; fi
+ rm -f $(SHLINK)
+ ln -sf `echo $(SHLIB) | sed -e 's,^\.\./bfd/,,'` $(SHLINK)
+
+# This target creates libTARGET-opcodes.so.VERSION as a symlink to
+# libopcodes.so.VERSION. It is used on SunOS, which does not have SONAME.
+stamp-tshlink: $(SHLIB)
+ tf=lib`echo $(SHLIB) | sed -e 's,\.\./bfd/,,' -e 's/^lib//' | sed '$(program_transform_name)'`; \
+ if [ "$(COMMON_SHLIB)" = "yes" ]; then \
+ tf=../bfd/$$tf; \
+ fi; \
+ if [ "$$tf" != "$(SHLIB)" ]; then \
+ rm -f $$tf; \
+ ln -sf $(SHLIB) $$tf; \
+ else true; fi
+ if [ "$(COMMON_SHLIB)" = "yes" ]; then \
+ tf=lib`echo $(TARGETLIB) | sed -e 's/^lib//' | sed '$(program_transform_name)'`; \
+ if [ "$$tf" != "$(TARGETLIB)" ]; then \
+ rm -f $$tf; \
+ ln -sf $(TARGETLIB) $$tf; \
+ else true; fi; \
+ else true; fi
+ touch stamp-tshlink
+
+$(OFILES): stamp-picdir
+
+disassemble.o: disassemble.c $(INCDIR)/dis-asm.h
+ if [ -n "$(PICFLAG)" ]; then \
+ $(CC) -c @archdefs@ $(PICFLAG) $(ALL_CFLAGS) $(srcdir)/disassemble.c -o pic/disassemble.o; \
+ else true; fi
+ $(CC) -c @archdefs@ $(ALL_CFLAGS) $(srcdir)/disassemble.c
+
+a29k-dis.o: a29k-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/a29k.h
+dis-buf.o: dis-buf.c $(INCDIR)/dis-asm.h
+h8500-dis.o: h8500-dis.c h8500-opc.h $(INCDIR)/dis-asm.h
+h8300-dis.o: h8300-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/h8300.h
+i386-dis.o: i386-dis.c $(INCDIR)/dis-asm.h
+i960-dis.o: i960-dis.c $(INCDIR)/dis-asm.h
+w65-dis.o: w65-dis.c
+m68k-dis.o: m68k-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/floatformat.h \
+ $(INCDIR)/opcode/m68k.h
+m68k-opc.o: m68k-opc.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/m68k.h
+mips-dis.o: mips-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/mips.h
+mips-opc.o: mips-opc.c $(INCDIR)/opcode/mips.h
+ppc-dis.o: ppc-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/ppc.h
+ppc-opc.o: ppc-opc.c $(INCDIR)/opcode/ppc.h
+sparc-dis.o: sparc-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/sparc.h
+sparc-opc.o: sparc-opc.c $(INCDIR)/opcode/sparc.h
+z8k-dis.o: z8k-dis.c z8k-opc.h $(INCDIR)/dis-asm.h
+ns32k-dis.o: ns32k-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/ns32k.h
+sh-dis.o: sh-dis.c sh-opc.h $(INCDIR)/dis-asm.h
+alpha-dis.o: alpha-dis.c alpha-opc.h $(INCDIR)/dis-asm.h
+hppa-dis.o: hppa-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/hppa.h
+m88k-dis.o: m88k-dis.c $(INCDIR)/dis-asm.h $(INCDIR)/opcode/m88k.h
+arm-dis.o: arm-dis.c arm-opc.h $(INCDIR)/dis-asm.h
tags etags: TAGS
TAGS: force
etags $(INCDIR)/*.h $(srcdir)/*.h $(srcdir)/*.c
-MOSTLYCLEAN = *.o core *.E *.p *.ip
-mostyclean:
+MOSTLYCLEAN = *.o core *.E *.p *.ip config.log pic/*.o
+mostlyclean:
rm -rf $(MOSTLYCLEAN)
clean:
- rm -f *.a $(MOSTLYCLEAN)
+ rm -f *.a $(MOSTLYCLEAN) $(SHLIB) $(SHLINK) piclist stamp-piclist
distclean: clean
- rm -rf Makefile config.status sysdep.h TAGS
-clobber realclean: distclean
+ rm -rf Makefile config.status TAGS config.cache config.h stamp-h \
+ pic stamp-picdir
+clobber realclean maintainer-clean: distclean
# Mark everything as depending on config.status, since the timestamp on
# sysdep.h might actually move backwards if we reconfig and relink it
#
force:
-install:
- -parent=`echo $(libdir)|sed -e 's@/[^/]*$$@@'`; \
- if [ -d $$parent ] ; then true ; else mkdir $$parent ; fi
- -if [ -d $(libdir) ] ; then true ; else mkdir $(libdir) ; fi
- $(INSTALL_DATA) $(TARGETLIB) $(libdir)/libopcodes.a
- $(RANLIB) $(libdir)/libopcodes.a
-
-Makefile: $(srcdir)/Makefile.in $(host_makefile_frag) $(target_makefile_frag)
- $(SHELL) ./config.status
+install: $(ALLLIBS)
+ for f in $(ALLLIBS); do \
+ if [ "$$f" = "stamp-tshlink" ]; then \
+ continue; \
+ fi; \
+ tf=lib`echo $$f | sed -e 's,^\.\./bfd/,,' -e 's/^lib//' | sed '$(program_transform_name)'`; \
+ rm -f $(libdir)/$$tf; \
+ if [ "$$f" = "$(SHLINK)" ]; then \
+ ts=lib`echo $(SHLIB) | sed -e 's,^\.\./bfd/,,' -e 's/^lib//' | sed '$(program_transform_name)'`; \
+ ln -sf $$ts $(libdir)/$$tf; \
+ elif [ "$$f" = "$(SHLIB)" ]; then \
+ $(INSTALL_PROGRAM) $$f $(libdir)/$$tf; \
+ else \
+ $(INSTALL_DATA) $$f $(libdir)/$$tf; \
+ $(RANLIB) $(libdir)/$$tf; \
+ chmod a-x $(libdir)/$$tf; \
+ fi; \
+ done
+
+Makefile: Makefile.in config.status
+ CONFIG_FILES=Makefile CONFIG_HEADERS= $(SHELL) ./config.status
+
+config.h: stamp-h ; @true
+stamp-h: config.in config.status
+ CONFIG_FILES= CONFIG_HEADERS=config.h:config.in $(SHELL) ./config.status
+
+config.status: configure $(srcdir)/../bfd/configure.host $(srcdir)/../bfd/config.bfd $(srcdir)/../bfd/VERSION
+ $(SHELL) config.status --recheck
dep: $(CFILES)
mkdep $(CFLAGS) $?
+stamp-picdir:
+ if [ -n "$(PICFLAG)" ] && [ ! -d pic ]; then \
+ mkdir pic; \
+ else true; fi
+ touch stamp-picdir
# What appears below is generated by a hacked mkdep using gcc -MM.