Index: head/math/abacus/Makefile =================================================================== --- head/math/abacus/Makefile (revision 384955) +++ head/math/abacus/Makefile (revision 384956) @@ -1,42 +1,37 @@ # Created by: gahr # $FreeBSD$ PORTNAME= abacus DISTVERSION= 3.2betaU1 PORTREVISION= 6 CATEGORIES= math MASTER_SITES= http://www.informatik.uni-koeln.de/abacus/ MAINTAINER= ports@FreeBSD.org COMMENT= Branch-And-CUt System LICENSE= LGPL21 # (or later) LIB_DEPENDS= libClp.so:${PORTSDIR}/math/coinmp NO_WRKSUBDIR= yes USES= gmake perl5 USE_PERL5= build USE_LDCONFIG= yes ALL_TARGET= abacus - -post-patch: - @${REINPLACE_CMD} \ - -e 's|%%LOCALBASE%%|${LOCALBASE}|' \ - -e 's|%%CXX%%|${CXX}|' \ - -e 's|%%PERL5%%|${PERL5}|' \ - -e 's|%%CXXFLAGS%%|${CXXFLAGS}|' \ - ${WRKSRC}/Makefile +MAKE_ARGS= CCC="${CXX}" PERL="${PERL5}" STRIP="${STRIP_CMD} -x" \ + CCFLAG_DEBOPT="${CXXFLAGS}" \ + OSI_INCLUDE="${LOCALBASE}/include/coin" do-install: ${INSTALL_DATA} ${WRKSRC}/lib/linux20-gcc44/libabacus-osi.a \ ${STAGEDIR}${PREFIX}/lib ${INSTALL_LIB} ${WRKSRC}/lib/linux20-gcc44/libabacus-osi.so.1 \ ${STAGEDIR}${PREFIX}/lib ${LN} -sf libabacus-osi.so.1 \ ${STAGEDIR}${PREFIX}/lib/libabacus-osi.so (cd ${WRKSRC}/Include && ${COPYTREE_SHARE} abacus \ ${STAGEDIR}${PREFIX}/include) .include Index: head/math/abacus/files/patch-Makefile =================================================================== --- head/math/abacus/files/patch-Makefile (revision 384955) +++ head/math/abacus/files/patch-Makefile (revision 384956) @@ -1,85 +1,45 @@ --- Makefile.orig 2012-01-06 14:29:04.000000000 +0100 +++ Makefile 2013-09-05 14:35:52.000000000 +0200 -@@ -7,7 +7,7 @@ - ####################################################################### - - # Path to coin-osi header files -- OSI_INCLUDE=/usr/include/coin -+ OSI_INCLUDE=%%LOCALBASE%%/include/coin - # Path to solver include directories - leave empty if the solver - # is not installed - CLP_PATH=$(OSI_INCLUDE) -@@ -40,7 +40,7 @@ - ####################################################################### - - # gcc --CCC = g++-4.4 -+CCC = %%CXX%% - - # add files to an archive - ARCHIVE = ar rc -@@ -48,10 +48,10 @@ - # PRE_ARCHIVE is used to instantiate required templates (SGI) - PRE_ARCHIVE = true - --STRIP = strip -x -+STRIP = true - - AWK = awk --PERL = /usr/bin/perl -+PERL = %%PERL5%% - - # Gnu cp - GCP = /bin/cp -@@ -59,7 +59,7 @@ - CPLEXFLAGS = -DCPX_PROTOTYPE_ANSI -DPROTOTYPE_MAX - CCFLAG_SYS = -DABACUS_SYS_LINUX -DABACUS_THROW_WITH_INFO - CCFLAG_COMPILER = -DABACUS_COMPILER_GCC43 -Wall --CCFLAG_DEBOPT = -O2 -+CCFLAG_DEBOPT = %%CXXFLAGS%% - CCFLAG_PARALLEL = - - # default parallel flags (to be defined in machine specific makefile). @@ -177,6 +177,11 @@ $(OBJDIR)/%.o: $(SRCDIR)/%.cc $(CCC) $(CCFLAGS) $(ADDFLAGS) -c $< -o $@ $(STRIP) $@ +# the shared object files +$(OBJDIR)/%.So: $(SRCDIR)/%.cc + $(CCC) -fPIC $(CCFLAGS) $(ADDFLAGS) -c $< -o $@ + $(STRIP) $@ + ####################################################################### # @@ -523,15 +524,20 @@ $(ARCHIVE) $@ $(OSI_O) # The basic ABACUS library -abacus-base: $(LIBDIR)/stuff/abacus-base.a +abacus-base-static: $(LIBDIR)/stuff/abacus-base.a +abacus-base-shared: $(LIBDIR)/stuff/abacus-base.so.1 $(LIBDIR)/stuff/abacus-base.a: $(ABACUS_O) rm -f $@ @$(PRE_ARCHIVE) $(ABACUS_O) $(ARCHIVE) $@ $(ABACUS_O) +$(LIBDIR)/stuff/abacus-base.so.1: $(ABACUS_O:%.o=%.So) + rm -f $@ + $(CXX) -shared -o $@ $(ABACUS_O:%.o=%.So) + # Build the library distribution directory (lib and lib/stuff) -lib-all: subdirs abacus-base lpif interface $(ADDITIONAL_LIB_ALL) +lib-all: subdirs abacus-base-static abacus-base-shared lpif interface $(ADDITIONAL_LIB_ALL) # Create a tar file containing all necessary stuff to compile ABACUS on # a remote system. @@ -571,6 +577,7 @@ abacus: lib-all cp $(LIBDIR)/stuff/abacus-base.a $(LIBDIR)/libabacus-osi.a + cp $(LIBDIR)/stuff/abacus-base.so.1 $(LIBDIR)/libabacus-osi.so.1 mkdir $(LIBDIR)/temp cd $(LIBDIR)/temp; ar x ../stuff/interface-osi.a find $(LIBDIR)/temp -name \*.o | xargs -n1 ar r $(LIBDIR)/libabacus-osi.a