linux下automake用法(转)
作为Linux
下的程序开发人员,大家一定都遇到过Makefile
,用make
命令来编译自己写的程序确实是很方便。一般情况下,大家都是手工写一个简单Makefile
,如果要想写出一个符合自由软件惯例的Makefile
就不那么容易了。
在本文中,将给大家介绍如何使用 autoconf
和automake
两个工具来帮助我们自动地生成符合自由软件惯例的Makefile
,这样就可以象常见的GNU
程序一样,只要使用“./configure”
,“make”
,“make install”
就可以把程序安装到Linux
系统中去了。这将特别适合想做开放源代码软件的程序开发人员,又或如果你只是自己写些小的Toy
程序,那么这个文章对你也会有很大的帮助。
编译一个简单的源文件main.c,需要自动生成一个makefile,以下是步骤:
第一步:
----------
在/root/project/main目录下创建一个文件main.c,其内容如下:
------------------------------------------------
#include <stdio.h>
int main(int argc, char** argv)
{
printf("Hello, Auto Makefile!\n");
return 0;
}
------------------------------------------------
此时状态如下:
[root@localhost main]# pwd
/root/project/main
[root@localhost main]# ls
main.c
[root@localhost main]#
第二步:
----------
运行 autoscan
, 自动创建两个文件: autoscan.log configure.scan
此时状态如下:
[root@localhost main]# autoscan
[root@localhost main]# ls
autoscan.log configure.scan
main.c
[root@localhost main]#
第三步:
----------
修改configure.scan的文件名为configure.in
查看configure.in
的内容:
------------------------------------------------
# -*- Autoconf -*-
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.61)
AC_INIT(FULL-PACKAGE-NAME, VERSION, BUG-REPORT-ADDRESS)
AC_CONFIG_SRCDIR([main.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
------------------------------------------------
解读以上的文件:
------------------------------------------------
相关文档:
1. HCI层协议概述:
HCI提供一套统一的方法来访问Bluetooth底层。如图所示:
从图上可以看出,Host Controller Interface(HCI) 就是用来沟通Host和Module。Host通常就是PC, Module则是以各种物理连接形式(USB,serial,pc-card等)连接到PC上的bluetooth Dongle。
在Host这一端:application,SDP,L2cap等协议 ......
Service Discovery Protocol(SDP)提供一种能力,让应用程序有方法发现哪种服务可用以及这种服务的特性。
服务发现协议(SDP或Bluetooth SDP)在蓝牙协议栈中对蓝牙环境中的应用程序有特殊的含意,发现哪个服务是可用的和确定这些可用服务的特征。SDP定义了bluetooth client发现可用bluetooth server服务和它们的特征的方法。 ......
1) linux目录架构
/ 根目录
/bin 常用的命令
binary file 的目錄
/boot 存放系统启动时必须读取的档案,包括核心
(kernel) 在内
/boot/grub/menu.lst GRUB设置
/boot/vmlinuz 内核
  ......
想正式地试用一下ubuntu,装了9.10 ,分10G的空间,勉强足够,为了搭建一个PHP开发平台。
学校是电子科技大学中山学院,上网的方式是dr.com认证,windows下的版本是3.46,我自己改了一下,可以用内网。
wubi安装方式,上网搜索的教程,发现需要安装build-essential 来编译dr.com,后来找到了这个网站:
www.drcom-client ......