|
|
57a046c |
# The upstream Makefile is broken in multiple ways.
|
|
|
57a046c |
# 1. It doesn't allow for parallel building, due to many missing dependencies.
|
|
|
57a046c |
# 2. It only builds static libraries. Yes, there is an "oshared" target that
|
|
|
57a046c |
# supposedly builds a shared library. Try it and see how it works for you.
|
|
|
57a046c |
# 3. Each target starts by doing a clean. That means that if you want to build
|
|
|
57a046c |
# more than one target (we want to build 3), then each invocation of make
|
|
|
57a046c |
# destroys all the work you did in the previous target.
|
|
|
57a046c |
# 4. A number of targets explicitly invoke make, when they should have done
|
|
|
57a046c |
# their work in the context of the current invocation of make.
|
|
|
57a046c |
#
|
|
|
57a046c |
# Forget it! I'm writing my own Makefile.
|
|
|
57a046c |
|
|
|
57a046c |
CC = gcc
|
|
|
17503b8 |
INCLUDES = -I/usr/include/flexiblas -Iinclude -Isrc/solver -Isrc/sdp -Isrc/vecmat
|
|
|
57a046c |
CFLAGS = @RPM_OPT_FLAGS@ -fPIC -DDSDP_TIME $(INCLUDES)
|
|
|
57a046c |
BFLAGS = @RPM_OPT_FLAGS@ -DDSDP_TIME -Iinclude -Lsrc
|
|
|
17503b8 |
LDFLAGS = @RPM_LD_FLAGS@ -Wl,--as-needed -lflexiblas -lm
|
|
|
17503b8 |
BDFLAGS = @RPM_LD_FLAGS@ -Wl,--as-needed -ldsdp -lflexiblas -lm
|
|
|
57a046c |
SONAME = -Wl,-h,libdsdp.so.5
|
|
|
57a046c |
|
|
|
57a046c |
SOLVER_OBJS = src/solver/dualalg.o src/solver/dualimpl.o \
|
|
|
57a046c |
src/solver/dsdpcops.o src/solver/dsdpschurmat.o src/solver/dsdpcg.o \
|
|
|
57a046c |
src/solver/dsdpconverge.o src/solver/dsdpsetup.o \
|
|
|
57a046c |
src/solver/dsdpcone.o src/solver/dsdpsetoptions.o \
|
|
|
57a046c |
src/solver/dsdpsetdata.o src/solver/dsdprescone.o \
|
|
|
57a046c |
src/solver/dsdpobjcone.o src/solver/dsdpprintout.o \
|
|
|
57a046c |
src/solver/dsdpschurmatadd.o src/solver/dsdpx.o
|
|
|
57a046c |
|
|
|
57a046c |
SDP_OBJS = src/sdp/dsdpstep.o src/sdp/printsdpa.o src/sdp/sdpconevec.o \
|
|
|
57a046c |
src/sdp/sdpsss.o src/sdp/dsdpadddata.o src/sdp/dsdpadddatamat.o \
|
|
|
57a046c |
src/sdp/dsdpblock.o src/sdp/sdpcone.o src/sdp/sdpkcone.o \
|
|
|
57a046c |
src/sdp/sdpcompute.o src/sdp/sdpconesetup.o src/sdp/dsdpdsmat.o \
|
|
|
57a046c |
src/sdp/dsdpdatamat.o src/sdp/dsdpdualmat.o src/sdp/dsdpxmat.o
|
|
|
57a046c |
|
|
|
57a046c |
LP_OBJS = src/lp/dsdplp.o
|
|
|
57a046c |
|
|
|
57a046c |
VECMAT_OBJS = src/vecmat/vech.o src/vecmat/vechu.o src/vecmat/drowcol.o \
|
|
|
57a046c |
src/vecmat/dlpack.o src/vecmat/dufull.o src/vecmat/sdpvec.o \
|
|
|
57a046c |
src/vecmat/identity.o src/vecmat/spds.o src/vecmat/zeromat.o \
|
|
|
57a046c |
src/vecmat/onemat.o src/vecmat/diag.o src/vecmat/rmmat.o \
|
|
|
57a046c |
src/vecmat/cholmat.o src/vecmat/cholmat2.o src/vecmat/dtrsm2.o \
|
|
|
57a046c |
src/vecmat/sdpmatx.o src/vecmat/sdpnfac.o src/vecmat/sdporder.o \
|
|
|
57a046c |
src/vecmat/sdpalloc.o src/vecmat/sdpsymb.o src/vecmat/sdpxlist.o \
|
|
|
57a046c |
src/vecmat/sdpdvct.o src/vecmat/sdpexit.o
|
|
|
57a046c |
|
|
|
57a046c |
SYS_OBJS = src/sys/dsdperror.o src/sys/dsdploginfo.o src/sys/dsdplog.o \
|
|
|
57a046c |
src/sys/dsdptime.o
|
|
|
57a046c |
|
|
|
57a046c |
BOUNDS_OBJS = src/bounds/dbounds.o src/bounds/allbounds.o
|
|
|
57a046c |
|
|
|
57a046c |
LIB_OBJS = $(SOLVER_OBJS) $(SDP_OBJS) $(LP_OBJS) $(VECMAT_OBJS) $(SYS_OBJS) \
|
|
|
57a046c |
$(BOUNDS_OBJS)
|
|
|
57a046c |
|
|
|
57a046c |
EXAMPLES = examples/maxcut examples/theta examples/dsdp5 examples/stable \
|
|
|
57a046c |
examples/color
|
|
|
57a046c |
|
|
|
57a046c |
all: $(EXAMPLES)
|
|
|
57a046c |
|
|
|
57a046c |
src/libdsdp.so.@version@: $(LIB_OBJS)
|
|
Jerry James |
69e13b8 |
$(CC) $(CFLAGS) -shared $(SONAME) -o $@ $^ $(LDFLAGS)
|
|
|
57a046c |
|
|
|
57a046c |
src/libdsdp.so.5: src/libdsdp.so.@version@
|
|
|
57a046c |
ln -s libdsdp.so.@version@ $@
|
|
|
57a046c |
|
|
|
57a046c |
src/libdsdp.so: src/libdsdp.so.5
|
|
|
57a046c |
ln -s libdsdp.so.5 $@
|
|
|
57a046c |
|
|
|
57a046c |
examples/maxcut: examples/maxcut.c src/libdsdp.so
|
|
Jerry James |
69e13b8 |
$(CC) $(BFLAGS) $< -o $@ $(BDFLAGS)
|
|
|
57a046c |
|
|
|
57a046c |
examples/theta: examples/theta.c src/libdsdp.so
|
|
Jerry James |
69e13b8 |
$(CC) $(BFLAGS) $< -o $@ $(BDFLAGS)
|
|
|
57a046c |
|
|
|
57a046c |
examples/dsdp5: examples/readsdpa.c src/libdsdp.so
|
|
Jerry James |
69e13b8 |
$(CC) $(BFLAGS) $< -o $@ $(BDFLAGS)
|
|
|
57a046c |
|
|
|
57a046c |
examples/stable: examples/stable.c src/libdsdp.so
|
|
Jerry James |
69e13b8 |
$(CC) $(BFLAGS) $< -o $@ $(BDFLAGS)
|
|
|
57a046c |
|
|
|
57a046c |
examples/color: examples/color.c src/libdsdp.so
|
|
Jerry James |
69e13b8 |
$(CC) $(BFLAGS) $< -o $@ $(BDFLAGS)
|