cd bin/ ; ./xatlas_build $(INSTFLAGS)
cd lib/ ; $(MAKE) atlas/libblas.a
cd lib/ ; $(MAKE) atlas/liblapack.a
+ cd lib/ ; $(MAKE) fullshared
time:
./xatlbench -dc $(BLDdir)/bin/INSTALL_LOG -dp $(BLDdir)/ARCHS/$(ARCH)
- cp $(LIBdir)/libsatlas.so $(INSTdir)/.
- cp $(LIBdir)/libtatlas.so $(INSTdir)/.
+install_shared_lib:
+ for lib in atlas cblas f77blas lapack_atlas; do \
+ cp $(LIBdir)/lib$$lib.so.3.0 $(INSTdir)/. ; \
+ ( cd $(INSTdir) && ln -s lib$$lib.so.3.0 lib$$lib.so.3); \
+ ( cd $(INSTdir) && ln -s lib$$lib.so.3 lib$$lib.so); \
+ chmod 0644 $(INSTdir)/lib$$lib.so ;\
+ chmod 0644 $(INSTdir)/lib$$lib.so.3 ;\
+ chmod 0644 $(INSTdir)/lib$$lib.so.3.0 ;\
+ done;
+ mkdir -p $(INSTdir)/atlas
+ for lib in blas lapack; do \
+ cp $(LIBdir)/atlas/lib$$lib.so.3.0 $(INSTdir)/atlas/. ; \
+ ( cd $(INSTdir)/atlas/ && ln -s lib$$lib.so.3.0 lib$$lib.so.3); \
+ ( cd $(INSTdir)/atlas/ && ln -s lib$$lib.so.3 lib$$lib.so); \
+ chmod 0644 $(INSTdir)/atlas/lib$$lib.so ;\
+ chmod 0644 $(INSTdir)/atlas/lib$$lib.so.3 ;\
+ chmod 0644 $(INSTdir)/atlas/lib$$lib.so.3.0 ;\
+ done;
rm -rf $(ARCH)
$(BZIP) --best $(tarnam).tar
+fullshared: libatlas.so libcblas.so libf77blas.so liblapack_atlas.so atlas/libblas.so atlas/liblapack.so
+
+libatlas.so: libatlas.so.3
+ ln -sf $< $@
+
+libatlas.so.3: libatlas.so.3.0
+ ln -sf $< $@
+
+libatlas.so.3.0 : libatlas.a
+ ld $(LDFLAGS) -shared -soname libatlas.so.3 -o $@ \
+ --whole-archive libatlas.a --no-whole-archive -lc $(LIBS) $(F77SYSLIB)
+
+libcblas.so: libcblas.so.3
+ ln -sf $< $@
+
+libcblas.so.3: libcblas.so.3.0
+ ln -sf $< $@
+
+libcblas.so.3.0 : libcblas.a libatlas.so
+ ld $(LDFLAGS) -shared -soname libcblas.so.3 -o $@ \
+ --whole-archive libcblas.a \
+ --no-whole-archive -L. -latlas $(F77SYSLIB) -lm -lc
+
+libf77blas.so: libf77blas.so.3
+ ln -sf $< $@
+
+libf77blas.so.3: libf77blas.so.3.0
+ ln -sf $< $@
+
+libf77blas.so.3.0 : libf77blas.a libcblas.so libatlas.so
+ ld $(LDFLAGS) -shared -soname libf77blas.so.3 -o $@ \
+ --whole-archive libf77blas.a \
+ --no-whole-archive -L. -lcblas -latlas $(F77SYSLIB) -lm -lc
+
+liblapack_atlas.so: liblapack_atlas.so.3
+ ln -sf $< $@
+
+liblapack_atlas.so.3: liblapack_atlas.so.3.0
+ ln -sf $< $@
+
+liblapack_atlas.so.3.0 : liblapack_atlas.a libatlas.so libcblas.so libf77blas.so
+ ld $(LDFLAGS) -shared -soname liblapack_atlas.so.3 -o $@ \
+ --whole-archive liblapack_atlas.a \
+ --no-whole-archive -L. -lf77blas -lcblas -latlas -lm -lc $(F77SYSLIB)
+
+atlas/libblas.so: atlas/libblas.so.3
+ (cd atlas && ln -sf libblas.so.3 libblas.so)
+
+atlas/libblas.so.3: atlas/libblas.so.3.0
+ (cd atlas && ln -sf libblas.so.3.0 libblas.so.3)
+
+atlas/libblas.so.3.0: libf77blas.a libcblas.a libatlas.so.3.0
+ if test -f libptf77blas.a -a -f libptcblas.a; then \
+ ld $(LDFLAGS) -shared -soname libblas.so.3 -o $@ \
+ --whole-archive libptf77blas.a libptcblas.a \
+ --no-whole-archive -L. -latlas $(F77SYSLIB) -lm -lc; \
+ else \
+ ld $(LDFLAGS) -shared -soname libblas.so.3 -o $@ \
+ --whole-archive libf77blas.a libcblas.a \
+ --no-whole-archive -L. -latlas $(F77SYSLIB) -lm -lc; \
+ fi
+
+atlas/liblapack.so: atlas/liblapack.so.3
+ (cd atlas && ln -sf liblapack.so.3 liblapack.so)
+
+atlas/liblapack.so.3: atlas/liblapack.so.3.0
+ (cd atlas && ln -sf liblapack.so.3.0 liblapack.so.3)
+
+atlas/liblapack.so.3.0: atlas/liblapack.a atlas/libblas.so libatlas.so.3.0
+ ld $(LDFLAGS) -shared -soname liblapack.so.3 -o $@ \
+ --whole-archive atlas/liblapack.a \
+ --no-whole-archive -L . -lblas -latlas $(F77SYSLIB) -lm -lc
+
# ===================================================================
# The following commands are to build dynamic/shared objects on Linux
# using the gnu gcc or ld