查看: 4858|回复: 5

[MQX] MAKE gcc 编译 MQX4.0 问题 “no rule to make ...”

[复制链接]

该用户从未签到

3

主题

17

帖子

0

新手上路

Rank: 1

积分
26
最后登录
1970-1-1
发表于 2014-3-10 16:13:45 | 显示全部楼层 |阅读模式
 make[1]: *** No rule to make target  `D:/Projects/gilbarco/Freescale_MQX_4_0/lib/twrk60n512.gcc/debug/bsp/obj/adt_kpdb.o',  needed by  `D:/Projects/gilbarco/Freescale_MQX_4_0/lib/twrk60n512.gcc/debug/bsp/bsp.a'.   Stop.
有没有人遇到过,这个问题。
我用的make  v.3.82
我知道答案 目前已有4人回答
回复

使用道具 举报

该用户从未签到

3

主题

17

帖子

0

新手上路

Rank: 1

积分
26
最后登录
1970-1-1
 楼主| 发表于 2014-3-10 16:15:29 | 显示全部楼层

RE:MAKE gcc 编译 MQX4.0 问题 “no rule to make ...”

明明有
vpath %.c $(dir $(SOURCES))
vpath %.S $(dir $(SOURCES))
vpath %.cpp $(dir $(SOURCES))
vpath %.o $(OBJECTS_DIR)
#----------------------------------------------------------
$(OBJECTS_DIR)/%.o: %.c
        $(call PRINT)
        $(call PRINT, 'Compile c file: $< to $@')
        $(call CC_PROCESS,$@,$
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

17

帖子

0

新手上路

Rank: 1

积分
26
最后登录
1970-1-1
 楼主| 发表于 2014-3-11 13:01:23 | 显示全部楼层

回复:MAKE gcc 编译 MQX4.0 问题 “no rule to make ...”

没人遇到过吗?
LZ就这么背?
回复 支持 反对

使用道具 举报

该用户从未签到

30

主题

61

帖子

0

高级会员

Rank: 4

积分
976
最后登录
2025-7-24
发表于 2014-3-28 16:19:44 | 显示全部楼层

回复:MAKE gcc 编译 MQX4.0 问题 “no rule to make ...”

如何使用GNU GCC编译MQX应用
         MQX支持使用GNU GCC编译器,并且提供了完整Makefile文件。下面介绍如何使用GNU GCC通过命令行方式编译MQX4.0。
1.        安装MQX4.0,在飞思卡尔官网把MQX的安装文件下载下来。https://www.freescale.co
m/zh-Hans/webapp/sps/site/prod_summary.jsp?code=MQX,

2.        安装好之后会在安装目录下生成如下图所示的子目录。

build目录:包含了飞思卡尔不同平台不同编译器的相关库的Makefile文件。具体内容如下列表示意图所示:
build
+---common
|   +---make        ... shared Makefiles with global settings, variables and paths
+---    ... board-specific folder
|   +---make        ... folder contains mass-build Makefile for all libraries
|       +---tools   ... tool-specific global settings, variables and paths
|       +---bsp     ... BSP Library Makefile
|       +---psp     ... PSP Library Makefile
|       +---mfs     ... MFS Library Makefile
|       +---rtcs    ... RTCS Library Makefile
|       +---shell   ... Shell Library Makefile
|       +---usbd    ... USB Device Library Makefile
|       +---usbh    ... USB Host Library Makefile
+---  
    +---make
3.        安装CodeWarrior Development Studio V10.5编译器。在飞思卡尔官网把CW10.5的安装文件下载下来。安装CW10.5时,请注意安装目录名称不要带空格。
https://www.freescale.co
m/zh-Hans/webapp/sps/site/prod_summary.jsp?code=CW-MCU10

CW10.5的Cross_Tools目录已经自带了GNU GCC for ARM Cortex-M4内核的交叉编译工具链。

4.        安装MinGW(Minimalist GNU on Windows) GNU工具集,在Windows下GNU GCC需要使用make.exe和sed.exe等工具。

5.        上述软件安装完毕后,按照实际安装情况,修改编译MQX所需的交叉工具链的目录。
1).修改全局宏定义脚本$MQX_DIR\build\common\make\global.mak
指定GNU 交叉工具链的安装路径TOOLCHAIN_ROOTDIR宏定义,如:
TOOLCHAIN_ROOTDIR = C:/Freescale/CW10_5

