1. 测试环境
- Windows XP SP3
- Erlang/OTP R13B03
- MinGW 5.1.6
- 设置PATH, C_INCLUDE_PATH, LIBRARY_PATH环境变量
- 将mingw32-make.exe改名为make.exe
2. 自制makefile
# by xumingyong@gmail.com
all: nif_dll nif.beam
# for win32 dll compiler
CC = gcc
CFLAGS = -shared
INPUT = nif.c wpcap.lib
nif_dll: nif.h
$(CC) $(CFLAGS) -o nif.dll $(INPUT)
# for erlang beam compiler
ERL = erlc
.SUFFIXES: .erl .beam
.erl.beam:
$(ERL) $<
clean:
del *.beam *.dll erl_crash.dump
3. 试验
使用make -n 检查输出命令,不真正运行。
使用make -MM自动扫描.c文件,以产生依赖文件,其中不包括#include<>中的头文件。
分享到:
相关推荐
总结来说,这个压缩包文件提供了一个关于如何使用GCC和MakeFile进行DLL编译的入门实例。通过学习和实践这个例子,开发者可以掌握C++源码的编译过程,了解MakeFile的编写,以及如何在Windows上创建和使用DLL。这是一...
make文件夹包含了两个子文件夹,a_b子文件夹实现多目标Makefile编译,projects子文件夹实现多层次Makefile文件编译。make文件夹中实现多个Makefile文件编译,即调用a_b和project2子文件夹中Makefile编译。
每个规则通常包含一个目标(通常是编译后的对象文件或最终的可执行文件)和一些依赖项(通常是源代码文件)。例如: ```makefile target.o: source.c header.h gcc -c source.c -o target.o ``` 在这个例子中,`...
在编程世界中,Makefile是一个极其重要的工具,它允许开发者自动化构建项目,特别是当项目包含多个目录和大量源代码文件时。"Makefile 多目录编译Demo"着重讲解了如何在复杂的项目结构中有效利用Makefile进行编译。...
在Linux环境中,`Makefile`是一个非常重要的工具,它用于自动化构建项目,特别是涉及多文件的C/C++项目。编写有效的`Makefile`规则能够极大地提高开发效率,减少手动编译链接的繁琐工作。本篇将详细介绍如何在`...
Makefile是一个文本文件,其中包含了规则和指令,用于告诉`make`命令如何构建应用程序。通过Makefile,开发者可以定义目标、依赖关系和执行的命令,使得构建过程更加系统化和可维护。 二、Makefile的结构 一个基本...
本篇将深入探讨如何使用`Makefile`来编译多个文件,以TCP通信协议为例,提供一个实践指南。 首先,我们要理解`Makefile`的基本结构。`Makefile`由一系列规则组成,每个规则定义了一个目标(target)和一些依赖...
Makefile是一种通用的自动编译工具,可以自动编译C和C++源代码,生成可执行文件。本Makefile万能通用版支持C和C++混合编译,能够满足大多数编译需求。 Makefile的基本结构 Makefile由六个部分组成:变量定义、目标...
本示例主要探讨的是如何为Linux驱动程序模块编写一个多文件的Makefile,以便于编译和加载。 首先,我们需要理解Makefile的基本结构和规则。Makefile由一系列的目标(target)和依赖(dependency)组成,目标通常是...
使用makefile快速编译文件,先将makefile文件放在项目文件目录下(放在最外面),根据makefile里面所定义的各种文件名,创建bin、lib、include、src等文件夹,在include里面放入“xxx.h”文件,在src里面放入分割封装...
一个Makefile通常包含目标(targets)、依赖项(dependencies)和规则(rules)。目标通常是需要构建的文件,如可执行文件或库文件;依赖项是目标文件生成所必需的源文件或其他目标文件;规则则定义了如何从依赖项...
在Linux环境中,`Makefile`是一个非常重要的工具,它用于自动化构建、编译和链接C++项目,尤其是当项目包含多个源文件时。这个例子展示了如何编写和使用`Makefile`来管理C++项目,其中可能包括类和其他复杂的结构。 ...
在Makefile中,目标文件可以是一个可执行文件、对象文件或库文件,依赖关系可以是文件之间的依赖关系,也可以是文件对头文件的依赖关系。编译命令可以是GCC、CC等编译器的命令,也可以是make自己的命令。 Makefile...
3. **多级Makefile 文件调用**:为了支持大规模项目,Makefile 文件之间可以相互调用,形成一个层级结构。 #### 七、Kbuild 系统 Kbuild 是 Linux 内核的一种高级构建系统,它提供了一种更简洁的方式来管理内核...
一个典型的makefile文件包含了对编译器的调用指令,这些指令告诉编译器如何编译和链接程序。在Unix系统中,广泛使用的编译器是GCC和CC,而在Windows系统中则可能有Delphi的make或Visual C++的nmake等。 程序的编译...
在IT行业中,`Makefile` 是一个至关重要的工具,它允许开发者自动化编译过程,尤其在处理多个源文件的项目时。标题提到的 "MAKEFILE 一键编译所有源程序" 指的就是如何利用 `Makefile` 来批量编译C语言的源代码文件...
本文将深入解析一个用于编译当前目录下的所有`.cpp`文件,并最终链接成一个可执行文件的`Makefile`示例。 #### 核心概念 1. **Makefile**:一种用于自动化构建过程的文件,它定义了目标文件(目标)与源文件之间的...
Makefile,作为一个核心的构建工具,被广泛应用于软件工程中,特别是在Unix和类Unix系统中。它通过定义一系列规则来自动化编译过程,极大地提高了软件开发的效率。本文将深入探讨Makefile的基本概念、编写方法及其在...
在这个"linux 两个编译多文件驱动的Makefile范例"中,我们将探讨如何使用Makefile来管理多源文件驱动程序的编译,特别是在2.4内核环境下。 首先,让我们了解Makefile的基本结构。Makefile通常包含目标(target)、...