     CC = gcc
     AR	= ar
 RANLIB	= ranlib

# Uncomment this line to always replace pow by powr
#    COPTS = -DPOW

LIBFFM	= libffm.a
LIBFFM_P= libffm_p.a

  SRCS	= asincos.S atan.S atan2.S exp.S log.S powr.S sincos.S \
	  sqrt.S sqrti.S dsqrtv.S dsqrtiv.S tancotan.S sinhcosh.S

  OBJS	= asincos.o atan.o atan2.o exp.o log.o powr.o sincos.o \
	  tancotan.o sinhcosh.o\
	  sqrt.o sqrti.o dsqrtv.o dsqrtv_.o dsqrtiv.o dsqrtiv_.o

  OBJS_P= asincos.po atan.po atan2.po exp.po log.po powr.po sincos.po \
	  tancotan.po sinhcosh.po\
	  sqrt.po sqrti.po dsqrtv.po dsqrtv_.po dsqrtiv.po dsqrtiv_.po

.S.o:
	$(CC) $(COPTS) -c -o $*.o $<

%.po: %.S
	$(CC) $(COPTS) -c -DPROF -o $*.po $<

all: $(LIBFFM) $(LIBFFM_P) pow.o pow.po

$(LIBFFM):$(OBJS)
	rm -f $(LIBFFM)
	$(AR) cq $(LIBFFM) $(OBJS)
	$(RANLIB) $(LIBFFM)
	rm -f $(OBJS)

$(LIBFFM_P):$(OBJS_P)
	rm -f $(LIBFFM_P)
	$(AR) cq $(LIBFFM_P) $(OBJS_P)
	$(RANLIB) $(LIBFFM_P)
	rm -f $(OBJS_P)

dsqrtv_.o : dsqrtv.S
	$(CC) -DFORTRAN -c -o dsqrtv_.o dsqrtv.S

dsqrtv_.po : dsqrtv.S
	$(CC) -DFORTRAN -DPROF -c -o dsqrtv_.po dsqrtv.S

dsqrtiv_.o : dsqrtiv.S
	$(CC) -DFORTRAN -c -o dsqrtiv_.o dsqrtiv.S

dsqrtiv_.po : dsqrtiv.S
	$(CC) -DFORTRAN -DPROF -c -o dsqrtiv_.po dsqrtiv.S
	
pow.o : pow.c
	$(CC) -O3 -c -o pow.o pow.c

pow.po : pow.c
	$(CC) -O3 -DPROF -c -o pow.po pow.c

clean:
	rm -rf $(LIBFFM) $(LIBFFM_P) $(OBJS) $(OBJS_P) pow.o pow.po