2).指定编译某一硬件平台需要GNU  GCC编译器的具体安装路径。如需要编译twrk60d00m这款Demo板,修改脚本文件$MQX\build\twrk60d100m\make\tools\cw10gcc.mak,指定AS,CC,CX,AR,LD等工具的可执行文件。
#------------------------------------------------------------
# toolchain settings
#------------------------------------------------------------
AS = $(TOOLCHAIN_ROOTDIR)/Cross_Tools/arm-none-eabi-gcc-4_7_3/bin/arm-none-eabi-gcc.exe
CC = $(TOOLCHAIN_ROOTDIR)/Cross_Tools/arm-none-eabi-gcc-4_7_3/bin/arm-none-eabi-gcc.exe
CX = $(TOOLCHAIN_ROOTDIR)/Cross_Tools/arm-none-eabi-gcc-4_7_3/bin/arm-none-eabi-gcc.exe
AR = $(TOOLCHAIN_ROOTDIR)/Cross_Tools/arm-none-eabi-gcc-4_7_3/bin/arm-none-eabi-ar.exe
LD = $(TOOLCHAIN_ROOTDIR)/Cross_Tools/arm-none-eabi-gcc-4_7_3/bin/arm-none-eabi-gcc.exe

6.        修改完毕上述脚本后,就可以开始使用GNU GCC编译MQX。在windows命令窗口下进入需要编译的目录,如Tower K60的编译目录:$MQX\build\twrk60d100m\make。在命令行下输入make指令:
C:\Freescale\Freescale_MQX_4_0\build\twrk60d100m\make>mingw32-make build TOOL=cw10gcc  CONFIG=debug

这条make指令能够将整个MQX进行编译,并生成bsp.a,psp.a,shell.a,rtcs.a,usbd.a,usbh.a等库文件。
7.        MQX系统库编译完毕后,可以进行应用程序的编译。在命令窗口进入需要编译的应用程序目录。如需要编译hello例程代码,进入$MQX\mqx\examples\hello\make目录,在命令下输入make命令:
C:\Freescale\Freescale_MQX_4_0\mqx\examples\hello\make>mingw32-make BOARD=twrk60d100m TOOL=cw10gcc CONFIG=debug LOAD=intflash build

GNU GCC将会编译应用程序代码,并与MQX的bsp.a,psp.a的库文件链接,生成.elf格式的可以执行文件。

8.        下载调试.elf可执行文件。在CW10.5中New创建一个Bareboard Project工程,选择需要使用的下载调试器,并且选定使用GNU GCC作为编译器。在菜单Properties --> Run/Debug Setting中选择需要下载的目标文件。然后通过菜单Run-->Debug下载调试程序。
回复 支持 反对

使用道具 举报

该用户从未签到

3

主题

17

帖子

0

新手上路

Rank: 1

积分
26
最后登录
1970-1-1
 楼主| 发表于 2014-6-24 17:58:40 | 显示全部楼层

回复:MAKE gcc 编译 MQX4.0 问题 “no rule to make ...”

回复第 4 楼 于2014-03-28 16:19:44发表:
如何使用GNU GCC编译MQX应用
MQX支持使用GNU GCC编译器,并且提供了完整Makefile文件。下面介绍如何使用GNU GCC通过命令行方式编译MQX4.0。
1.        安装MQX4.0,在飞思卡尔官网把MQX的安装文件下载下来。https://www.freescale.co
m/zh-Hans/webapp/sps/site/prod_summary.jsp?code=MQX,

2.        安装好之后会在安装目录下生成如下图所示的子目录。

build目录:包含了飞思卡尔不同平台不同编译器的相关库的Makefile文件。具体内容如下列表示意图所示:
build
+---common
|   +---make        ... shared Makefiles with global settings, variables and paths
+---    ... board-specific folder
|   +---make        ... folder contains mass-build Makefile for all libraries
|       +---tools   ... tool-specific global settings, variables and paths
|       +---bsp     ... BSP Library Makefile
|       +---psp     ... PSP Library Makefile
|       +---mfs     ... MFS Library Makefile
|       +---rtcs    ... RTCS Library Makefile
|       +---shell   ... Shell Library Makefile
|       +---usbd    ... USB Device Library Makefile
|       +---usbh    ... USB Host Library Makefile
+---  
+---make
3.        安装CodeWarrior Development Studio V10.5编译器。在飞思卡尔官网把CW10.5的安装文件下载下来。安装CW10.5时,请注意安装目录名称不要带空格。
https://www.freescale.co
m/zh-Hans/webapp/sps/site/prod_summary.jsp?code=CW-MCU10

