1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71
|
libname = libffm
version_major = 0
version = 0.28
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 $@
%.po: %.S
$(CC) $(COPTS) -DPROF -c $< -o $*.po
all: $(LIBFFM) shared $(LIBFFM_P) TidyUp pow.o pow.po
$(LIBFFM):$(OBJS)
rm -f $(LIBFFM)
$(AR) cq $(LIBFFM) $(OBJS)
$(RANLIB) $(LIBFFM)
$(LIBFFM_P):$(OBJS_P)
rm -f $(LIBFFM_P)
$(AR) cq $(LIBFFM_P) $(OBJS_P)
$(RANLIB) $(LIBFFM_P)
shared:$(OBJS)
$(CC) -shared -Wl,-soname,$(libname).so.$(version_major) -o $(libname).so.$(version) $(OBJS)
TidyUp:
rm -f $(OBJS)
rm -f $(OBJS_P)
dsqrtv_.o : dsqrtv.S
$(CC) -DFORTRAN -c $< -o $@
dsqrtv_.po : dsqrtv.S
$(CC) -DFORTRAN -DPROF -c $< -o dsqrtv_.po
dsqrtiv_.o : dsqrtiv.S
$(CC) -DFORTRAN -c $< -o $@
dsqrtiv_.po : dsqrtiv.S
$(CC) -DFORTRAN -DPROF -c $< -o dsqrtiv_.po
pow.o : pow.c
$(CC) -O3 -c $< -o pow.o
pow.po : pow.c
$(CC) -DPROF -O3 -c $< -o pow.po
clean:
rm -rf $(LIBFFM) $(LIBFFM_P) $(OBJS) $(OBJS_P) pow.o pow.po
rm -rf $(libname).so.$(version)
|