`
xumingyong
  • 浏览: 182540 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

使用一个Makefile文件同时编译dll和beam文件

阅读更多

 

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编译

    总结来说,这个压缩包文件提供了一个关于如何使用GCC和MakeFile进行DLL编译的入门实例。通过学习和实践这个例子,开发者可以掌握C++源码的编译过程,了解MakeFile的编写,以及如何在Windows上创建和使用DLL。这是一...

    Linux多个Makefile文件编译,多层次Makefile文件编译和多目标Makefile文件编译

    make文件夹包含了两个子文件夹,a_b子文件夹实现多目标Makefile编译,projects子文件夹实现多层次Makefile文件编译。make文件夹中实现多个Makefile文件编译,即调用a_b和project2子文件夹中Makefile编译。

    Makefile不编译已经编译过的文件

    每个规则通常包含一个目标(通常是编译后的对象文件或最终的可执行文件)和一些依赖项(通常是源代码文件)。例如: ```makefile target.o: source.c header.h gcc -c source.c -o target.o ``` 在这个例子中,`...

    Makefile 多目录编译Demo

    在编程世界中,Makefile是一个极其重要的工具,它允许开发者自动化构建项目,特别是当项目包含多个目录和大量源代码文件时。"Makefile 多目录编译Demo"着重讲解了如何在复杂的项目结构中有效利用Makefile进行编译。...

    linux makefile 编写 规则 编译多个文件

    在Linux环境中,`Makefile`是一个非常重要的工具,它用于自动化构建项目,特别是涉及多文件的C/C++项目。编写有效的`Makefile`规则能够极大地提高开发效率,减少手动编译链接的繁琐工作。本篇将详细介绍如何在`...

    Makefile进行多文件的编译.rar_makefile_多文件 makefile_多文件编译

    Makefile是一个文本文件,其中包含了规则和指令,用于告诉`make`命令如何构建应用程序。通过Makefile,开发者可以定义目标、依赖关系和执行的命令,使得构建过程更加系统化和可维护。 二、Makefile的结构 一个基本...

    makefile编译多个文件

    本篇将深入探讨如何使用`Makefile`来编译多个文件,以TCP通信协议为例,提供一个实践指南。 首先,我们要理解`Makefile`的基本结构。`Makefile`由一系列规则组成,每个规则定义了一个目标(target)和一些依赖...

    Makefile万能通用版(C++和C混合编译也适用)

    Makefile是一种通用的自动编译工具,可以自动编译C和C++源代码,生成可执行文件。本Makefile万能通用版支持C和C++混合编译,能够满足大多数编译需求。 Makefile的基本结构 Makefile由六个部分组成:变量定义、目标...

    linux下驱动程序模块编程多文件makefile编写示例

    本示例主要探讨的是如何为Linux驱动程序模块编写一个多文件的Makefile,以便于编译和加载。 首先,我们需要理解Makefile的基本结构和规则。Makefile由一系列的目标(target)和依赖(dependency)组成,目标通常是...

    makefile,快速编译代码块文件操作

    使用makefile快速编译文件,先将makefile文件放在项目文件目录下(放在最外面),根据makefile里面所定义的各种文件名,创建bin、lib、include、src等文件夹,在include里面放入“xxx.h”文件,在src里面放入分割封装...

    Makefile文件的制作

    一个Makefile通常包含目标(targets)、依赖项(dependencies)和规则(rules)。目标通常是需要构建的文件,如可执行文件或库文件;依赖项是目标文件生成所必需的源文件或其他目标文件;规则则定义了如何从依赖项...

    Linux makefile 文件的使用例子,用Makefile编译多个文件

    在Linux环境中,`Makefile`是一个非常重要的工具,它用于自动化构建、编译和链接C++项目,尤其是当项目包含多个源文件时。这个例子展示了如何编写和使用`Makefile`来管理C++项目,其中可能包括类和其他复杂的结构。 ...

    Makefile文件格式详解.pdf

    在Makefile中,目标文件可以是一个可执行文件、对象文件或库文件,依赖关系可以是文件之间的依赖关系,也可以是文件对头文件的依赖关系。编译命令可以是GCC、CC等编译器的命令,也可以是make自己的命令。 Makefile...

    Linux内核Makefile文件

    3. **多级Makefile 文件调用**:为了支持大规模项目,Makefile 文件之间可以相互调用,形成一个层级结构。 #### 七、Kbuild 系统 Kbuild 是 Linux 内核的一种高级构建系统,它提供了一种更简洁的方式来管理内核...

    makefile 程序编译组织文件

    一个典型的makefile文件包含了对编译器的调用指令,这些指令告诉编译器如何编译和链接程序。在Unix系统中,广泛使用的编译器是GCC和CC,而在Windows系统中则可能有Delphi的make或Visual C++的nmake等。 程序的编译...

    MAKEFILE 一键编译所有源程序

    在IT行业中,`Makefile` 是一个至关重要的工具,它允许开发者自动化编译过程,尤其在处理多个源文件的项目时。标题提到的 "MAKEFILE 一键编译所有源程序" 指的就是如何利用 `Makefile` 来批量编译C语言的源代码文件...

    MakeFile编译当前目录下所有CPP文件,并连接成可执行文件

    本文将深入解析一个用于编译当前目录下的所有`.cpp`文件,并最终链接成一个可执行文件的`Makefile`示例。 #### 核心概念 1. **Makefile**:一种用于自动化构建过程的文件,它定义了目标文件(目标)与源文件之间的...

    Makefile编译脚本的编写方法

    Makefile,作为一个核心的构建工具,被广泛应用于软件工程中,特别是在Unix和类Unix系统中。它通过定义一系列规则来自动化编译过程,极大地提高了软件开发的效率。本文将深入探讨Makefile的基本概念、编写方法及其在...

    linux 两个编译多文件驱动的Makefile范例.rar (2.4内核)

    在这个"linux 两个编译多文件驱动的Makefile范例"中,我们将探讨如何使用Makefile来管理多源文件驱动程序的编译,特别是在2.4内核环境下。 首先,让我们了解Makefile的基本结构。Makefile通常包含目标(target)、...

Global site tag (gtag.js) - Google Analytics