我正在考虑首次使用GNU Autotools打包我的名为MyShell的C程序。我曾尝试过两次,但两次都失败了。我跟着this simple tutorial,但我的程序不同,导致问题的原因(我认为)是有1个.h
文件和5个.c
文件,而本教程只使用一个.c
档案。
以下是我的程序的文件结构:
MyShell /
的src /
关于如何编写Makefile.am文件,configure.ac文件等的任何指导都将非常感激,或者更详细的教程如何使用Autotools来处理更复杂的程序。
修改
这些是我使用的文件:
MyShell / SRC / Makefile.am
bin_PROGRAMS = MyShell
MyShell_SOURCES = Main.c
MyShell / Makefile.am
SUBDIRS = src
dist_doc_DATA = README
MyShell / configure.ac
AC_INIT([MyShell], [1.0], [<my email address>])
AM_INIT_AUTOMAKE([-Wall -Werror foreign])
AC_PROG_CC
AC_CONFIG_HEADERS([config.h])
AC_CONFIG_FILES([
Makefile
src/Makefile
])
AC_OUTPUT
在我链接的教程中,configure.ac文件包含
行AC_CONFIG_HEADERS([config.h])
我应该将config.h
替换为MyShell.h
吗?
答案 0 :(得分:2)
MyShell_SOURCES = Main.c
这似乎是错误的。您需要列出所有源文件including header files。
我应该将
config.h
替换为MyShell.h
吗?
没有。 config.h
应由configure
文件中的config.h.in
脚本生成<script>
。 &#34;如何&#34;可以很漂亮complex。