# Copyright (C) 2001  The Bochs Project
#
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
# Lesser General Public License for more details.
#
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the Free Software
# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA

@SUFFIX_LINE@

srcdir = @srcdir@
VPATH = @srcdir@
top_builddir    = ..
top_srcdir      = @top_srcdir@

SHELL = /bin/sh

@SET_MAKE@

CC       = @CC@
CFLAGS   = @CFLAGS@ @GUI_CFLAGS@
CXX      = @CXX@
CXXFLAGS = @CXXFLAGS@ @GUI_CXXFLAGS@

#CFLAGS  = -Wall -Wstrict-prototypes -fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce -mpreferred-stack-boundary=2 -DCPU=686 -march=i686

LDFLAGS    = @LDFLAGS@
LIBS       = @LIBS@
RANLIB     = @RANLIB@

L_TARGET = libfpu.a


BX_INCDIRS = -I.. -I$(srcdir)/.. -I../@INSTRUMENT_DIR@ -I$(srcdir)/../@INSTRUMENT_DIR@ -I. -I$(srcdir)/. -I./stubs -I$(srcdir)/./stubs

OBJS = ferr.o fpu.o fpu_arith.o fpu_compare.o fpu_const.o \
               fpu_load_store.o fpu_misc.o fpu_trans.o fpu_tags.o \
               fprem.o fsincos.o f2xm1.o fyl2x.o fpatan.o \
               softfloat.o softfloatx80.o softfloat-specialize.o \
               softfloat-round-pack.o poly.o

all: libfpu.a

.@CPP_SUFFIX@.o:
	$(CXX) @DASH@c $(BX_INCDIRS) $(CXXFLAGS) @CXXFP@$< @OFP@$@

.c.o:
	$(CC) @DASH@c $(CFLAGS) $(BX_INCDIRS) $< @OFP@$@


libfpu.a: $(OBJS)
	@RMCOMMAND@ libfpu.a
	@MAKELIB@ $(OBJS)
	$(RANLIB) libfpu.a

clean:
	@RMCOMMAND@ *.o
	@RMCOMMAND@ *.a

dist-clean: clean
	@RMCOMMAND@ Makefile

###########################################
# dependencies generated by
#  gcc -MM -I.. -I../instrument/stubs *.cc | sed -e 's/\.cc/.@CPP_SUFFIX@/g'
###########################################
f2xm1.o: f2xm1.@CPP_SUFFIX@ softfloatx80.h softfloat.h ../config.h \
  softfloat-specialize.h softfloat-macros.h softfloat-round-pack.h
ferr.o: ferr.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
  ../config.h ../osdep.h ../bxversion.h ../gui/siminterface.h \
  ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../plugin.h \
  ../extplugin.h ../ltdl.h ../gui/gui.h ../instrument/stubs/instrument.h \
  ../cpu/cpu.h ../cpu/model_specific.h ../cpu/crregs.h \
  ../cpu/descriptor.h ../cpu/instr.h ../cpu/ia_opcodes.h \
  ../cpu/lazy_flags.h ../cpu/icache.h ../cpu/apic.h ../cpu/i387.h \
  ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
  ../cpu/xmm.h ../cpu/stack.h softfloat-specialize.h softfloat.h
fpatan.o: fpatan.@CPP_SUFFIX@ softfloatx80.h softfloat.h ../config.h \
  softfloat-specialize.h softfloat-macros.h softfloat-round-pack.h \
  fpu_constant.h
fprem.o: fprem.@CPP_SUFFIX@ softfloatx80.h softfloat.h ../config.h \
  softfloat-specialize.h softfloat-round-pack.h softfloat-macros.h
fpu_arith.o: fpu_arith.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
  ../bx_debug/debug.h ../config.h ../osdep.h ../bxversion.h \
  ../gui/siminterface.h ../gui/paramtree.h ../memory/memory.h \
  ../pc_system.h ../plugin.h ../extplugin.h ../ltdl.h ../gui/gui.h \
  ../instrument/stubs/instrument.h ../cpu/cpu.h ../cpu/model_specific.h \
  ../cpu/crregs.h ../cpu/descriptor.h ../cpu/instr.h ../cpu/ia_opcodes.h \
  ../cpu/lazy_flags.h ../cpu/icache.h ../cpu/apic.h ../cpu/i387.h \
  ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
  ../cpu/xmm.h ../cpu/stack.h softfloatx80.h softfloat.h \
  softfloat-specialize.h
fpu.o: fpu.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h ../bx_debug/debug.h \
  ../config.h ../osdep.h ../bxversion.h ../gui/siminterface.h \
  ../gui/paramtree.h ../memory/memory.h ../pc_system.h ../plugin.h \
  ../extplugin.h ../ltdl.h ../gui/gui.h ../instrument/stubs/instrument.h \
  ../cpu/cpu.h ../cpu/model_specific.h ../cpu/crregs.h \
  ../cpu/descriptor.h ../cpu/instr.h ../cpu/ia_opcodes.h \
  ../cpu/lazy_flags.h ../cpu/icache.h ../cpu/apic.h ../cpu/i387.h \
  ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
  ../cpu/xmm.h ../cpu/stack.h ../iodev/iodev.h ../param_names.h \
  softfloatx80.h softfloat.h softfloat-specialize.h
