QQ登录

只需一步,快速开始

 找回密码
 注册

QQ登录

只需一步,快速开始

查看: 1038|回复: 3

请问makefile方面的问题!

[复制链接]
发表于 2005-9-6 11:19:18 | 显示全部楼层 |阅读模式
EXEC =test
OBJS =test.o
SRC =test.c

CC =arm-linux-gcc
LD =arm-linux-ld

BASEPATH = /usr/local/arm/2.95.3

LIBPATH =$(BASEPATH)/lib
INCLUDEPATH =$(BASEPATH)/arm-linux/include

请问下面该怎么写?
 楼主| 发表于 2005-9-8 16:45:43 | 显示全部楼层
各位大师帮忙看看,以下是我的第一个makefile,包含2个C文件,和一个头文件
make后出现2个问题:
1。只对test.c起作用,对t1.c没有做编译,
2。没看到连接(LD)
EXEC =modetest
OBJS =test.o t1.o
SRC =test.c t1.c

test.o : test.c
t1.o : t1.c t1.h

CC =arm-linux-gcc
LD =arm-linux-ld

BASEPATH = /usr/local/arm/2.95.3

LIBPATH =$(BASEPATH)/arm-linux/lib
INCLUDEPATH =$(BASEPATH)/arm-linux/include

CFLAGS = -mcpu=arm9tdmi -mapcs-32 -mlittle-endian -mapcs-frame -g -gstabs+ -finline-functions -fkeep-inline-functions -ansi -save-temps -O2 -I. -D_DEBUG -D__linux__ -Dlinux -Dunix -DEMBED -Wall  
ASFLAGS = -mcpu=arm9tdmi -mapcs-32 -mlittle-endian  -Wa,--gstabs -D__linux__ -Dlinux -Dunix -DEMBED  
LDFLAGS =   -m armelf -r
#CFLAGS =

all: $(EXEC)

$(EXEC): $(OBJS)
        $(LD) $(LDFLAGS) -o $@ $(OBJS)

%.o:%.c
        $(CC) -I $(INCLUDEPATH) -L $(LIBPATH) -c $(CFLAGS) $< -o $@
clean:
        -rm -f $(EXEC) *.elf *.gdb *.o

make后的结果是:
arm-linux-gcc -I /usr/local/arm/2.95.3/arm-linux/include -L /usr/local/arm/2.95.3//arm-linux/lib -c -mcpu=arm9tdmi -mapcs-32 -mlittle-endian -mapcs-frame -g -gstabs+ -finline-functions -fkeep-inline-functions -ansi -save-temps -O2 -I. -D_DEBUG -D__linux__ -Dlinux -Dunix -DEMBED -Wall  test.c  -o test.o
回复

使用道具 举报

发表于 2005-9-11 11:53:56 | 显示全部楼层
<<<<t1.o : t1.c t1.h
这条语句找不到默认编译方式

试着把
%.o:%.c
改成
.c.o :

还有 %.o:%.c 后面要加 : 号呀,不知道是你贴上来少掉的还是原来就没加。
祝你好运!
回复

使用道具 举报

 楼主| 发表于 2005-9-12 12:00:42 | 显示全部楼层
谢谢AQ_li
终于可以了!
回复

使用道具 举报

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

本版积分规则

GMT+8, 2024-11-3 04:25 , Processed in 0.054236 second(s), 16 queries .

© 2021 Powered by Discuz! X3.5.

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