libtool被'make distclean'删除

Ste*_*e K 1 automake autoconf autotools libtool

我已经将libtool复制到程序的源代码树中,并将其与程序一起分发.但是当我运行'make distclean'时,libtool会被剩下的其余生成文件删除.我如何阻止这种情况发生?

我尝试放入EXTRA_DIST = libtoolMakefile.am,但这不起作用.

这基本上是我的configure.ac的样子.

AC_PREREQ(2.53)
AC_INIT( [program], [0.16], [program] )
AC_CONFIG_SRCDIR([src/c/program.c])
AC_CONFIG_HEADER([config.h])
AC_CONFIG_AUX_DIR(build-aux)
AM_INIT_AUTOMAKE( [-Wall -Werror foreign] )

m4_include(ax_pkg_swig.m4)

# Checks for programs.
AC_PROG_CC
AC_PROG_LIBTOOL
AC_ENABLE_SHARED
AC_PROG_SWIG

# Checks for libraries.

# Checks for header files.
AC_HEADER_STDC
AC_CHECK_HEADERS([stdlib.h string.h unistd.h])

# Checks for typedefs, structures, and compiler characteristics.
AC_TYPE_SIZE_T

# Checks for library functions.
AC_REPLACE_FNMATCH
AC_FUNC_MALLOC
AC_FUNC_STAT
AC_CHECK_FUNCS([regcomp strdup strtoull])

AC_CONFIG_FILES([
    Makefile
    src/c/Makefile
    src/perl/Makefile
    src/verilog/Makefile
])
AC_OUTPUT
Run Code Online (Sandbox Code Playgroud)

ndi*_*dim 7

实际上,你不需要调用所有的aclocal和libtoolize以及autoheader和...

打电话吧

$ autoreconf -i
Run Code Online (Sandbox Code Playgroud)

和autoreconf将运行aclocal,libtoolize(如果configure.ac中有libtool宏),automake(如果configure.ac涉及automake)和autoconf.需要添加到源树的所有相应文件都将被复制到其中,其中包括ltmain.sh.2

我通常添加一些详细程度(-v),而不是只复制文件,我将它们符号链接,导致我的标准调用

$ autoreconf -vis
Run Code Online (Sandbox Code Playgroud)

由"configure"运行生成的"libtool"文件特定于配置运行发生的系统,因此当然将通过"make distclean"再次清理.