--- a/makefile.in +++ b/makefile.in @@ -1,14 +1,17 @@ BLD = build$(QUADSUFFIX) -LIBDIR = $(PREFIX)/lib$(LIBDIRSUFFIX) -INCLUDEDIR = $(PREFIX)/include -BINDIR = $(PREFIX)/bin +LIBDIR = $(DESTDIR)/$(PREFIX)/lib$(LIBDIRSUFFIX) +INCLUDEDIR = $(DESTDIR)/$(PREFIX)/include +BINDIR = $(DESTDIR)/$(PREFIX)/bin LIB = libooptools$(QUADSUFFIX).a FE = lt$(QUADSUFFIX)$(EXE) MFE = LoopTools$(QUADSUFFIX)$(EXE) INCLUDE = $(BLD)/looptools.h $(BLD)/clooptools.h +LIBRARY=libooptools.so +REALNAME=$(LIBRARY).$(VER) + ARGS = $(PARALLEL) \ LIB="$(LIB)" \ FE="$(FE)" \ @@ -16,12 +19,12 @@ ARGS = $(PARALLEL) \ EXE="$(EXE)" \ DEF="$(DEF)" \ NOUNDERSCORE="$(NOUNDERSCORE)" \ - XFC="$(FC) $(FFLAGS) -I." \ + XFC="$(FC$(QUADSUFFIX)) $(FFLAGS) -I. -fPIC" \ F90="$(F90)" \ CC="$(CC)" \ - CFLAGS="$(CFLAGS)" \ + CFLAGS="$(CFLAGS) -fPIC" \ CXX="$(CXX)" \ - CXXFLAGS="$(CXXFLAGS)" \ + CXXFLAGS="$(CXXFLAGS) -fPIC" \ ML="$(ML)" \ MCC="$(MCC)" \ MCFLAGS="$(MCFLAGS)" \ @@ -31,24 +34,23 @@ ARGS = $(PARALLEL) \ NM="$(NM)" \ DLLTOOL="$(DLLTOOL)" \ LDFLAGS="$(LDFLAGS)" \ - LIBPATH="$(LIBPATH)" + LIBPATH="$(LIBPATH)" \ + REALNAME="$(REALNAME)" -default all lib frontend mma: force +default all lib solib frontend mma: force cd $(BLD) && $(MAKE) $(ARGS) $@ -install: lib frontend - -mkdir $(PREFIX) +install: lib solib frontend + -mkdir $(DESTDIR)$(PREFIX) -mkdir $(LIBDIR) $(BINDIR) $(INCLUDEDIR) cp -p $(BLD)/$(LIB) $(LIBDIR) cp -p $(INCLUDE) $(INCLUDEDIR) - strip $(BLD)/$(FE) cp -p $(BLD)/fcc $(BLD)/$(FE) $(BINDIR) rm -f $(BINDIR)/f++ ln -s fcc $(BINDIR)/f++ test ! -f $(BLD)/$(MFE) || { \ test -z "$(EXE)" || ldd $(BLD)/$(MFE) | awk '/\/usr\/bin\/cyg/ { system("cp -p " $$3 " $(BINDIR)/"); }' ; \ - strip $(BLD)/$(MFE) ; \ cp -p $(BLD)/$(MFE) $(BINDIR); \ } --- a/src/makefile +++ b/src/makefile @@ -1,6 +1,6 @@ -default: frontend mma$(ML) +default: frontend mma$(ML) solib -all: frontend mma1 +all: frontend mma1 solib frontend: lib $(FE) @@ -8,6 +8,8 @@ mma1: lib $(MFE) mma0 lib: $(LIB) clooptools.h fcc +solib: $(REALNAME) fcc + .SUFFIXES: @@ -245,6 +247,9 @@ $(LIB): $(OBJS) $(AR) $(ARFLAGS) $(LIB) $? -$(RANLIB) $(LIB) +$(REALNAME): $(OBJS) + $(XFC) $(LDFLAGS) -shared -Wl,--soname,$(REALNAME) -o $@ $? + $(FE): lt.F $(LTINC) $(LIB) $(XFC) -o $(FE) lt.F $(LIB) $(LDFLAGS)