Compile the Fortran library into a shared object instead
of static library.
Lubomir Rintel <lkundrak@v3.sk>
diff -up Healpix_2.11c/src/f90/alteralm/Makefile.shlib Healpix_2.11c/src/f90/alteralm/Makefile
--- Healpix_2.11c/src/f90/alteralm/Makefile.shlib 2005-02-24 11:22:59.000000000 +0100
+++ Healpix_2.11c/src/f90/alteralm/Makefile 2009-04-03 13:00:43.000000000 +0200
@@ -11,5 +11,5 @@ inc = alt_sub_inc.f90
default: $(exec)
-$(exec): $(obj) $(LIBDIR)/libhealpix.a
- $(FC) $(FFLAGS) -o $(exec) $(obj) $(LDFLAGS)
+$(exec): $(obj)
+ $(FC) $(FFLAGS) -L$(LIBDIR) -lhealpix -o $(exec) $(obj) $(LDFLAGS)
diff -up Healpix_2.11c/src/f90/anafast/Makefile.shlib Healpix_2.11c/src/f90/anafast/Makefile
--- Healpix_2.11c/src/f90/anafast/Makefile.shlib 2005-02-16 05:55:38.000000000 +0100
+++ Healpix_2.11c/src/f90/anafast/Makefile 2009-04-03 13:00:43.000000000 +0200
@@ -11,5 +11,5 @@ inc = ana_sub_inc.f90
default: $(exec)
-$(exec): $(obj) $(LIBDIR)/libhealpix.a
- $(FC) $(FFLAGS) -o $(exec) $(obj) $(LDFLAGS)
+$(exec): $(obj)
+ $(FC) $(FFLAGS) -L$(LIBDIR) -lhealpix -o $(exec) $(obj) $(LDFLAGS)
diff -up Healpix_2.11c/src/f90/hotspot/Makefile.shlib Healpix_2.11c/src/f90/hotspot/Makefile
--- Healpix_2.11c/src/f90/hotspot/Makefile.shlib 2009-04-03 13:01:12.000000000 +0200
+++ Healpix_2.11c/src/f90/hotspot/Makefile 2009-04-03 13:01:27.000000000 +0200
@@ -31,5 +31,5 @@ obj = maxima_tools.o HotSpots.o
default: $(exec)
-$(exec): $(obj) $(LIBDIR)/libhealpix.a
- $(FC) $(FFLAGS) -o $(exec) $(obj) $(LDFLAGS)
+$(exec): $(obj)
+ $(FC) $(FFLAGS) -L$(LIBDIR) -lhealpix -o $(exec) $(obj) $(LDFLAGS)
diff -up Healpix_2.11c/src/f90/lib/Makefile.shlib Healpix_2.11c/src/f90/lib/Makefile
--- Healpix_2.11c/src/f90/lib/Makefile.shlib 2005-01-28 08:33:25.000000000 +0100
+++ Healpix_2.11c/src/f90/lib/Makefile 2009-04-03 13:00:43.000000000 +0200
@@ -17,7 +17,7 @@ allobj = $(libobj) $(gifobj) $(modobj)
%.o: %.f90
$(FC) $(FFLAGS) -c $< -o $@
-default: libgif.a
+default: libgif.so
libgif.a: $(allobj)
$(AR) libgif.a $(allobj)
@@ -25,3 +25,16 @@ libgif.a: $(allobj)
@for p in *.$(MOD); do \
cp $$p $(INCDIR)/; \
done
+
+# He's sick, he's sick, he's really really sick
+# he's sick, he's sick, he's really really sick
+# he's really really sick, he's really really sick
+# he's sick, he's sick.
+# -- Alice Cooper
+.PHONY: libgif.so
+libgif.so: $(allobj)
+ $(FC) $(FFLAGS) -o $@ -shared $(allobj)
+ cp -p $@ $(LIBDIR)/
+ for p in *.$(MOD); do \
+ cp $$p $(INCDIR)/; \
+ done
diff -up Healpix_2.11c/src/f90/map2gif/Makefile.shlib Healpix_2.11c/src/f90/map2gif/Makefile
--- Healpix_2.11c/src/f90/map2gif/Makefile.shlib 2003-02-17 12:06:10.000000000 +0100
+++ Healpix_2.11c/src/f90/map2gif/Makefile 2009-04-03 13:00:43.000000000 +0200
@@ -31,5 +31,5 @@ obj = map2gif.o
default: $(exec)
-$(exec): $(obj) $(LIBDIR)/libhealpix.a $(LIBDIR)/libgif.a
- $(FC) $(FFLAGS) -o $(exec) $(obj) $(LDFLAGS)
+$(exec): $(obj)
+ $(FC) $(FFLAGS) -L$(LIBDIR) -lhealpix -lgif -o $(exec) $(obj) $(LDFLAGS)
diff -up Healpix_2.11c/src/f90/median_filter/Makefile.shlib Healpix_2.11c/src/f90/median_filter/Makefile
--- Healpix_2.11c/src/f90/median_filter/Makefile.shlib 2005-04-26 03:50:34.000000000 +0200
+++ Healpix_2.11c/src/f90/median_filter/Makefile 2009-04-03 13:00:43.000000000 +0200
@@ -11,5 +11,5 @@ inc = med_sub_inc.f90
default: $(exec)
-$(exec): $(obj) $(LIBDIR)/libhealpix.a
- $(FC) $(FFLAGS) -o $(exec) $(obj) $(LDFLAGS)
+$(exec): $(obj)
+ $(FC) $(FFLAGS) -L$(LIBDIR) -lhealpix -o $(exec) $(obj) $(LDFLAGS)
diff -up Healpix_2.11c/src/f90/mod/Makefile.shlib Healpix_2.11c/src/f90/mod/Makefile
--- Healpix_2.11c/src/f90/mod/Makefile.shlib 2008-01-29 17:39:20.000000000 +0100
+++ Healpix_2.11c/src/f90/mod/Makefile 2009-04-03 13:00:43.000000000 +0200
@@ -65,7 +65,7 @@ obj = healpix_types.o extension.o misc_u
esac
-default: libhealpix.a healpix_fft.o
+default: libhealpix.so healpix_fft.o
libhealpix.a: $(obj) $(incpix) $(incalm) $(incfits) $(incudgrade)
$(AR) libhealpix.a $(obj)
@@ -74,6 +74,15 @@ libhealpix.a: $(obj) $(incpix) $(incalm)
cp $$p $(INCDIR)/; \
done
+# Umm, well, the copying. Curse you, crazy-minded scientists!
+.PHONY: libhealpix.so
+libhealpix.so: $(obj) $(incpix) $(incalm) $(incfits) $(incudgrade)
+ $(FC) $(FFLAGS) -lcfitsio -o $@ -shared $(obj)
+ cp -p $@ $(LIBDIR)/
+ for p in *.$(MOD); do \
+ cp $$p $(INCDIR)/; \
+ done
+
alm_map_ss_inc.f90: alm_map_template.f90 gen_alm_code
./gen_alm_code
diff -up Healpix_2.11c/src/f90/ngsims_full_sky/Makefile.shlib Healpix_2.11c/src/f90/ngsims_full_sky/Makefile
--- Healpix_2.11c/src/f90/ngsims_full_sky/Makefile.shlib 2009-02-09 21:24:46.000000000 +0100
+++ Healpix_2.11c/src/f90/ngsims_full_sky/Makefile 2009-04-03 13:00:43.000000000 +0200
@@ -27,8 +27,8 @@ obj2 = sky_sub.o sub_ngpdf_powergauss.
default: $(exec1) $(exec2)
-$(exec1): $(obj1) $(LIBDIR)/libhealpix.a
- $(FC) $(FFLAGS) -o $(exec1) $(obj1) $(PGLIBS) $(LDFLAGS)
+$(exec1): $(obj1)
+ $(FC) $(FFLAGS) -L$(LIBDIR) -lhealpix -o $(exec1) $(obj1) $(PGLIBS) $(LDFLAGS)
-$(exec2): $(obj2) $(LIBDIR)/libhealpix.a
- $(FC) $(FFLAGS) -o $(exec2) $(obj2) $(PGLIBS) $(LDFLAGS)
+$(exec2): $(obj2)
+ $(FC) $(FFLAGS) -L$(LIBDIR) -lhealpix -o $(exec2) $(obj2) $(PGLIBS) $(LDFLAGS)
diff -up Healpix_2.11c/src/f90/plmgen/Makefile.shlib Healpix_2.11c/src/f90/plmgen/Makefile
--- Healpix_2.11c/src/f90/plmgen/Makefile.shlib 2004-08-25 03:27:24.000000000 +0200
+++ Healpix_2.11c/src/f90/plmgen/Makefile 2009-04-03 13:00:43.000000000 +0200
@@ -10,5 +10,5 @@ obj = plmgen.o
default: $(exec)
-$(exec): $(obj) $(LIBDIR)/libhealpix.a
- $(FC) $(FFLAGS) -o $(exec) $(obj) $(LDFLAGS)
+$(exec): $(obj)
+ $(FC) $(FFLAGS) -L$(LIBDIR) -lhealpix -o $(exec) $(obj) $(LDFLAGS)
diff -up Healpix_2.11c/src/f90/smoothing/Makefile.shlib Healpix_2.11c/src/f90/smoothing/Makefile
--- Healpix_2.11c/src/f90/smoothing/Makefile.shlib 2005-02-24 11:22:59.000000000 +0100
+++ Healpix_2.11c/src/f90/smoothing/Makefile 2009-04-03 13:00:43.000000000 +0200
@@ -11,5 +11,5 @@ inc = smo_sub_inc.f90
default: $(exec)
-$(exec): $(obj) $(LIBDIR)/libhealpix.a
- $(FC) $(FFLAGS) -o $(exec) $(obj) $(LDFLAGS)
+$(exec): $(obj)
+ $(FC) $(FFLAGS) -L$(LIBDIR) -lhealpix -o $(exec) $(obj) $(LDFLAGS)
diff -up Healpix_2.11c/src/f90/synfast/Makefile.shlib Healpix_2.11c/src/f90/synfast/Makefile
--- Healpix_2.11c/src/f90/synfast/Makefile.shlib 2005-02-16 05:55:38.000000000 +0100
+++ Healpix_2.11c/src/f90/synfast/Makefile 2009-04-03 13:00:43.000000000 +0200
@@ -11,5 +11,5 @@ inc = syn_sub_inc.f90
default: $(exec)
-$(exec): $(obj) $(LIBDIR)/libhealpix.a
- $(FC) $(FFLAGS) -o $(exec) $(obj) $(LDFLAGS)
+$(exec): $(obj)
+ $(FC) $(FFLAGS) -L$(LIBDIR) -lhealpix -o $(exec) $(obj) $(LDFLAGS)
diff -up Healpix_2.11c/src/f90/ud_grade/Makefile.shlib Healpix_2.11c/src/f90/ud_grade/Makefile
--- Healpix_2.11c/src/f90/ud_grade/Makefile.shlib 2005-06-03 11:44:52.000000000 +0200
+++ Healpix_2.11c/src/f90/ud_grade/Makefile 2009-04-03 13:00:43.000000000 +0200
@@ -11,5 +11,5 @@ inc = udg_sub_inc.f90
default: $(exec)
-$(exec): $(obj) $(LIBDIR)/libhealpix.a
- $(FC) $(FFLAGS) -o $(exec) $(obj) $(LDFLAGS)
+$(exec): $(obj)
+ $(FC) $(FFLAGS) -L$(LIBDIR) -lhealpix -o $(exec) $(obj) $(LDFLAGS)