首页新闻找找看学习计划

Makefile问题

0
悬赏园豆:50 [已解决问题] 解决于 2012-09-17 10:39

写了这样一段makefile

CFLAGS = -g
INCLUDES = -I./header

SRC = \
./stub/stub.c
./stub/stub1.c
./stub/stub2.c

LIBSRC = \
./stub/memstub.c \

COMMONSRC = \
./common/log.c

OBJ = $(SRC:./stub/%.c=Obj/%.obj)
LIBOBJ=$(LIBSRC:./stub/%.c=Obj/%.obj)
COMMONOBJ=$(COMMONSRC:./common/%.c=Obj/%.obj)
BIN = ./Bin/stub.o

.SUFFIXES: .obj

all: $(BIN)

$(BIN): $(OBJ) $(LIBOBJ) $(COMMONOBJ)
$(CC) $(CFLAGS) $(INCLUDES) -o $*.o $< $(LIBOBJ) $(COMMONOBJ)

$(OBJ): $(SRC)
$(CC) -c $(CFLAGS) $(INCLUDES) -o $*.obj $<

$(LIBOBJ): $(LIBSRC)
$(CC) -c $(CFLAGS) $(INCLUDES) -o $*.obj $(LIBSRC)

$(COMMONOBJ): $(COMMONSRC)
$(CC) -c $(CFLAGS) $(INCLUDES) -o $*.obj $(COMMONSRC)

clean:
rm Obj/*

 

如下这段make代码:
  SRC = \
  ./stub/stub.c
  ./stub/stub1.c
  ./stub/stub2.c
是无法一个一个编译的,它只编译第一个,不知道自动变量该怎么写?
求教!
邵贤军的主页 邵贤军 | 初学一级 | 园豆:19
提问于:2012-03-28 20:18
< >
分享
最佳答案
0
 SRC = \
  ./stub/stub.c \
  ./stub/stub1.c \
  ./stub/stub2.c
换行的时候要有换行符\
收获园豆:50
zsounder | 老鸟四级 |园豆:2819 | 2012-03-29 01:03

试过了,还是不行!

邵贤军 | 园豆:19 (初学一级) | 2012-03-29 12:22

@青木阁_阁主: 不可能不行。。。

zsounder | 园豆:2819 (老鸟四级) | 2012-03-29 20:12

@Wang Hui: 自动变量$<取的是第一个,不会自己递增。而$^取全部,所以。。。

邵贤军 | 园豆:19 (初学一级) | 2012-03-31 01:03
其他回答(2)
0

这是什么语言?

artwl | 园豆:16526 (专家六级) | 2012-03-28 22:48
0

楼上的高手啊

az235 | 园豆:8283 (大侠五级) | 2012-03-29 11:55
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册