[pve-devel] [PATCH cluster v2] buildsys: replace autotools with plain makefiles

Thomas Lamprecht t.lamprecht at proxmox.com
Thu Jul 12 10:06:01 CEST 2018


pve-cluster is not a big project with to much dependencies, so
autotools was a bit of an overkill for it.
Omit it, plus a ./configure step in general and just use a plain
Makefile - in combination with pkg-config - like we do in our other
projects.

Build time gets reduced quite a bit - albeit the were never that big
anyway...:

(old autotools) time make deb
make deb  12.96s user 1.78s system 94% cpu 15.543 total

(new plain makefile) time make deb
make deb  9.40s user 1.14s system 100% cpu 10.465 total

A third less time needed here, and with compiling in parallel I can
shave off even 1.5 seconds more, so almost  half of the original
time.

Signed-off-by: Thomas Lamprecht <t.lamprecht at proxmox.com>
---

changes v1 -> v2:
* s/make/$(MAKE)/
* ensure all clean targets are PHONY ones
* add all: target to data/Makefile
* allow to build src/ binaries (pmxcfs and helpers) with make only by
  adding them to the default target

Thanks to Wolfgang for the off-list review!

 data/Makefile             |  18 ++++
 data/Makefile.am          |   4 -
 data/PVE/API2/Makefile    |  11 +++
 data/PVE/CLI/Makefile     |  11 +++
 data/PVE/Cluster/Makefile |  17 ++++
 data/PVE/Makefile         |  56 +++++++++++++
 data/PVE/Makefile.am      |  54 ------------
 data/autogen.sh           |   6 --
 data/config.h.in          | 172 --------------------------------------
 data/configure.ac         | 105 -----------------------
 data/src/Makefile         |  57 +++++++++++++
 data/src/Makefile.am      |  56 -------------
 data/test/Makefile        |   1 -
 debian/rules              |   2 +-
 14 files changed, 171 insertions(+), 399 deletions(-)
 create mode 100644 data/Makefile
 delete mode 100644 data/Makefile.am
 create mode 100644 data/PVE/API2/Makefile
 create mode 100644 data/PVE/CLI/Makefile
 create mode 100644 data/PVE/Cluster/Makefile
 create mode 100644 data/PVE/Makefile
 delete mode 100644 data/PVE/Makefile.am
 delete mode 100755 data/autogen.sh
 delete mode 100644 data/config.h.in
 delete mode 100644 data/configure.ac
 create mode 100644 data/src/Makefile
 delete mode 100644 data/src/Makefile.am

