ports/math/abacus/files/patch-Makefile
Pietro Cerutti 183222e296 - New port: math/abacus
ABACUS is a software system written in C++ that provides a framework for the
  implementation of branch-and-bound algorithms using linear programming
  relaxations. Cutting planes or columns can be generated dynamically
  (branch-and-cut, branch-and-price, branch-and-cut-and-price).

  WWW: http://www.informatik.uni-koeln.de/abacus/
2013-09-05 16:20:13 +00:00

74 lines
2.2 KiB
Text

--- 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
@@ -141,7 +141,8 @@
DEPEND = $(OBJDIR)/Makefile.dep
CCFLAGS = $(ABACUS_INCLUDE) $(CCFLAG_SYS) $(CCFLAG_COMPILER) \
- $(CCFLAG_TEMPLATE) $(CCFLAG_PARALLEL) $(CCFLAG_DEBOPT)
+ $(CCFLAG_TEMPLATE) $(CCFLAG_PARALLEL) $(CCFLAG_DEBOPT) \
+ -fPIC
#######################################################################
#
@@ -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
$(LIBDIR)/stuff/abacus-base.a: $(ABACUS_O)
rm -f $@
@$(PRE_ARCHIVE) $(ABACUS_O)
$(ARCHIVE) $@ $(ABACUS_O)
+$(LIBDIR)/stuff/abacus-base.so: $(ABACUS_O)
+ rm -f $@
+ $(CXX) -shared -o $@ $(ABACUS_O)
+
# 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 $(LIBDIR)/libabacus-osi.so
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