CW10.5的Cross_Tools目录已经自带了GNU GCC for ARM Cortex-M4内核的交叉编译工具链。

4.        安装MinGW(Minimalist GNU on Windows) GNU工具集,在Windows下GNU GCC需要使用make.exe和sed.exe等工具。

5.        上述软件安装完毕后,按照实际安装情况,修改编译MQX所需的交叉工具链的目录。
1).修改全局宏定义脚本$MQX_DIR\build\common\make\global.mak
指定GNU 交叉工具链的安装路径TOOLCHAIN_ROOTDIR宏定义,如:
TOOLCHAIN_ROOTDIR = C:/Freescale/CW10_5

2).指定编译某一硬件平台需要GNU  GCC编译器的具体安装路径。如需要编译twrk60d00m这款Demo板,修改脚本文件$MQX\build\twrk60d100m\make\tools\cw10gcc.mak,指定AS,CC,CX,AR,LD等工具的可执行文件。
#------------------------------------------------------------
# toolchain settings
#------------------------------------------------------------
AS = $(TOOLCHAIN_ROOTDIR)/Cross_Tools/arm-none-eabi-gcc-4_7_3/bin/arm-none-eabi-gcc.exe
CC = $(TOOLCHAIN_ROOTDIR)/Cross_Tools/arm-none-eabi-gcc-4_7_3/bin/arm-none-eabi-gcc.exe
CX = $(TOOLCHAIN_ROOTDIR)/Cross_Tools/arm-none-eabi-gcc-4_7_3/bin/arm-none-eabi-gcc.exe
AR = $(TOOLCHAIN_ROOTDIR)/Cross_Tools/arm-none-eabi-gcc-4_7_3/bin/arm-none-eabi-ar.exe
LD = $(TOOLCHAIN_ROOTDIR)/Cross_Tools/arm-none-eabi-gcc-4_7_3/bin/arm-none-eabi-gcc.exe

6.        修改完毕上述脚本后,就可以开始使用GNU GCC编译MQX。在windows命令窗口下进入需要编译的目录,如Tower K60的编译目录:$MQX\build\twrk60d100m\make。在命令行下输入make指令:
C:\Freescale\Freescale_MQX_4_0\build\twrk60d100m\make>mingw32-make build TOOL=cw10gcc  CONFIG=debug

这条make指令能够将整个MQX进行编译,并生成bsp.a,psp.a,shell.a,rtcs.a,usbd.a,usbh.a等库文件。
7.        MQX系统库编译完毕后,可以进行应用程序的编译。在命令窗口进入需要编译的应用程序目录。如需要编译hello例程代码,进入$MQX\mqx\examples\hello\make目录,在命令下输入make命令:
C:\Freescale\Freescale_MQX_4_0\mqx\examples\hello\make>mingw32-make BOARD=twrk60d100m TOOL=cw10gcc CONFIG=debug LOAD=intflash build

GNU GCC将会编译应用程序代码,并与MQX的bsp.a,psp.a的库文件链接,生成.elf格式的可以执行文件。

8.        下载调试.elf可执行文件。在CW10.5中New创建一个Bareboard Project工程,选择需要使用的下载调试器,并且选定使用GNU GCC作为编译器。在菜单Properties --> Run/Debug Setting中选择需要下载的目标文件。然后通过菜单Run-->Debug下载调试程序。

 
 
=====================================================
谢谢,但是安装codewarrior 需不需要license? 
回复 支持 反对

使用道具 举报

该用户从未签到

21

主题

71

帖子

0

新手上路

Rank: 1

积分
133
最后登录
1970-1-1
发表于 2014-6-25 23:38:01 | 显示全部楼层

RE:MAKE gcc 编译 MQX4.0 问题 “no rule to make ...”

其实就是你要编译应用,就先按楼上说的把各个库编译好,然后再去编译你自己的应用。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 注册/登录

本版积分规则

关闭

站长推荐上一条 /3 下一条

Archiver|手机版|小黑屋|恩智浦技术社区

GMT+8, 2025-7-25 09:24 , Processed in 0.098674 second(s), 26 queries , MemCache On.

Powered by Discuz! X3.4

Copyright © 2001-2024, Tencent Cloud.

快速回复 返回顶部 返回列表