diff --git a/data/Makefile b/data/Makefile
new file mode 100644
index 0000000..82d1ef7
--- /dev/null
+++ b/data/Makefile
@@ -0,0 +1,18 @@
+all:
+
+.PHONY: install
+install:
+	$(MAKE) -C src install
+	$(MAKE) -C PVE install
+
+
+.PHONY: check
+check:
+	$(MAKE) -C test check
+	$(MAKE) -C src check
+	$(MAKE) -C PVE check
+
+.PHONY: clean
+clean:
+	$(MAKE) -C src clean
+	$(MAKE) -C PVE clean
diff --git a/data/Makefile.am b/data/Makefile.am
deleted file mode 100644
index 51b1cd4..0000000
--- a/data/Makefile.am
+++ /dev/null
@@ -1,4 +0,0 @@
-
-SUBDIRS = src PVE test
-
-CLEANFILES = *~
diff --git a/data/PVE/API2/Makefile b/data/PVE/API2/Makefile
new file mode 100644
index 0000000..0eeba51
--- /dev/null
+++ b/data/PVE/API2/Makefile
@@ -0,0 +1,11 @@
+PVEDIR=${DESTDIR}/usr/share/perl5/PVE
+
+SOURCES=ClusterConfig.pm
+
+.PHONY: install
+install: ${SOURCES}
+	install -d ${PVEDIR}/API2/
+	for f in ${SOURCES}; do install -m 0664 $$f ${PVEDIR}/API2/$$f; done
+
+.PHONY: clean
+clean:
diff --git a/data/PVE/CLI/Makefile b/data/PVE/CLI/Makefile
new file mode 100644
index 0000000..1e58e2f
--- /dev/null
+++ b/data/PVE/CLI/Makefile
@@ -0,0 +1,11 @@
+PVEDIR=${DESTDIR}/usr/share/perl5/PVE
+
+SOURCES=pvecm.pm
+
+.PHONY: install
+install: ${SOURCES}
+	install -d -m 0755 ${PVEDIR}/CLI
+	for f in ${SOURCES}; do install -D -m 0644 $$f ${PVEDIR}/CLI/$$f; done
+
+.PHONY: clean
+clean:
diff --git a/data/PVE/Cluster/Makefile b/data/PVE/Cluster/Makefile
new file mode 100644
index 0000000..c0e9b85
--- /dev/null
+++ b/data/PVE/Cluster/Makefile
@@ -0,0 +1,17 @@
+PVEDIR=${DESTDIR}/usr/share/perl5/PVE
+
+SOURCES=IPCConst.pm
+
+.PHONY: install
+install: ${SOURCES}
+	install -d ${PVEDIR}/Cluster
+	for f in ${SOURCES}; do install -m 0664 $$f ${PVEDIR}/Cluster/$$f; done
+
+IPCConst.pm: ../../src/cfs-ipc-ops.h
+	awk -f IPCConst.pm.awk $< > $@.tmp
+	mv $@.tmp $@
+IPCConst.pm: IPCConst.pm.awk
+
+.PHONY: clean
+clean:
+	rm -f IPCConst.pm IPCConst.pm.tmp
diff --git a/data/PVE/Makefile b/data/PVE/Makefile
new file mode 100644
index 0000000..75636eb
--- /dev/null
+++ b/data/PVE/Makefile
@@ -0,0 +1,56 @@
+DESTDIR=
+PERL5DIR=${DESTDIR}/usr/share/perl5
+PVEDIR=${PERL5DIR}/PVE
+MAN=${DESTDIR}/usr/share/man
+BASHCOMPLETION=${DESTDIR}/usr/share/bash-completion/completions
+
+PERL_VENDORARCH=$(shell perl -MConfig -e 'print $$Config{vendorarch};')
+PVE_VENDORARCH=${DESTDIR}/${PERL_VENDORARCH}/auto/PVE/IPCC
+
+SUBDIRS=Cluster CLI API2
+SOURCES=IPCC.pm Cluster.pm Corosync.pm
+
+all:
+
+.PHONY: install
+install: pvecm ${SOURCES} IPCC.so pvecm.1 pvecm.bash-completion datacenter.cfg.5
+	install -D -m 0755 pvecm ${DESTDIR}/usr/bin/pvecm
+	install -d ${PVEDIR}
+	for f in ${SOURCES}; do install -m 0664 $$f ${PVEDIR}/$$f; done
+	install -D IPCC.so ${PVE_VENDORARCH}/IPCC.so
+	install -D pvecm.1 ${MAN}/man1/pvecm.1
+	install -D datacenter.cfg.5 ${MAN}/man5/datacenter.cfg.5
+	install -m 0644 -D pvecm.bash-completion ${BASHCOMPLETION}/pvecm
+	for d in ${SUBDIRS}; do $(MAKE) -C $$d install; done
+
+%.bash-completion:
+	LD_LIBRARY_PATH=. perl -I.. -T -e "use PVE::CLI::$*; PVE::CLI::$*->generate_bash_completions();" >$@.tmp
+	mv $@.tmp $@
+
+check:
+	LD_LIBRARY_PATH=. perl -I.. -T -e "use PVE::CLI::pvecm; PVE::CLI::pvecm->verify_api();"
+
+CC=gcc
+CFLAGS += -fPIC -Wl,-z,relro -Wall -Werror -Wno-strict-aliasing -g -O2 -shared
+CFLAGS += $(shell perl -MExtUtils::Embed -e perl_inc)
+LDFLAGS = $(shell pkg-config --libs libqb)
+
+.c.o:
+	$(CC) $(CFLAGS) -c -o $@ $<
+
+IPCC.c: IPCC.xs ppport.h
+	xsubpp -noversioncheck IPCC.xs > IPCC.xsc
+	mv IPCC.xsc IPCC.c
+
+IPCC.so: IPCC.o
+	$(CC) ${CFLAGS} ${LDFLAGS} -shared -o $@ $<
+
+export PERLLIB=..
+export NOVIEW=1
+-include /usr/share/pve-doc-generator/pve-doc-generator.mk
+
+.PHONY: clean
+clean:
+	$(MAKE) cleanup-docgen
+	rm -f IPCC.so IPCC.o IPCC.c pvecm.bash-completion
+	for d in ${SUBDIRS}; do $(MAKE) -C $$d clean; done
diff --git a/data/PVE/Makefile.am b/data/PVE/Makefile.am
deleted file mode 100644
index 6524a97..0000000
--- a/data/PVE/Makefile.am
+++ /dev/null
@@ -1,54 +0,0 @@
-bin_SCRIPTS = pvecm
-
-IPCC.c: IPCC.xs
-	xsubpp IPCC.xs > IPCC.xsc
-	mv IPCC.xsc IPCC.c
-
-Cluster/IPCConst.pm: ../src/cfs-ipc-ops.h
-	awk -f Cluster/IPCConst.pm.awk $< > $@.tmp
-	mv $@.tmp $@
-Cluster/IPCConst.pm: Cluster/IPCConst.pm.awk
-
-AM_CFLAGS = -shared -fPIC -Wl,-z,relro -Wall -Werror -Wno-strict-aliasing $(PERL_INC) -DXS_VERSION=VERSION
-LDADD = $(QB_LIBS)
-
-perlbin_PROGRAMS = IPCC.so
-perlbindir = $(PERL_VENDORARCH)/auto/PVE/IPCC
-
-# this require package pve-doc-generator
-export NOVIEW=1
-include /usr/share/pve-doc-generator/pve-doc-generator.mk
-
-export PERLLIB=..
-
-%.bash-completion:
-	LD_LIBRARY_PATH=. perl -I.. -T -e "use PVE::CLI::$*; PVE::CLI::$*->generate_bash_completions();" >$@.tmp
-	mv $@.tmp $@
-
-man1_MANS = pvecm.1
-pvecm.1-synopsis.adoc: Cluster/IPCConst.pm
-man5_MANS = datacenter.cfg.5
-
-IPCC_so_SOURCES = IPCC.c ppport.h
-
-pvelib_DATA = IPCC.pm Cluster.pm Corosync.pm
-pvelibdir = $(PERL_VENDORLIB)/PVE
-
-pveclusterlib_DATA = Cluster/IPCConst.pm
-pveclusterlibdir = $(PERL_VENDORLIB)/PVE/Cluster
-
-noinst_DATA = pvecm.bash-completion
-
-cliclass_DATA = CLI/pvecm.pm
-cliclassdir = $(PERL_VENDORLIB)/PVE/CLI
-
-apiclass_DATA = API2/ClusterConfig.pm
-apiclassdir = $(PERL_VENDORLIB)/PVE/API2
-
-install-exec-hook: pvecm.bash-completion
-	LD_LIBRARY_PATH=. perl -I.. -T -e "use PVE::CLI::pvecm; PVE::CLI::pvecm->verify_api();"
-	install -m 0644 -D pvecm.bash-completion ${DESTDIR}/usr/share/bash-completion/completions/pvecm
-
-clean-local:
-	make cleanup-docgen
-	rm -f IPCC.c *~ *.1 *.5
diff --git a/data/autogen.sh b/data/autogen.sh
deleted file mode 100755
index 789afa2..0000000
--- a/data/autogen.sh
+++ /dev/null
@@ -1,6 +0,0 @@
-aclocal
-#aclocal -I m4
-#aclocal -I cmulocal
-#autoheader
-automake --foreign --add-missing
-autoconf
diff --git a/data/config.h.in b/data/config.h.in
deleted file mode 100644
index 1b6f16b..0000000
--- a/data/config.h.in
+++ /dev/null
@@ -1,172 +0,0 @@
-/* config.h.in.  Generated from configure.in by autoheader.  */
-
-/* Define to 1 if the `closedir' function returns void instead of `int'. */
-#undef CLOSEDIR_VOID
-
-/* Define to 1 if you have the <dirent.h> header file, and it defines `DIR'.
-   */
-#undef HAVE_DIRENT_H
-
-/* Define to 1 if you have the <fcntl.h> header file. */
-#undef HAVE_FCNTL_H
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if `lstat' has the bug that it succeeds when given the
-   zero-length file name argument. */
-#undef HAVE_LSTAT_EMPTY_STRING_BUG
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the `memset' function. */
-#undef HAVE_MEMSET
-
-/* Define to 1 if you have the `mkdir' function. */
-#undef HAVE_MKDIR
-
-/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
-#undef HAVE_NDIR_H
-
-/* Define to 1 if you have the `rmdir' function. */
-#undef HAVE_RMDIR
-
-/* Define to 1 if you have the `select' function. */
-#undef HAVE_SELECT
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the `strdup' function. */
-#undef HAVE_STRDUP
-
-/* Define to 1 if you have the `strerror' function. */
-#undef HAVE_STRERROR
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if `st_blocks' is a member of `struct stat'. */
-#undef HAVE_STRUCT_STAT_ST_BLOCKS
-
-/* Define to 1 if your `struct stat' has `st_blocks'. Deprecated, use
-   `HAVE_STRUCT_STAT_ST_BLOCKS' instead. */
-#undef HAVE_ST_BLOCKS
-
-/* Define to 1 if you have the <syslog.h> header file. */
-#undef HAVE_SYSLOG_H
-
-/* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
-   */
-#undef HAVE_SYS_DIR_H
-
-/* Define to 1 if you have the <sys/file.h> header file. */
-#undef HAVE_SYS_FILE_H
-
-/* Define to 1 if you have the <sys/mount.h> header file. */
-#undef HAVE_SYS_MOUNT_H
-
-/* Define to 1 if you have the <sys/ndir.h> header file, and it defines `DIR'.
-   */
-#undef HAVE_SYS_NDIR_H
-
-/* Define to 1 if you have the <sys/select.h> header file. */
-#undef HAVE_SYS_SELECT_H
-
-/* Define to 1 if you have the <sys/socket.h> header file. */
-#undef HAVE_SYS_SOCKET_H
-
-/* Define to 1 if you have the <sys/statvfs.h> header file. */
-#undef HAVE_SYS_STATVFS_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define to 1 if `lstat' dereferences a symlink specified with a trailing
-   slash. */
-#undef LSTAT_FOLLOWS_SLASHED_SYMLINK
-
-/* Name of package */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the home page for this package. */
-#undef PACKAGE_URL
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* Define to the type of arg 1 for `select'. */
-#undef SELECT_TYPE_ARG1
-
-/* Define to the type of args 2, 3 and 4 for `select'. */
-#undef SELECT_TYPE_ARG234
-
-/* Define to the type of arg 5 for `select'. */
-#undef SELECT_TYPE_ARG5
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define to 1 if you can safely include both <sys/time.h> and <time.h>. */
-#undef TIME_WITH_SYS_TIME
-
-/* Version number of package */
-#undef VERSION
-
-/* Define for Solaris 2.5.1 so the uint32_t typedef from <sys/synch.h>,
-   <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
-   #define below would cause a syntax error. */
-#undef _UINT32_T
-
-/* Define for Solaris 2.5.1 so the uint64_t typedef from <sys/synch.h>,
-   <pthread.h>, or <semaphore.h> is not used. If the typedef were allowed, the
-   #define below would cause a syntax error. */
-#undef _UINT64_T
-
-/* Define to empty if `const' does not conform to ANSI C. */
-#undef const
-
-/* Define to `int' if <sys/types.h> does not define. */
-#undef mode_t
-
-/* Define to `long int' if <sys/types.h> does not define. */
-#undef off_t
-
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-#undef size_t
-
-/* Define to `int' if <sys/types.h> does not define. */
-#undef ssize_t
-
-/* Define to the type of an unsigned integer type of width exactly 32 bits if
-   such a type exists and the standard includes do not define it. */
-#undef uint32_t
-
-/* Define to the type of an unsigned integer type of width exactly 64 bits if
-   such a type exists and the standard includes do not define it. */
-#undef uint64_t
diff --git a/data/configure.ac b/data/configure.ac
deleted file mode 100644
index b113f5d..0000000
--- a/data/configure.ac
+++ /dev/null
@@ -1,105 +0,0 @@
-#                                               -*- Autoconf -*-
-# Process this file with autoconf to produce a configure script.
-
-AC_PREREQ(2.61)
-AC_INIT([pve-cluster], [1.0], [support at proxmox.com]) 
-AM_INIT_AUTOMAKE([-Wall -Werror -Wno-portability foreign])
-AM_MAINTAINER_MODE
-
-AC_CONFIG_SRCDIR([src/memdb.c])
-
-AC_CONFIG_HEADER([config.h])
-
-AC_PREFIX_DEFAULT([/usr])
-
-# Checks for programs.
-AC_PROG_CC
-AC_PROG_RANLIB
-
-m4_pattern_allow([AM_PROG_AR])
-AM_PROG_AR
-    
-# Checks for libraries.
-
-PKG_CHECK_MODULES([CHECK], [check >= 0.9.4],
-HAVE_CHECK="yes", AC_MSG_ERROR([check not found])) 
-
-PKG_CHECK_MODULES([LIBRRD], [librrd >= 1.4.3],
-HAVE_LIBRRD="yes", AC_MSG_ERROR([librrd not found])) 
-AC_SUBST(LIBRRD_CFLAGS)
-AC_SUBST(LIBRRD_LIBS)
-
-PKG_CHECK_MODULES(GLIB, 
-glib-2.0 >= 2.42.1, 
-HAVE_GLIB="yes", AC_MSG_ERROR([glib not found]))
-AC_SUBST(GLIB_CFLAGS)
-AC_SUBST(GLIB_LIBS)
-
-PKG_CHECK_MODULES(FUSE, 
-fuse >= 2.7.4, 
-HAVE_FUSE="yes", AC_MSG_ERROR([fuse not found]))
-AC_SUBST(FUSE_CFLAGS)
-AC_SUBST(FUSE_LIBS)
-
-PKG_CHECK_MODULES(COROSYNC, 
-libquorum >= 2.3.4 libcpg >= 2.3.4 libcmap >= 2.3.4,  
-HAVE_COROSYNC="yes", AC_MSG_ERROR([corosync not found]))
-AC_SUBST(COROSYNC_CFLAGS)
-AC_SUBST(COROSYNC_LIBS)
-
-PKG_CHECK_MODULES(QB, 
-libqb, 
-HAVE_QB="yes", AC_MSG_ERROR([libqb not found]))
-AC_SUBST(QB_CFLAGS)
-AC_SUBST(QB_LIBS)
-
-PKG_CHECK_MODULES(SQLITE3, 
-sqlite3, 
-HAVE_SQLITE3="yes", AC_MSG_ERROR([sqlite3 not found]))
-AC_SUBST(SQLITE3_CFLAGS)
-AC_SUBST(SQLITE3_LIBS)
-
-AC_PATH_PROG([PERL], [perl], [no])
-if test "x${PERL}" = xno; then
-  AC_MSG_ERROR([perl not found])
-fi
-AC_SUBST(PERL)
-
-PERL_INC="$(perl -MExtUtils::Embed -e perl_inc)"
-PERL_VENDORLIB="$(perl -MConfig -e 'print $Config{vendorlibexp}')"
-PERL_VENDORARCH="$(perl -MConfig -e 'print $Config{vendorarch}')"
-AC_SUBST(PERL_INC)
-AC_SUBST(PERL_VENDORLIB)
-AC_SUBST(PERL_VENDORARCH)
-
-# Checks for header files.
-AC_HEADER_DIRENT
-AC_HEADER_STDC
-AC_CHECK_HEADERS([fcntl.h stdlib.h string.h sys/file.h sys/mount.h sys/statvfs.h syslog.h unistd.h])
-
-# Checks for typedefs, structures, and compiler characteristics.
-AC_C_CONST
-AC_TYPE_MODE_T
-AC_TYPE_OFF_T
-AC_TYPE_SIZE_T
-AC_TYPE_SSIZE_T
-AC_STRUCT_ST_BLOCKS
-AC_HEADER_TIME
-AC_TYPE_UINT32_T
-AC_TYPE_UINT64_T
-
-# Checks for library functions.
-AC_FUNC_CLOSEDIR_VOID
-AC_FUNC_LSTAT
-AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK
-AC_FUNC_MEMCMP
-AC_FUNC_SELECT_ARGTYPES
-AC_CHECK_FUNCS([memset mkdir rmdir select strdup strerror])
-
-AC_CONFIG_FILES([
-Makefile
-src/Makefile
-PVE/Makefile
-])
-AC_OUTPUT
-
diff --git a/data/src/Makefile b/data/src/Makefile
new file mode 100644
index 0000000..6e8ba7d
--- /dev/null
+++ b/data/src/Makefile
@@ -0,0 +1,57 @@
+
+DEPENDENCIES=libcpg libcmap libquorum libqb glib-2.0 fuse sqlite3 librrd
+
+CC = gcc
+CFLAGS += -std=gnu99
+CFLAGS += -Wall -Werror -Wno-unknown-pragmas -Wno-strict-aliasing
+CFLAGS += -g -O2 -Wl,-z,relro
+CFLAGS += -I.
+CFLAGS += $(shell pkg-config --cflags ${DEPENDENCIES})
+
+LDFLAGS += $(shell pkg-config --libs ${DEPENDENCIES})
+
+AR = ar
+ARFLAGS = crs
+
+.c.o:
+	$(CC) $(CFLAGS) -c -o $@ $<
+
+all: pmxcfs create_pmxcfs_db logtest check_memdb
+
+libpmxcfs.a: logger.o loop.o server.o status.o confdb.o quorum.o dcdb.o dfsm.o
+libpmxcfs.a: cfs-plug.o cfs-plug-memdb.o cfs-plug-link.o cfs-plug-func.o
+libpmxcfs.a: cfs-utils.o memdb.o database.o
+libpmxcfs.a:
+	$(AR) $(ARFLAGS) $@ $^
+
+pmxcfs: pmxcfs.o libpmxcfs.a
+	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
+
+
+create_pmxcfs_db: create_pmxcfs_db.o libpmxcfs.a
+	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
+
+logtest: logtest.o libpmxcfs.a
+	$(CC) $(CFLAGS) $(LDFLAGS) -o $@ $^
+
+check_memdb: check_memdb.o libpmxcfs.a
+	$(CC) $(CFLAGS) -o $@ $^ $(LDFLAGS) $(shell pkg-config --libs check)
+
+pmxcfs.8:
+
+export NOVIEW=1
+-include /usr/share/pve-doc-generator/pve-doc-generator.mk
+
+.PHONY: install
+install: pmxcfs create_pmxcfs_db pmxcfs.8
+	install -D -m 0755 pmxcfs ${DESTDIR}/usr/bin/pmxcfs
+	install -D -m 0755 create_pmxcfs_db ${DESTDIR}/usr/bin/create_pmxcfs_db
+	install -D pmxcfs.8 ${DESTDIR}/usr/share/man/man8/pmxcfs.8
+
+.PHONY: check
+check: check_memdb
+	./check_memdb
+
+.PHONY: clean
+clean:
+	rm -f *.o *.a pmxcfs create_pmxcfs_db check_memdb logtest pmxcfs.8
diff --git a/data/src/Makefile.am b/data/src/Makefile.am
deleted file mode 100644
index 5e7eb65..0000000
--- a/data/src/Makefile.am
+++ /dev/null
@@ -1,56 +0,0 @@
-noinst_PROGRAMS = logtest
-logtest_SOURCES = logtest.c
-
-# this requires package pve-doc-generator
-export NOVIEW=1
-include /usr/share/pve-doc-generator/pve-doc-generator.mk
-
-man8_MANS = pmxcfs.8
-
-bin_PROGRAMS = pmxcfs create_pmxcfs_db
-pmxcfs_SOURCES = pmxcfs.c
-create_pmxcfs_db_SOURCES = create_pmxcfs_db.c
-
-TESTS = check_memdb
-check_PROGRAMS = ${TESTS}
-check_memdb_SOURCES = check_memdb.c
-check_memdb_CFLAGS = $(AM_CFLAGS) @CHECK_CFLAGS@
-check_memdb_LDADD = $(LDADD) @CHECK_LIBS@ 
-
-noinst_LIBRARIES = libpmxcfs.a
-libpmxcfs_a_SOURCES = 		\
-	logger.h		\
-	logger.c		\
-	loop.h			\
-	loop.c			\
-	server.h		\
-	server.c		\
-	status.h		\
-	status.c		\
-	confdb.h		\
-	confdb.c		\
-	quorum.h		\
-	quorum.c		\
-	dcdb.h			\
-	dcdb.c			\
-	dfsm.c			\
-	dfsm.h			\
-	cfs-plug.h 		\
-	cfs-plug.c 		\
-	cfs-plug-link.c		\
-	cfs-plug-func.c		\
-	cfs-plug-memdb.h 	\
-	cfs-plug-memdb.c 	\
-	cfs-utils.h		\
-	cfs-utils.c		\
-	database.c		\
-	memdb.h			\
-	memdb.c
-
-# add -lprofiler for google perftools
-AM_CFLAGS =  -g -O -Wl,-z,relro -std=gnu99 -Wall -Werror -Wno-strict-aliasing $(COROSYNC_CFLAGS) $(SQLITE3_CFLAGS) $(FUSE_CFLAGS) $(QB_CFLAGS) $(GLIB_CFLAGS) $(LIBRRD_CFLAGS) 
-LDADD = libpmxcfs.a $(COROSYNC_LIBS) $(SQLITE3_LIBS) $(FUSE_LIBS) $(QB_LIBS) $(GLIB_LIBS) $(LIBRRD_LIBS) 
-
-clean-local:
-	make cleanup-docgen
-	rm -f *~
diff --git a/data/test/Makefile b/data/test/Makefile
index c3df52a..1948a88 100644
--- a/data/test/Makefile
+++ b/data/test/Makefile
@@ -4,6 +4,5 @@ all:
 check:
 	./corosync_parser_test.pl
 
-install: check
 distclean: clean
 clean:
diff --git a/debian/rules b/debian/rules
index aaeda94..7a9be9e 100755
--- a/debian/rules
+++ b/debian/rules
@@ -5,7 +5,7 @@
 #export DH_VERBOSE=1
 
 %:
-	dh $@ --with=systemd --with=autoreconf
+	dh $@ --with=systemd
 
 override_dh_strip:
 	dh_strip --dbgsym-migration='pve-cluster-dbg (<< 5.0-16)'
-- 
2.18.0





More information about the pve-devel mailing list