diff --git a/Demo/Makefile.am b/Demo/Makefile.am new file mode 100644 --- /dev/null +++ b/Demo/Makefile.am @@ -0,0 +1,60 @@ +AM_CPPFLAGS = -I$(top_srcdir)/Include $(AMD_CFLAGS) $(UFCONFIG_CFLAGS) +LDADD = $(top_builddir)/Source/libldl.la + +EXTRA_DIST = \ + ldlamd.out \ + ldllamd.out \ + ldlmain.out \ + ldllmain.out \ + ldlsimple.out \ + ldllsimple.out + +# Disable the .out implicit pattern rule. Prevents GNU make from +# adding bogus dependencies for the .out files listed above. +%.out: % + +check_PROGRAMS = \ + ldlamd \ + ldllamd \ + ldlmain \ + ldllmain \ + ldlsimple \ + ldllsimple + +ldlamd_SOURCES = ldlmain.c +ldlamd_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_AMD +ldlamd_LDADD = $(LDADD) $(AMD_LIBS) + +ldllamd_SOURCES = ldlmain.c +ldllamd_CPPFLAGS = $(AM_CPPFLAGS) -DUSE_AMD -DLDL_LONG +ldllamd_LDADD = $(LDADD) $(AMD_LIBS) + +ldlmain_SOURCES = ldlmain.c + +ldllmain_SOURCES = ldlmain.c +ldllmain_CPPFLAGS = $(AM_CPPFLAGS) -DLDL_LONG + +ldlsimple_SOURCES = ldlsimple.c + +ldllsimple_SOURCES = ldlsimple.c +ldllsimple_CPPFLAGS = $(AM_CPPFLAGS) -DLDL_LONG + +ldllmain.out: ldlmain.out + $(LN_S) -f $< $@ + +ldllsimple.out: ldlsimple.out + $(LN_S) -f $< $@ + +check-local: $(check_PROGRAMS) $(check_PROGRAMS:=.out) + @for i in $(check_PROGRAMS); do \ + echo "Testing $$i"; \ + ./$$i$(EXEEXT) > my_$$i.out; \ + if diff -u $$i.out my_$$i.out; then \ + echo "Test $$i PASSED."; \ + else \ + echo "Test $$i FAILED."; \ + fi; \ + done + +clean-local: + -$(RM) my_*.out diff --git a/Doc/Makefile.am b/Doc/Makefile.am new file mode 100644 --- /dev/null +++ b/Doc/Makefile.am @@ -0,0 +1,13 @@ +EXTRA_DIST = ChangeLog lesser.txt + +dist_noinst_DATA = ldl_userguide.tex ldl.bib +pdf_DATA = ldl_userguide.pdf + +ldl_userguide.pdf: ldl_userguide.tex ldl.bib + pdflatex ldl_userguide + bibtex ldl_userguide + pdflatex ldl_userguide + pdflatex ldl_userguide + +clean-local: + -$(RM) *.aux *.bbl *.blg *.log *.toc 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)/ldl +pkginclude_HEADERS = ldl.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 Doc +EXTRA_DIST = README.txt + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = ldl.pc diff --git a/Matrix/Makefile.am b/Matrix/Makefile.am new file mode 100644 --- /dev/null +++ b/Matrix/Makefile.am @@ -0,0 +1,4 @@ +dist_noinst_DATA = \ + A01 A02 A03 A04 A05 A06 A07 A08 A09 A10 \ + A11 A12 A13 A14 A15 A16 A17 A18 A19 A20 \ + A21 A22 A23 A24 A25 A26 A27 A28 A29 A30 diff --git a/Source/Makefile.am b/Source/Makefile.am new file mode 100644 --- /dev/null +++ b/Source/Makefile.am @@ -0,0 +1,16 @@ +AM_CPPFLAGS = -I$(top_srcdir)/Include $(UFCONFIG_CFLAGS) + +LDLSRC = \ + ldl.c + +lib_LTLIBRARIES = libldl.la +noinst_LTLIBRARIES = libldli.la libldll.la + +libldli_la_SOURCES = $(LDLSRC) + +libldll_la_SOURCES = $(LDLSRC) +libldll_la_CPPFLAGS = $(AM_CPPFLAGS) -DLDL_LONG + +libldl_la_SOURCES = +libldl_la_LIBADD = libldli.la libldll.la +libldl_la_LDFLAGS = -no-undefined -version-info 2:3:0 diff --git a/configure.ac b/configure.ac new file mode 100644 --- /dev/null +++ b/configure.ac @@ -0,0 +1,36 @@ +AC_PREREQ([2.68]) +AC_INIT([LDL],[2.0.3],[davis@cise.ufl.edu]) +AC_CONFIG_SRCDIR([Source/ldl.c]) +AC_CONFIG_HEADER([config.h]) +AM_INIT_AUTOMAKE([foreign]) +LT_INIT + +AC_PROG_INSTALL +AC_PROG_CC +AC_PROG_LN_S + +LIBS_SAVED=$LIBS + +AC_CHECK_HEADERS([stdlib.h]) + +PKG_PROG_PKG_CONFIG +PKG_CHECK_MODULES([UFCONFIG],[ufconfig], + [], + [AC_MSG_ERROR([cannot find ufconfig])]) +PKG_CHECK_MODULES([AMD],[amd], + [], + [AC_MSG_ERROR([cannot find amd])]) + +AC_FUNC_MALLOC + +LIBS=$LIBS_SAVED + +AC_CONFIG_FILES([ + ldl.pc + Makefile + Demo/Makefile + Doc/Makefile + Include/Makefile + Matrix/Makefile + Source/Makefile]) +AC_OUTPUT diff --git a/ldl.pc.in b/ldl.pc.in new file mode 100644 --- /dev/null +++ b/ldl.pc.in @@ -0,0 +1,11 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: @PACKAGE_NAME@ +Description: A simple LDL^T factorization +Version: @PACKAGE_VERSION@ +Requires.private: ufconfig +Libs: -L${libdir} -lldl +Cflags: -I${includedir}/ldl