- 论坛徽章:
- 0
|
不知从哪儿看到一句话,类unix编程,不会编写(阅读)Makefile,就说明不具有大型代码能力。^_^。而且在具体的工作、学习中,也体会到了Makefile对于代码的重要性。所以就给自己制定了稳步学习Makefile的计划。
准备从automake开始,单文件、多文件、多目录文件的渐进过程,直至自己能够手动熟练编写makefile。
说多了没用,那就从最简单的单文件automake方式开始,也就有了本篇实践文档。在具体操作过程中,也体会到了实践的重要性,否则看太多技术资料也是别人的。
正确无误的步骤记录如下:
1. 创建一个文件夹,并进入:mkdir SingleFileMakefile,cd SingleFileMakefile;
2. 创建一个代码文件main.c,并输入如下语句(vi main.c):
/*
ghh_bigpan@163.com
*/
/* 2008.01.22 */
#include
int main( int argc, char* argv[ ] )
{
printf( "Hello, Cygwin!\n" );
return 0;
}
3. 在SingleFileMakefile目录内,执行命令autoscan;
4. 把生成的configure.scan改名为configue.ac:mv configure.scan configue.ac;
5. 把configue.ac的内容改成如下形式:
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
AC_INIT(SingleFileMakefile, 1.0, ghh_bigpan@163.com)
AC_CONFIG_SRCDIR([main.c])
AM_CONFIG_HEADER([config.h])
#########
AM_INIT_AUTOMAKE(SingleFileMakefile, 1.0)
# Checks for programs.
AC_PROG_CC
# Checks for libraries.
# Checks for header files.
# Checks for typedefs, structures, and compiler characteristics.
# Checks for library functions.
AC_OUTPUT([Makefile])
6. 执行命令aclocal,autoconf,autoheader;
7. 执行命令:touch NEWS README AUTHORS ChangeLog;
8. 创建Makefile.am文件,并输入如下内容:
AUTOMAKE_OPTIONS= foreign
bin_PROGRAMS= SingleFileMakefile
SingleFileMakefile_SOURCES= main.c
9. 执行命令,automake --add-missing。
至此,auomake处理过程已经全部完成。
此时,如要生成可执行程序,只需执行:./configure,make。
比较常用的make命令为:all, clean, dist, checkdist。
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/59863/showart_469631.html |
|