博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Makefile自动编写工具实例
阅读量:6159 次
发布时间:2019-06-21

本文共 1425 字,大约阅读时间需要 4 分钟。

准备源文件如下:

/*test.c*/

#include <stdio.h>

#include "phello.h"
#include "pword.h"
int
main ()
{
  phello ();
  pword ();
  return 0;
}

/*phello.c*/

#include<stdio.h>

#include "phello.h"
int
phello ()
{
  printf ("hello\n");
}

/*pword.c*/

#include <stdio.h>

#include "pword.h"
int
pword ()
{
  printf ("word\n");
}

/*phello.h*/

#ifndef __PHELLO_H__

#define __PHELLO_H__

int phello ();

#endif

/*pword.h*/

#ifndef __PWORD_H__

#define __PWORD_H__

int pword ();

#endif

使用autotools(autoscan、aclocal、autoconf、autoheader、automake)自动编写Makefile步骤如下:

(1)[...@...]#autoscan

(2)[...@...]#mv configure.scan configure.in

   [...@...]#vim configure.in  (修改如下:红色字体为修改过的地方)

  #                                               -*- Autoconf -*-

  # Process this file with autoconf to produce a configure script.

  AC_PREREQ(2.59)

  #AC_INIT(FULL-PACKAGE-NAME, VERSION, BUG-REPORT-ADDRESS)
  AC_INIT(test,1.0)
  AM_INIT_AUTOMAKE(test,1.0)
  AC_CONFIG_SRCDIR([phello.c])
  AC_CONFIG_HEADER([config.h])

  # 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])

(3)[...@...]#aclocal

(4)[...@...]#autoconf

(5)[...@...]#autoheader

(6)自己创建Makefile.am文件,内容如下:

  AUTOMAKE_OPTIONS=foreign

  bin_PROGRAMS=test
  test_SOURCES=test.c phello.c pword.c

  [...@...]#automake --add-missing

(7)[...@...]#./configure          至此,Makefile已自动生成

(8)[...@...]#make

  

  

转载地址:http://uuafa.baihongyu.com/

你可能感兴趣的文章
P2P应用层组播
查看>>
Sharepoint学习笔记—修改SharePoint的Timeouts (Execution Timeout)
查看>>
CSS引入的方式有哪些? link和@import的区别?
查看>>
Redis 介绍2——常见基本类型
查看>>
asp.net开发mysql注意事项
查看>>
(转)Cortex-M3 (NXP LPC1788)之EEPROM存储器
查看>>
ubuntu set defult jdk
查看>>
[译]ECMAScript.next:TC39 2012年9月会议总结
查看>>
【Xcode】编辑与调试
查看>>
用tar和split将文件分包压缩
查看>>
[BTS] Could not find stored procedure 'mp_sap_check_tid'
查看>>
PLSQL DBMS_DDL.ALTER_COMPILE
查看>>
Activity生命周期
查看>>
高仿UC浏览器弹出菜单效果
查看>>
Ubuntu忘记密码,进不了系统的解决方法
查看>>
[原创]白盒测试技术思维导图
查看>>
<<Information Store and Management>> 读书笔记 之八
查看>>
Windows 8 开发之设置合约
查看>>
闲说HeartBeat心跳包和TCP协议的KeepAlive机制
查看>>
MoSQL
查看>>