Makefile
羽飞 2011-11-02 03:44:02 写了一个Makefile文件,错误太多,结果出现很多问题,每次编译结果不一样,现在编译又出现了另一个问题:
ld: Mismatched ABI (not an ELF file) for Dispatch.o
#XQ Makefile
CC = g++
Source = Dispatch.cpp \
File.cpp \
Gloable.cpp \
Log.cpp \
Msg.cpp \
main.cpp \
Mutex.cpp \
Object.cpp \
Process.cpp \
Socket.cpp \
Thread.cpp \
Threads.cpp
Object = $(Source:.cpp=.o)
Dependent = $(Source:.cpp=.d)
Target = xq
$(Target):$(Object)
$(CC) -o $(Target) $(Object)
#$(Object):%.o: %.cpp %.d
# $(CC) -c $< -o $@
$(Dependent):%.d:%.cpp
$(CC) -MM $< > $@.tmp; \
sed '$$a\\t$$\(CC\) -c $$^ -o $$@' $@.tmp > $@; \ #这个是在依赖文件后加上生成规则,感觉有问题!!
rm -f $@.tmp
-include $(Dependent)
.PHONY : clean_all
clean_all:
-rm $(Target) $(Object) $(Dependent)
还有个想要的效果没达到,就是希望依赖文件也根据实现文件依赖的头文件的更新而更新