2011-11-24 74 views
0

我一直在尝试使用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 

任何可以给一些想法写做这个项目文件,以及如何在未来更大的项目拓展。

感谢和问候 阿肖克库马尔P

回答

1

一个选择是在每个目录添加和makefile从父makefile文件可以调用带-C选项的makefile每一个。

为如:

App目录,你可以有你的Makefile和生成文件在serial_driver

你可以有一个statememt

make -C ./App 

本声明将执行应用程序目录下的Makefile文件

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

+0

App dirrectory中的文件取决于其他目录中的文件。如何链接所有文件。 – user1064372

0

我用的是什么rake(红宝石制作),而不是make(我恨make,它是如此令人沮丧和调试像废话)

我有一个样品耙系统here,在那里我有我的工作区中的小项目。每个项目的Rakefile引用与项目文件夹相同级别上的Rakefile.include文件,在那里发生所有魔术。如果你想看看它,这是非常好的文件。它为Launchpad定制,但可以更改为任何内容。还有一个完整的指南来安装最新版本的mspgcc。

很酷的事情是,你可以做

rake mcu=msp430g2553 
rake install 

它将编译项目中的所有源文件(包括子文件夹和子子文件夹等)用于MSP430的特定版本,将其安装在启动板上。 (启动板上的安装使用mspdebug完成)