diff --git a/Demo/Makefile.am b/Demo/Makefile.am new file mode 100644 --- /dev/null +++ b/Demo/Makefile.am @@ -0,0 +1,46 @@ +AM_CPPFLAGS = -I$(top_srcdir)/Include +LDADD = $(top_builddir)/Source/libcsparse.la + +EXTRA_DIST = \ + README.txt \ + cs_demo.out + +# Disable the .out implicit pattern rule. Prevents GNU make from +# adding bogus dependencies for the .out files listed above. +%.out: % + +noinst_HEADERS = \ + cs_demo.h + +check_PROGRAMS = \ + cs_demo1 \ + cs_demo2 \ + cs_demo3 + +cs_demo1_SOURCES = cs_demo1.c +cs_demo2_SOURCES = cs_demo2.c cs_demo.c +cs_demo3_SOURCES = cs_demo3.c cs_demo.c + +MATRICES = \ + ../Matrix/ash219 \ + ../Matrix/bcsstk01 \ + ../Matrix/bcsstk01 \ + ../Matrix/bcsstk16 \ + ../Matrix/fs_183_1 \ + ../Matrix/lp_afiro \ + ../Matrix/mbeacxc \ + ../Matrix/t1 \ + ../Matrix/west0067 + +check-local: $(check_PROGRAMS) $(MATRICES) + -./cs_demo1 < ../Matrix/t1 + -./cs_demo2 < ../Matrix/t1 + -./cs_demo2 < ../Matrix/ash219 + -./cs_demo2 < ../Matrix/bcsstk01 + -./cs_demo2 < ../Matrix/fs_183_1 + -./cs_demo2 < ../Matrix/mbeacxc + -./cs_demo2 < ../Matrix/west0067 + -./cs_demo2 < ../Matrix/lp_afiro + -./cs_demo2 < ../Matrix/bcsstk16 + -./cs_demo3 < ../Matrix/bcsstk01 + -./cs_demo3 < ../Matrix/bcsstk16 diff --git a/Include/Makefile.am b/Include/Makefile.am new file mode 100644 --- /dev/null +++ b/Include/Makefile.am @@ -0,0 +1,2 @@ +pkgincludedir = $(includedir)/csparse +pkginclude_HEADERS = cs.h diff --git a/Makefile.am b/Makefile.am new file mode 100644 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,5 @@ +SUBDIRS = Include Source Matrix Demo +EXTRA_DIST = README.txt Doc/ChangeLog Doc/License.txt Doc/lesser.txt + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = csparse.pc diff --git a/Matrix/Makefile.am b/Matrix/Makefile.am new file mode 100644 --- /dev/null +++ b/Matrix/Makefile.am @@ -0,0 +1,11 @@ +dist_noinst_DATA = \ + ash219 \ + bcsstk01 \ + bcsstk16 \ + fs_183_1 \ + ibm32a \ + ibm32b \ + lp_afiro \ + mbeacxc \ + t1 \ + west0067 diff --git a/Source/Makefile.am b/Source/Makefile.am new file mode 100644 --- /dev/null +++ b/Source/Makefile.am @@ -0,0 +1,62 @@ +AM_CPPFLAGS = -I$(top_builddir)/Include + +EXTRA_DIST = \ + README.txt + +CSPARSESRC = \ + cs_add.c \ + cs_amd.c \ + cs_chol.c \ + cs_cholsol.c \ + cs_compress.c \ + cs_counts.c \ + cs_cumsum.c \ + cs_dfs.c \ + cs_dmperm.c \ + cs_droptol.c \ + cs_dropzeros.c \ + cs_dupl.c \ + cs_entry.c \ + cs_ereach.c \ + cs_etree.c \ + cs_fkeep.c \ + cs_gaxpy.c \ + cs_happly.c \ + cs_house.c \ + cs_ipvec.c \ + cs_leaf.c \ + cs_load.c \ + cs_lsolve.c \ + cs_ltsolve.c \ + cs_lu.c \ + cs_lusol.c \ + cs_malloc.c \ + cs_maxtrans.c \ + cs_multiply.c \ + cs_norm.c \ + cs_permute.c \ + cs_pinv.c \ + cs_post.c \ + cs_print.c \ + cs_pvec.c \ + cs_qr.c \ + cs_qrsol.c \ + cs_randperm.c \ + cs_reach.c \ + cs_scatter.c \ + cs_scc.c \ + cs_schol.c \ + cs_spsolve.c \ + cs_sqr.c \ + cs_symperm.c \ + cs_tdfs.c \ + cs_transpose.c \ + cs_updown.c \ + cs_usolve.c \ + cs_util.c \ + cs_utsolve.c + +lib_LTLIBRARIES = libcsparse.la +libcsparse_la_SOURCES = $(CSPARSESRC) +libcsparse_la_LIBADD = -lm +libcsparse_la_LDFLAGS = -no-undefined -version-info 4:5:2 diff --git a/configure.ac b/configure.ac new file mode 100644 --- /dev/null +++ b/configure.ac @@ -0,0 +1,32 @@ +AC_PREREQ([2.68]) +AC_INIT([CSparse],[2.2.5],[davis@cise.ufl.edu]) +AC_CONFIG_SRCDIR([Source/cs_print.c]) +AC_CONFIG_HEADER([config.h]) +AM_INIT_AUTOMAKE([foreign]) +LT_INIT + +AC_PROG_INSTALL +AC_PROG_CC + +LIBS_SAVED=$LIBS + +AC_CHECK_LIB([m], [sqrt]) + +AC_CHECK_HEADERS([limits.h stdlib.h]) + +AC_TYPE_SIZE_T + +AC_FUNC_MALLOC +AC_FUNC_REALLOC +AC_CHECK_FUNCS([sqrt]) + +LIBS=$LIBS_SAVED + +AC_CONFIG_FILES([ + csparse.pc + Makefile + Demo/Makefile + Include/Makefile + Matrix/Makefile + Source/Makefile]) +AC_OUTPUT diff --git a/csparse.pc.in b/csparse.pc.in new file mode 100644 --- /dev/null +++ b/csparse.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: @PACKAGE_NAME@ +Description: A concise sparse matrix package +Version: @PACKAGE_VERSION@ +Libs: -L${libdir} -lcsparse +Libs.private: -lm +Cflags: -I${includedir}/csparse