1# Copyright (C) 2001-2015  The Bochs Project
2#
3# This library is free software; you can redistribute it and/or
4# modify it under the terms of the GNU Lesser General Public
5# License as published by the Free Software Foundation; either
6# version 2 of the License, or (at your option) any later version.
7#
8# This library is distributed in the hope that it will be useful,
9# but WITHOUT ANY WARRANTY; without even the implied warranty of
10# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
11# Lesser General Public License for more details.
12#
13# You should have received a copy of the GNU Lesser General Public
14# License along with this library; if not, write to the Free Software
15# Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301 USA
16
17# Makefile for the fpu component of bochs
18
19@SUFFIX_LINE@
20
21srcdir = @srcdir@
22VPATH = @srcdir@
23top_builddir    = ..
24top_srcdir      = @top_srcdir@
25
26SHELL = @SHELL@
27
28@SET_MAKE@
29
30CC       = @CC@
31CFLAGS   = @CFLAGS@ @GUI_CFLAGS@
32CXX      = @CXX@
33CXXFLAGS = @CXXFLAGS@ @GUI_CXXFLAGS@
34
35#CFLAGS  = -Wall -Wstrict-prototypes -fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce -mpreferred-stack-boundary=2 -DCPU=686 -march=i686
36
37LDFLAGS    = @LDFLAGS@
38LIBS       = @LIBS@
39RANLIB     = @RANLIB@
40
41L_TARGET = libfpu.a
42
43
44BX_INCDIRS = -I.. -I../.. -I$(srcdir)/.. -I$(srcdir)/../.. -I../../@INSTRUMENT_DIR@ -I$(srcdir)/../../@INSTRUMENT_DIR@
45
46OBJS = ferr.o fpu.o fpu_arith.o fpu_compare.o fpu_const.o fpu_cmov.o \
47               fpu_load_store.o fpu_misc.o fpu_trans.o \
48               fprem.o fsincos.o f2xm1.o fyl2x.o fpatan.o \
49               softfloat.o softfloatx80.o softfloat16.o softfloat-muladd.o \
50               softfloat-specialize.o softfloat-round-pack.o poly.o
51
52all: libfpu.a
53
54.@CPP_SUFFIX@.o:
55	$(CXX) @DASH@c $(BX_INCDIRS) $(CXXFLAGS) @CXXFP@$< @OFP@$@
56
57.c.o:
58	$(CC) @DASH@c $(CFLAGS) $(BX_INCDIRS) $< @OFP@$@
59
60
61libfpu.a: $(OBJS)
62	@RMCOMMAND@ libfpu.a
63	@MAKELIB@ $(OBJS)
64	$(RANLIB) libfpu.a
65
66clean:
67	@RMCOMMAND@ *.o
68	@RMCOMMAND@ *.a
69
70dist-clean: clean
71	@RMCOMMAND@ Makefile
72
73###########################################
74# dependencies generated by
75#  gcc -MM -I.. -I../.. -I../../instrument/stubs *.cc | sed 's/\.cc/.@CPP_SUFFIX@/g'
76###########################################
77f2xm1.o: f2xm1.@CPP_SUFFIX@ softfloatx80.h softfloat.h ../../config.h \
78 softfloat-specialize.h softfloat-macros.h softfloat-round-pack.h
79ferr.o: ferr.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
80 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
81 ../../cpu/decoder/decoder.h ../../gui/paramtree.h ../../logio.h \
82 ../../instrument/stubs/instrument.h ../../cpu/cpu.h \
83 ../../cpu/decoder/decoder.h ../../cpu/i387.h ../../cpu/fpu/softfloat.h \
84 ../../cpu/fpu/tag_w.h ../../cpu/fpu/status_w.h ../../cpu/fpu/control_w.h \
85 ../../cpu/crregs.h ../../cpu/descriptor.h ../../cpu/decoder/instr.h \
86 ../../cpu/lazy_flags.h ../../cpu/tlb.h ../../cpu/icache.h \
87 ../../cpu/apic.h ../../cpu/xmm.h ../../cpu/vmx.h ../../cpu/svm.h \
88 ../../cpu/cpuid.h ../../cpu/stack.h ../../cpu/access.h \
89 softfloat-specialize.h softfloat.h
90fpatan.o: fpatan.@CPP_SUFFIX@ softfloatx80.h softfloat.h ../../config.h \
91 softfloat-specialize.h softfloat-macros.h softfloat-round-pack.h \
92 fpu_constant.h
93fprem.o: fprem.@CPP_SUFFIX@ softfloatx80.h softfloat.h ../../config.h \
94 softfloat-specialize.h softfloat-round-pack.h softfloat-macros.h
95fpu.o: fpu.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
96 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
97 ../../cpu/decoder/decoder.h ../../gui/paramtree.h ../../logio.h \
98 ../../instrument/stubs/instrument.h ../../cpu/cpu.h \
99 ../../cpu/decoder/decoder.h ../../cpu/i387.h ../../cpu/fpu/softfloat.h \
100 ../../cpu/fpu/tag_w.h ../../cpu/fpu/status_w.h ../../cpu/fpu/control_w.h \
101 ../../cpu/crregs.h ../../cpu/descriptor.h ../../cpu/decoder/instr.h \
102 ../../cpu/lazy_flags.h ../../cpu/tlb.h ../../cpu/icache.h \
103 ../../cpu/apic.h ../../cpu/xmm.h ../../cpu/vmx.h ../../cpu/svm.h \
104 ../../cpu/cpuid.h ../../cpu/stack.h ../../cpu/access.h \
105 ../../iodev/iodev.h ../../plugin.h ../../extplugin.h ../../param_names.h \
106 ../../pc_system.h ../../memory/memory-bochs.h ../../gui/siminterface.h \
107 ../../gui/paramtree.h ../../gui/gui.h softfloatx80.h softfloat.h \
108 softfloat-specialize.h
109fpu_arith.o: fpu_arith.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
110 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
111 ../../cpu/decoder/decoder.h ../../gui/paramtree.h ../../logio.h \
112 ../../instrument/stubs/instrument.h ../../cpu/cpu.h \
113 ../../cpu/decoder/decoder.h ../../cpu/i387.h ../../cpu/fpu/softfloat.h \
114 ../../cpu/fpu/tag_w.h ../../cpu/fpu/status_w.h ../../cpu/fpu/control_w.h \
115 ../../cpu/crregs.h ../../cpu/descriptor.h ../../cpu/decoder/instr.h \
116 ../../cpu/lazy_flags.h ../../cpu/tlb.h ../../cpu/icache.h \
117 ../../cpu/apic.h ../../cpu/xmm.h ../../cpu/vmx.h ../../cpu/svm.h \
118 ../../cpu/cpuid.h ../../cpu/stack.h ../../cpu/access.h softfloatx80.h \
119 softfloat.h softfloat-specialize.h
120fpu_cmov.o: fpu_cmov.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
121 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
122 ../../cpu/decoder/decoder.h ../../gui/paramtree.h ../../logio.h \
123 ../../instrument/stubs/instrument.h ../../cpu/cpu.h \
124 ../../cpu/decoder/decoder.h ../../cpu/i387.h ../../cpu/fpu/softfloat.h \
125 ../../cpu/fpu/tag_w.h ../../cpu/fpu/status_w.h ../../cpu/fpu/control_w.h \
126 ../../cpu/crregs.h ../../cpu/descriptor.h ../../cpu/decoder/instr.h \
127 ../../cpu/lazy_flags.h ../../cpu/tlb.h ../../cpu/icache.h \
128 ../../cpu/apic.h ../../cpu/xmm.h ../../cpu/vmx.h ../../cpu/svm.h \
129 ../../cpu/cpuid.h ../../cpu/stack.h ../../cpu/access.h
130fpu_compare.o: fpu_compare.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
131 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
132 ../../cpu/decoder/decoder.h ../../gui/paramtree.h ../../logio.h \
133 ../../instrument/stubs/instrument.h ../../cpu/cpu.h \
134 ../../cpu/decoder/decoder.h ../../cpu/i387.h ../../cpu/fpu/softfloat.h \
135 ../../cpu/fpu/tag_w.h ../../cpu/fpu/status_w.h ../../cpu/fpu/control_w.h \
136 ../../cpu/crregs.h ../../cpu/descriptor.h ../../cpu/decoder/instr.h \
137 ../../cpu/lazy_flags.h ../../cpu/tlb.h ../../cpu/icache.h \
138 ../../cpu/apic.h ../../cpu/xmm.h ../../cpu/vmx.h ../../cpu/svm.h \
139 ../../cpu/cpuid.h ../../cpu/stack.h ../../cpu/access.h \
140 ../../cpu/decoder/ia_opcodes.h ../../cpu/decoder/ia_opcodes.def \
141 softfloatx80.h softfloat.h softfloat-specialize.h
142fpu_const.o: fpu_const.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
143 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
144 ../../cpu/decoder/decoder.h ../../gui/paramtree.h ../../logio.h \
145 ../../instrument/stubs/instrument.h ../../cpu/cpu.h \
146 ../../cpu/decoder/decoder.h ../../cpu/i387.h ../../cpu/fpu/softfloat.h \
147 ../../cpu/fpu/tag_w.h ../../cpu/fpu/status_w.h ../../cpu/fpu/control_w.h \
148 ../../cpu/crregs.h ../../cpu/descriptor.h ../../cpu/decoder/instr.h \
149 ../../cpu/lazy_flags.h ../../cpu/tlb.h ../../cpu/icache.h \
150 ../../cpu/apic.h ../../cpu/xmm.h ../../cpu/vmx.h ../../cpu/svm.h \
151 ../../cpu/cpuid.h ../../cpu/stack.h ../../cpu/access.h softfloatx80.h \
152 softfloat.h softfloat-specialize.h
153fpu_load_store.o: fpu_load_store.@CPP_SUFFIX@ ../../bochs.h ../../config.h \
154 ../../osdep.h ../../bx_debug/debug.h ../../config.h ../../osdep.h \
155 ../../cpu/decoder/decoder.h ../../gui/paramtree.h ../../logio.h \
156 ../../instrument/stubs/instrument.h ../../cpu/cpu.h \
157 ../../cpu/decoder/decoder.h ../../cpu/i387.h ../../cpu/fpu/softfloat.h \
158 ../../cpu/fpu/tag_w.h ../../cpu/fpu/status_w.h ../../cpu/fpu/control_w.h \
159 ../../cpu/crregs.h ../../cpu/descriptor.h ../../cpu/decoder/instr.h \
160 ../../cpu/lazy_flags.h ../../cpu/tlb.h ../../cpu/icache.h \
161 ../../cpu/apic.h ../../cpu/xmm.h ../../cpu/vmx.h ../../cpu/svm.h \
162 ../../cpu/cpuid.h ../../cpu/stack.h ../../cpu/access.h \
163 ../../cpu/decoder/ia_opcodes.h ../../cpu/decoder/ia_opcodes.def \
164 softfloatx80.h softfloat.h softfloat-specialize.h
165fpu_misc.o: fpu_misc.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
166 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
167 ../../cpu/decoder/decoder.h ../../gui/paramtree.h ../../logio.h \
168 ../../instrument/stubs/instrument.h ../../cpu/cpu.h \
169 ../../cpu/decoder/decoder.h ../../cpu/i387.h ../../cpu/fpu/softfloat.h \
170 ../../cpu/fpu/tag_w.h ../../cpu/fpu/status_w.h ../../cpu/fpu/control_w.h \
171 ../../cpu/crregs.h ../../cpu/descriptor.h ../../cpu/decoder/instr.h \
172 ../../cpu/lazy_flags.h ../../cpu/tlb.h ../../cpu/icache.h \
173 ../../cpu/apic.h ../../cpu/xmm.h ../../cpu/vmx.h ../../cpu/svm.h \
174 ../../cpu/cpuid.h ../../cpu/stack.h ../../cpu/access.h softfloatx80.h \
175 softfloat.h softfloat-specialize.h
176fpu_trans.o: fpu_trans.@CPP_SUFFIX@ ../../bochs.h ../../config.h ../../osdep.h \
177 ../../bx_debug/debug.h ../../config.h ../../osdep.h \
178 ../../cpu/decoder/decoder.h ../../gui/paramtree.h ../../logio.h \
179 ../../instrument/stubs/instrument.h ../../cpu/cpu.h \
180 ../../cpu/decoder/decoder.h ../../cpu/i387.h ../../cpu/fpu/softfloat.h \
181 ../../cpu/fpu/tag_w.h ../../cpu/fpu/status_w.h ../../cpu/fpu/control_w.h \
182 ../../cpu/crregs.h ../../cpu/descriptor.h ../../cpu/decoder/instr.h \
183 ../../cpu/lazy_flags.h ../../cpu/tlb.h ../../cpu/icache.h \
184 ../../cpu/apic.h ../../cpu/xmm.h ../../cpu/vmx.h ../../cpu/svm.h \
185 ../../cpu/cpuid.h ../../cpu/stack.h ../../cpu/access.h softfloatx80.h \
186 softfloat.h softfloat-specialize.h
187fsincos.o: fsincos.@CPP_SUFFIX@ softfloatx80.h softfloat.h ../../config.h \
188 softfloat-specialize.h softfloat-macros.h softfloat-round-pack.h \
189 fpu_constant.h
190fyl2x.o: fyl2x.@CPP_SUFFIX@ softfloatx80.h softfloat.h ../../config.h \
191 softfloat-specialize.h softfloat-macros.h softfloat-round-pack.h \
192 fpu_constant.h
193poly.o: poly.@CPP_SUFFIX@ softfloat.h ../../config.h
194softfloat-muladd.o: softfloat-muladd.@CPP_SUFFIX@ softfloat.h ../../config.h \
195 softfloat-round-pack.h softfloat-macros.h softfloat-specialize.h
196softfloat-round-pack.o: softfloat-round-pack.@CPP_SUFFIX@ softfloat.h \
197 ../../config.h softfloat-round-pack.h softfloat-macros.h \
198 softfloat-specialize.h
199softfloat-specialize.o: softfloat-specialize.@CPP_SUFFIX@ softfloat.h \
200 ../../config.h softfloat-specialize.h softfloat-macros.h
201softfloat.o: softfloat.@CPP_SUFFIX@ softfloat.h ../../config.h \
202 softfloat-round-pack.h softfloat-macros.h softfloat-specialize.h
203softfloat16.o: softfloat16.@CPP_SUFFIX@ softfloat.h ../../config.h \
204 softfloat-round-pack.h softfloat-specialize.h softfloat-macros.h
205softfloatx80.o: softfloatx80.@CPP_SUFFIX@ softfloatx80.h softfloat.h ../../config.h \
206 softfloat-specialize.h softfloat-round-pack.h softfloat-macros.h
207