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
|
FC:=gfortran
PREFIX:=/usr/local
PACKAGE_VERSION:=3.2
LIBDIR=$(PREFIX)/lib
LD:=$(LD)
SONAME=libsphere.so.0d
SHLIBFLAGS:= -Wl,--soname,$(SONAME) -Wl,--version-script,spherepack.ver -lm
PIC_OBJS = $(patsubst %.f,%.pic_o, $(wildcard *.f))
all: libsphere.a shlib libsphere.so
libsphere.a: *.f
$(FC) --default-real-8 -c $<
$(LD) -r -o libsphere.a *.o
libsphere.so: $(SONAME)
ln -sf $(SONAME) $@
shlib $(SONAME): $(PIC_OBJS)
$(FC) $(LDFLAGS) -Wl,--as-needed -shared -o $(SONAME) $(SHLIBFLAGS) $(PIC_OBJS) -lc
install:
mkdir -p $(DESTDIR)$(PREFIX)/lib
cp libsphere.a $(DESTDIR)$(PREFIX)/lib
cp $(SONAME) $(DESTDIR)$(PREFIX)/lib
ln -sf $(SONAME) $(DESTDIR)$(PREFIX)/lib/libsphere.so
mkdir -p $(DESTDIR)$(LIBDIR)
mkdir -p $(DESTDIR)$(LIBDIR)/pkgconfig
cp libsphere.a $(DESTDIR)$(LIBDIR)
cp $(SONAME) $(DESTDIR)$(LIBDIR)
ln -sf $(SONAME) $(DESTDIR)$(LIDBIR)/libsphere.so
sed -e 's;@prefix@;${PREFIX};' -e 's;@PACKAGE_VERSION@;${PACKAGE_VERSION};' -e 's;@LIBDIR@;${LIBDIR};' \
< sphere.pc.in > $(DESTDIR)$(LIBDIR)/pkgconfig/sphere.pc
clean:
rm -f *.o *.pic_o libsphere.a $(SONAME) libsphere.so
%.pic_o: %.f
$(FC) --default-real-8 -fPIC -c -o $@ $<
|