install-exec-hook没有规则来制作目标

时间:2017-04-18 10:15:42

标签: c linux eclipse makefile automake

我在Eclipse中使用Autotools开发了一个C项目,所有内容都编译好并运行良好。那就是“原创” Makefile.am

bin_PROGRAMS = MyProgram_@PACKAGE_VERSION@

MyProgram_@PACKAGE_VERSION@_SOURCES = \
    MyProgram.c

include_HEADERS =

MyProgram_@PACKAGE_VERSION@_CFLAGS = -Wall \
    -I$(top_srcdir)/src/include \
    -I$(top_srcdir) \
    -I$(prefix)/include

MyProgram_@PACKAGE_VERSION@_LDFLAGS = \
    -L$(prefix)/lib \
    -lLibrary1\
    -lLibrary2\
    -lLibraryN

AM_CFLAGS = @MyProgram_@PACKAGE_VERSION@_CFLAGS@
AM_LDFLAGS = @MyProgram_@PACKAGE_VERSION@_LIBS@

CLEANFILES = *~ 

当我想在安装时为我的二进制文件创建符号链接时,问题就开始了。

谷歌搜索我发现最好的方法是将install-exec-hook规则添加到我的 Makefile.am ,从根本上我将这行代码添加到Makefile中,正如此处https://www.gnu.org/software/automake/manual/html_node/Extending.html#Extending

所述
install-exec-hook: \
    ln -s  $(DESTDIR)$(bindir)/MyProgram_@PACKAGE_VERSION@ \
           $(DESTDIR)$(bindir)/MyProgram

但是当我运行Make Targets时 - >构建 - >从Eclipse安装我收到错误:没有规则使“install-exec-hook”需要目标“ln”

我试过让事情变得更容易,只是为了测试我是否遗漏了什么,所以我写了

install-exec-hook: echo "TEST"

但我仍然遇到同样的错误。花了几天时间在网上寻找这个问题,但没有任何帮助。

希望有人能做到,非常感谢 安德烈

0 个答案:

没有答案