#               Makefile for wm-FPU-emu
#

CC	= gcc
#OPTS	= -O2
OPTS	= -O
DEBUG  = -DDEBUGGING
#DEBUG   =
CFLAGS2 = $(CFLAGS) -Wall -fno-builtin
MATH_EMULATION =
TMPDIR = /tmp

.c.o:
	$(CC) $(CFLAGS2) $(MATH_EMULATION) -c -o build/$*.o $<

.S.o:
	$(CC) $(CFLAGS2) -c -o build/$*.o $*.S

.s.o:
	$(CC) $(CFLAGS2) -c -o build/$*.o $*.S


OBJS =  \
	build/verify.o \
	build/printk.o \
	build/div_small.o \
	build/poly_div.o \
	build/poly_mul64.o \
	build/polynomial.o \
	build/reg_div.o \
	build/reg_norm.o \
	build/reg_u_add.o \
	build/reg_u_div.o \
	build/reg_u_mul.o \
	build/reg_u_sub.o \
	build/wm_shrx.o \
	build/wm_sqrt.o \
	build/errors.o \
	build/fpu_arith.o \
	build/fpu_aux.o \
	build/fpu_entry.o \
	build/fpu_etc.o \
	build/fpu_trig.o \
	build/get_address.o \
	build/load_store.o \
	build/poly_2xm1.o \
	build/poly_atan.o \
	build/poly_l2.o \
	build/poly_sin.o \
	build/poly_tan.o \
	build/reg_add_sub.o \
	build/reg_compare.o \
	build/reg_round.o \
	build/reg_constant.o \
	build/reg_ld_str.o \
	build/reg_mul.o


rsx387: build/crt0fpu.o $(OBJS)
	ld @ofiles
#	 ld -o rsx387 build/crt0fpu.o $(OBJS)

### Dependencies:

build/crt0fpu.o : crt0fpu.S
	$(CC) $(CFLAGS2) -c -o build/crt0fpu.o crt0fpu.S

build/errors.o : errors.c fpu_system.h  reg_constant.h version.h
build/fpu_arith.o : fpu_arith.c fpu_system.h fpu_emu.h fpu_proto.h
build/fpu_aux.o : fpu_aux.c fpu_system.h exception.h fpu_emu.h fpu_proto.h status_w.h
build/fpu_entry.o : fpu_entry.c
build/fpu_etc.o : fpu_etc.c fpu_system.h exception.h fpu_emu.h fpu_proto.h status_w.h reg_constant.h
build/fpu_trig.o : fpu_trig.c fpu_system.h fpu_emu.h fpu_proto.h status_w.h control_w.h reg_constant.h
build/get_address.o : get_address.c fpu_system.h fpu_proto.h
build/load_store.o : load_store.c fpu_system.h exception.h fpu_emu.h fpu_proto.h status_w.h
build/poly_2xm1.o : poly_2xm1.c exception.h fpu_emu.h reg_constant.h
build/poly_atan.o : poly_atan.c exception.h fpu_emu.h fpu_proto.h reg_constant.h
build/poly_l2.o : poly_l2.c exception.h fpu_emu.h fpu_proto.h reg_constant.h
build/poly_sin.o : poly_sin.c exception.h fpu_emu.h fpu_proto.h reg_constant.h
build/poly_tan.o : poly_tan.c exception.h fpu_emu.h fpu_proto.h reg_constant.h
build/reg_add_sub.o : reg_add_sub.c exception.h fpu_emu.h fpu_proto.h reg_constant.h
build/reg_compare.o : reg_compare.c fpu_system.h exception.h fpu_emu.h fpu_proto.h status_w.h
build/reg_constant.o : reg_constant.c fpu_system.h fpu_emu.h fpu_proto.h status_w.h reg_constant.h
build/reg_ld_str.o : reg_ld_str.c fpu_system.h control_w.h
build/reg_mul.o : reg_mul.c exception.h fpu_emu.h reg_constant.h
build/div_small.o : div_small.S fpu_asm.h fpu_emu.h
build/poly_div.o : poly_div.S fpu_asm.h fpu_emu.h
build/poly_mul64.o : poly_mul64.S fpu_asm.h fpu_emu.h
build/polynomial.o : polynomial.S fpu_asm.h fpu_emu.h
build/reg_div.o : reg_div.S exception.h fpu_emu.h fpu_asm.h
build/reg_norm.o : reg_norm.S fpu_asm.h fpu_emu.h
build/reg_u_add.o : reg_u_add.S exception.h fpu_emu.h fpu_asm.h
build/reg_u_div.o : reg_u_div.S exception.h fpu_emu.h fpu_asm.h
build/reg_u_mul.o : reg_u_mul.S exception.h fpu_emu.h fpu_asm.h
build/reg_u_sub.o : reg_u_sub.S exception.h fpu_emu.h fpu_asm.h
build/wm_shrx.o : wm_shrx.S fpu_asm.h fpu_emu.h
build/wm_sqrt.o : wm_sqrt.S exception.h fpu_emu.h fpu_asm.h
build/reg_round.o : reg_round.S
