diff --git a/Doc/Makefile.am b/Doc/Makefile.am new file mode 100644 --- /dev/null +++ b/Doc/Makefile.am @@ -0,0 +1,5 @@ +dist_noinst_DATA = manual.ps +pdf_DATA = manual.pdf + +%.pdf: %.ps + ps2pdf $< diff --git a/Graphs/Makefile.am b/Graphs/Makefile.am new file mode 100644 --- /dev/null +++ b/Graphs/Makefile.am @@ -0,0 +1,2 @@ +EXTRA_DIST = 0README +dist_noinst_DATA = 4elt.graph metis.mesh test.mgraph diff --git a/Lib/Makefile.am b/Lib/Makefile.am new file mode 100644 --- /dev/null +++ b/Lib/Makefile.am @@ -0,0 +1,61 @@ +pkgincludedir = $(includedir)/metis +pkginclude_HEADERS = defs.h macros.h metis.h proto.h rename.h struct.h + +SRC = \ + balance.c \ + bucketsort.c \ + ccgraph.c \ + coarsen.c \ + compress.c \ + debug.c \ + estmem.c \ + fm.c \ + fortran.c \ + frename.c \ + graph.c \ + initpart.c \ + kmetis.c \ + kvmetis.c \ + kwayfm.c \ + kwayrefine.c \ + kwayvolfm.c \ + kwayvolrefine.c \ + match.c \ + mbalance.c \ + mbalance2.c \ + mcoarsen.c \ + memory.c \ + mesh.c \ + meshpart.c \ + mfm.c \ + mfm2.c \ + mincover.c \ + minitpart.c \ + minitpart2.c \ + mkmetis.c \ + mkwayfmh.c \ + mkwayrefine.c \ + mmatch.c \ + mmd.c \ + mpmetis.c \ + mrefine.c \ + mrefine2.c \ + mutil.c \ + myqsort.c \ + ometis.c \ + parmetis.c \ + pmetis.c \ + pqueue.c \ + refine.c \ + separator.c \ + sfm.c \ + srefine.c \ + stat.c \ + subdomains.c \ + timing.c \ + util.c + +lib_LTLIBRARIES = libmetis.la +libmetis_la_SOURCES = $(SRC) +libmetis_la_LIBADD = -lm +libmetis_la_LDFLAGS = -no-undefined -version-info 4:1:0 diff --git a/Makefile.am b/Makefile.am new file mode 100644 --- /dev/null +++ b/Makefile.am @@ -0,0 +1,5 @@ +SUBDIRS = Lib Programs Graphs Test Doc +EXTRA_DIST = CHANGES FILES INSTALL VERSION metis.pc.in + +pkgconfigdir = $(libdir)/pkgconfig +pkgconfig_DATA = metis.pc diff --git a/Programs/Makefile.am b/Programs/Makefile.am new file mode 100644 --- /dev/null +++ b/Programs/Makefile.am @@ -0,0 +1,23 @@ +AM_CPPFLAGS = -I$(top_srcdir)/Lib +LDADD = $(top_builddir)/Lib/libmetis.la + +bin_PROGRAMS = \ + pmetis \ + kmetis \ + oemetis \ + onmetis \ + mesh2dual \ + mesh2nodal \ + partdmesh \ + partnmesh \ + graphchk + +pmetis_SOURCES = pmetis.c io.c +kmetis_SOURCES = kmetis.c io.c +oemetis_SOURCES = oemetis.c io.c smbfactor.c +onmetis_SOURCES = onmetis.c io.c smbfactor.c +mesh2dual_SOURCES = mesh2dual.c io.c +mesh2nodal_SOURCES = mesh2nodal.c io.c +partdmesh_SOURCES = partdmesh.c io.c +partnmesh_SOURCES = partnmesh.c io.c +graphchk_SOURCES = graphchk.c io.c diff --git a/Test/Makefile.am b/Test/Makefile.am new file mode 100644 --- /dev/null +++ b/Test/Makefile.am @@ -0,0 +1,11 @@ +AM_CPPFLAGS = -I$(top_srcdir)/Lib +LDADD = $(top_builddir)/Lib/libmetis.la + +check_PROGRAMS = mtest +mtest_SOURCES = mtest.c ../Programs/io.c + +GRAPHS = \ + ../Graphs/4elt.graph + +check-local: $(check_PROGRAMS) $(GRAPHS) + -./mtest ../Graphs/4elt.graph diff --git a/configure.ac b/configure.ac new file mode 100644 --- /dev/null +++ b/configure.ac @@ -0,0 +1,31 @@ +AC_PREREQ([2.65]) +AC_INIT([METIS], [4.0.1], [karypis@cs.umn.edu]) +AC_CONFIG_SRCDIR([Lib/metis.h]) +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([malloc.h stdlib.h string.h strings.h]) + +AC_FUNC_MALLOC +AC_FUNC_REALLOC +AC_CHECK_FUNCS([pow sqrt strtol]) + +LIBS=$LIBS_SAVED + +AC_CONFIG_FILES([ + Makefile + metis.pc + Doc/Makefile + Graphs/Makefile + Lib/Makefile + Programs/Makefile + Test/Makefile]) +AC_OUTPUT diff --git a/metis.pc.in b/metis.pc.in new file mode 100644 --- /dev/null +++ b/metis.pc.in @@ -0,0 +1,10 @@ +prefix=@prefix@ +exec_prefix=@exec_prefix@ +libdir=@libdir@ +includedir=@includedir@ + +Name: @PACKAGE_NAME@ +Description: Software for partitioning unstructured graphs and meshes +Version: @PACKAGE_VERSION@ +Libs: -L${libdir} -lmetis +Cflags: -I${includedir}/metis