fpu_compare.o: fpu_compare.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
  ../bx_debug/debug.h ../config.h ../osdep.h ../bxversion.h \
  ../gui/siminterface.h ../gui/paramtree.h ../memory/memory.h \
  ../pc_system.h ../plugin.h ../extplugin.h ../ltdl.h ../gui/gui.h \
  ../instrument/stubs/instrument.h ../cpu/cpu.h ../cpu/model_specific.h \
  ../cpu/crregs.h ../cpu/descriptor.h ../cpu/instr.h ../cpu/ia_opcodes.h \
  ../cpu/lazy_flags.h ../cpu/icache.h ../cpu/apic.h ../cpu/i387.h \
  ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
  ../cpu/xmm.h ../cpu/stack.h softfloatx80.h softfloat.h \
  softfloat-specialize.h
fpu_const.o: fpu_const.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
  ../bx_debug/debug.h ../config.h ../osdep.h ../bxversion.h \
  ../gui/siminterface.h ../gui/paramtree.h ../memory/memory.h \
  ../pc_system.h ../plugin.h ../extplugin.h ../ltdl.h ../gui/gui.h \
  ../instrument/stubs/instrument.h ../cpu/cpu.h ../cpu/model_specific.h \
  ../cpu/crregs.h ../cpu/descriptor.h ../cpu/instr.h ../cpu/ia_opcodes.h \
  ../cpu/lazy_flags.h ../cpu/icache.h ../cpu/apic.h ../cpu/i387.h \
  ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
  ../cpu/xmm.h ../cpu/stack.h softfloatx80.h softfloat.h \
  softfloat-specialize.h
fpu_load_store.o: fpu_load_store.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
  ../bx_debug/debug.h ../config.h ../osdep.h ../bxversion.h \
  ../gui/siminterface.h ../gui/paramtree.h ../memory/memory.h \
  ../pc_system.h ../plugin.h ../extplugin.h ../ltdl.h ../gui/gui.h \
  ../instrument/stubs/instrument.h ../cpu/cpu.h ../cpu/model_specific.h \
  ../cpu/crregs.h ../cpu/descriptor.h ../cpu/instr.h ../cpu/ia_opcodes.h \
  ../cpu/lazy_flags.h ../cpu/icache.h ../cpu/apic.h ../cpu/i387.h \
  ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
  ../cpu/xmm.h ../cpu/stack.h softfloatx80.h softfloat.h \
  softfloat-specialize.h
fpu_misc.o: fpu_misc.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
  ../bx_debug/debug.h ../config.h ../osdep.h ../bxversion.h \
  ../gui/siminterface.h ../gui/paramtree.h ../memory/memory.h \
  ../pc_system.h ../plugin.h ../extplugin.h ../ltdl.h ../gui/gui.h \
  ../instrument/stubs/instrument.h ../cpu/cpu.h ../cpu/model_specific.h \
  ../cpu/crregs.h ../cpu/descriptor.h ../cpu/instr.h ../cpu/ia_opcodes.h \
  ../cpu/lazy_flags.h ../cpu/icache.h ../cpu/apic.h ../cpu/i387.h \
  ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
  ../cpu/xmm.h ../cpu/stack.h softfloatx80.h softfloat.h \
  softfloat-specialize.h
fpu_tags.o: fpu_tags.@CPP_SUFFIX@ ../config.h softfloat.h softfloat-specialize.h \
  ../cpu/i387.h ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h \
  ../fpu/control_w.h
fpu_trans.o: fpu_trans.@CPP_SUFFIX@ ../bochs.h ../config.h ../osdep.h \
  ../bx_debug/debug.h ../config.h ../osdep.h ../bxversion.h \
  ../gui/siminterface.h ../gui/paramtree.h ../memory/memory.h \
  ../pc_system.h ../plugin.h ../extplugin.h ../ltdl.h ../gui/gui.h \
  ../instrument/stubs/instrument.h ../cpu/cpu.h ../cpu/model_specific.h \
  ../cpu/crregs.h ../cpu/descriptor.h ../cpu/instr.h ../cpu/ia_opcodes.h \
  ../cpu/lazy_flags.h ../cpu/icache.h ../cpu/apic.h ../cpu/i387.h \
  ../fpu/softfloat.h ../fpu/tag_w.h ../fpu/status_w.h ../fpu/control_w.h \
  ../cpu/xmm.h ../cpu/stack.h softfloatx80.h softfloat.h \
  softfloat-specialize.h
fsincos.o: fsincos.@CPP_SUFFIX@ softfloatx80.h softfloat.h ../config.h \
  softfloat-specialize.h softfloat-macros.h softfloat-round-pack.h \
  fpu_constant.h
fyl2x.o: fyl2x.@CPP_SUFFIX@ softfloatx80.h softfloat.h ../config.h \
  softfloat-specialize.h softfloat-macros.h softfloat-round-pack.h \
  fpu_constant.h
poly.o: poly.@CPP_SUFFIX@ softfloat.h ../config.h
softfloat.o: softfloat.@CPP_SUFFIX@ softfloat.h ../config.h softfloat-round-pack.h \
  softfloat-macros.h softfloat-specialize.h
softfloat-round-pack.o: softfloat-round-pack.@CPP_SUFFIX@ softfloat.h ../config.h \
  softfloat-round-pack.h softfloat-macros.h softfloat-specialize.h
softfloat-specialize.o: softfloat-specialize.@CPP_SUFFIX@ softfloat.h ../config.h \
  softfloat-specialize.h softfloat-macros.h
softfloatx80.o: softfloatx80.@CPP_SUFFIX@ softfloatx80.h softfloat.h ../config.h \
  softfloat-specialize.h softfloat-round-pack.h softfloat-macros.h
