1
#! /bin/sh /usr/share/dpatch/dpatch-run
2
## 10-CXSparse_Lib_Makefile.dpatch by Daniel Rus Morales <danirus@tol-project.org>
4
## All lines beginning with `## DP:' are a description of the patch.
5
## DP: Build shared version of CXSparse library.
8
diff -u upstrm/CXSparse/Lib/Makefile debsrc/CXSparse/Lib/Makefile
9
--- upstrm/CXSparse/Lib/Makefile 2007-05-05 23:03:41.000000000 +0200
10
+++ debsrc/CXSparse/Lib/Makefile 2007-12-15 19:09:49.000000000 +0100
16
+all: libcxsparse.a libcxsparse.so.3.1.0
18
CS_SOURCE = cs_add.c cs_amd.c cs_chol.c cs_cholsol.c cs_counts.c cs_cumsum.c \
19
cs_droptol.c cs_dropzeros.c cs_dupl.c cs_entry.c \
21
cs_scc_di.o cs_maxtrans_di.o cs_dmperm_di.o cs_updown_di.o cs_print_di.o \
22
cs_norm_di.o cs_load_di.o cs_dfs_di.o cs_reach_di.o cs_spsolve_di.o \
23
cs_leaf_di.o cs_ereach_di.o cs_randperm_di.o
24
+CS_DI_OBJ_SL = $(subst .o,.oo,$(CS_DI_OBJ))
26
CS_DL_OBJ = cs_add_dl.o cs_amd_dl.o cs_chol_dl.o cs_cholsol_dl.o cs_counts_dl.o \
27
cs_cumsum_dl.o cs_droptol_dl.o cs_dropzeros_dl.o cs_dupl_dl.o \
29
cs_scc_dl.o cs_maxtrans_dl.o cs_dmperm_dl.o cs_updown_dl.o cs_print_dl.o \
30
cs_norm_dl.o cs_load_dl.o cs_dfs_dl.o cs_reach_dl.o cs_spsolve_dl.o \
31
cs_leaf_dl.o cs_ereach_dl.o cs_randperm_dl.o
32
+CS_DL_OBJ_SL = $(subst .o,.oo,$(CS_DL_OBJ))
34
CS_CI_OBJ = cs_add_ci.o cs_amd_ci.o cs_chol_ci.o cs_cholsol_ci.o cs_counts_ci.o \
35
cs_cumsum_ci.o cs_droptol_ci.o cs_dropzeros_ci.o cs_dupl_ci.o \
37
cs_scc_ci.o cs_maxtrans_ci.o cs_dmperm_ci.o cs_updown_ci.o cs_print_ci.o \
38
cs_norm_ci.o cs_load_ci.o cs_dfs_ci.o cs_reach_ci.o cs_spsolve_ci.o \
39
cs_leaf_ci.o cs_ereach_ci.o cs_randperm_ci.o
40
+CS_CI_OBJ_SL = $(subst .o,.oo,$(CS_CI_OBJ))
42
CS_CL_OBJ = cs_add_cl.o cs_amd_cl.o cs_chol_cl.o cs_cholsol_cl.o cs_counts_cl.o \
43
cs_cumsum_cl.o cs_droptol_cl.o cs_dropzeros_cl.o cs_dupl_cl.o \
45
cs_scc_cl.o cs_maxtrans_cl.o cs_dmperm_cl.o cs_updown_cl.o cs_print_cl.o \
46
cs_norm_cl.o cs_load_cl.o cs_dfs_cl.o cs_reach_cl.o cs_spsolve_cl.o \
47
cs_leaf_cl.o cs_ereach_cl.o cs_randperm_cl.o
48
+CS_CL_OBJ_SL = $(subst .o,.oo,$(CS_CL_OBJ))
50
CS = cs_convert.o $(CS_DI_OBJ) $(CS_DL_OBJ) $(CS_CI_OBJ) $(CS_CL_OBJ)
51
+CS_SL = cs_convert.oo $(CS_DI_OBJ_SL) $(CS_DL_OBJ_SL) $(CS_CI_OBJ_SL) $(CS_CL_OBJ_SL)
53
$(CS): ../Include/cs.h Makefile
55
cs_convert.o: ../Source/cs_convert.c
56
$(CC) $(CFLAGS) $(I) -c $< -o $@
57
+cs_convert.oo: ../Source/cs_convert.c
58
+ $(CC) -fPIC $(CFLAGS) $(I) -c $< -o $@
60
%_di.o : ../Source/%.c
61
$(CC) $(CFLAGS) $(I) -c $< -o $@
62
+%_di.oo: ../Source/%.c
63
+ $(CC) -fPIC $(CFLAGS) $(I) -c $< -o $@
65
%_dl.o : ../Source/%.c
66
$(CC) $(CFLAGS) $(I) -DCS_LONG -c $< -o $@
67
+%_dl.oo : ../Source/%.c
68
+ $(CC) -fPIC $(CFLAGS) $(I) -DCS_LONG -c $< -o $@
70
%_ci.o : ../Source/%.c
71
$(CC) $(CFLAGS) $(I) -DCS_COMPLEX -c $< -o $@
72
+%_ci.oo : ../Source/%.c
73
+ $(CC) -fPIC $(CFLAGS) $(I) -DCS_COMPLEX -c $< -o $@
75
%_cl.o : ../Source/%.c
76
$(CC) $(CFLAGS) $(I) -DCS_LONG -DCS_COMPLEX -c $< -o $@
77
+%_cl.oo : ../Source/%.c
78
+ $(CC) -fPIC $(CFLAGS) $(I) -DCS_LONG -DCS_COMPLEX -c $< -o $@
81
$(AR) libcxsparse.a $(CS)
82
$(RANLIB) libcxsparse.a
84
+libcxsparse.so.3.1.0: $(CS_SL)
85
+ $(CC) -shared $^ -lm -Wl,-soname -Wl,$@ -o $@
86
+ ln -s $@ libcxsparse.so