2013-10-19 32 views
0

我有以下简单的makefilegcc的makefile依存不会产生

#all: binsem.a ut.a ph 
FLAGS = -Wall -L./ 

binsem.a: 
    gcc $(FLAGS) -c binsem.c 
    ar rcu libbinsem.a binsem.o 
    ranlib libbinsem.a 


ut.a: 
    gcc $(FLAGS) -c ut.c 
    ar rcu libut.a ut.o 
    ranlib libut.a 

clean: 
    rm -f *.o 
    rm -f a.out 
    rm -f *~ 
    rm -f ph 
    rm -f *a 

问题是,它仅产生可能是因为依赖问题binsem.a而不是ut.a。

我试着看着国旗,但没有找到答案。

非常感谢。

回答

1

默认情况下,如果您没有在命令行中指定目标,make将构建它找到的第一个目标(如果它有任何依赖项)。你的第一个目标是binsem.a,并且你没有列出任何依赖关系,所以这是唯一被构建的东西。

尝试像顶部添加此:

all: binsem.a ut.a 

并注明依赖于你的其他目标:

binsem.a: binsem.c 
... 
ut.a: ut.c 
+0

非常感谢,解决 –