0

我一直在尝试使用 MSP GCC 编译器。我已经为单个文件编写了一个生成文件,并且能够在 MSP430 设备中编译和闪存。

我不知道如何为不同文件夹中相互依赖的许多源文件编写makefile。

我正在开发一个串行派生文件夹,文件结构如下

serial_driver/App
serial_driver/App/inc/app.h
serial_driver/App/inc/app.c
serial_driver/controller
serial_driver/controller/inc/hardware.h
serial_driver/controller/inc/globaldef.h
serial_driver/controller/src/ctrl.c
serial_driver/UART
serial_driver/UART/inc/uart.h
serial_driver/UART/src/uart.c

任何人都可以提供一些想法来为这个项目编写 make 文件以及如何在未来更大的项目中扩展。

感谢和问候 Ashok Kumar P

4

2 回答 2

1

一种选择是在每个目录中添加 makefile,您可以使用 -C 选项从父 makefile 调用每个 makefile。

例如:

App目录中,您可以拥有您的makefile并从makefile中serial_driver

你可以有一个声明

make -C ./App

此语句将执行 App 目录中的 makefile

同样,您可以通过这种方式调用子目录中的所有 makefile。

于 2011-11-24T17:16:45.910 回答
0

我使用的是rake(Ruby make) 而不是make(I HATE make,这太令人沮丧了,而且像废话一样调试)

我在这里有一个示例 rake 系统,我的工作区中有一些小项目。每个项目都Rakefile引用一个Rakefile.include与项目文件夹处于同一级别的文件,所有的魔法都在这里发生。如果您想查看它,它的文档非常好。它是为 Launchpad 定制的,但可以更改为任何内容。还有一个安装最新版本 mspgcc 的完整指南。

很酷的事情是你可以做

rake mcu=msp430g2553
rake install

它将为特定版本的 msp430 编译您项目中的所有源文件(包括子文件夹和子子文件夹等),并将其安装在 Launchpad 上。(在 Launchpad 上的安装使用 完成mspdebug

于 2011-11-25T12:13:27.113 回答