Makefile在不同的文件夹中构建多个文件

时间:2011-11-24 17:06:04

标签: makefile msp430

我一直在尝试使用MSP GCC编译器。我为单个文件编写了一个makefile,并且能够在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

2 个答案:

答案 0 :(得分:1)

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

例如:

App目录中,您可以拥有makefile,也可以使用serial_driver中的makefile

你可以有一个statememt

make -C ./App

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

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

答案 1 :(得分:0)

我使用的是rake(Ruby make)而不是make(我讨厌make,它是如此令人沮丧和调试像垃圾一样)

我有一个示例rake系统here,我的工作区内有小项目。每个项目的Rakefile引用与项目文件夹相同级别的Rakefile.include文件,其中发生了所有魔法。如果你想看看它,那就很好了。它是为Launchpad定制的,但可以更改为任何内容。还有一个完整的指南来安装最新版本的mspgcc。

很酷的是你可以做到

rake mcu=msp430g2553
rake install

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

在Launchpad上安装