#               Makefile for wm-FPU-emu
#

CC	= gcc
CFLAGS	= -O5 -Wall -fno-builtin -DRSX -DPARANOID
BUILD = build

.c.o:
	$(CC) $(CFLAGS) -c -o $(BUILD)/$*.o $<

.S.o:
	$(CC) -D__ASSEMBLER__ -c -o $(BUILD)/$*.o $*.S

.s.o:
	$(CC) -D__ASSEMBLER__ -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

all: rsx387 rsxw387
	@echo make ready!

rsx387: $(BUILD)/crt0fpu.o $(OBJS)
	ld -o rsx387 $(BUILD)/crt0fpu.o @ofiles
	strib rsx387

rsxw387: $(BUILD)/crt0fpuw.o $(OBJS)
	ld -o rsxw387 $(BUILD)/crt0fpu.o @ofiles
	strib rsxw387
