include+=-i./include -i/usr/local/include/libxml2 -i/usr/local/ssl/include -i/usr/local/include
target=agent
lib=-lstdc++ -lrt -lpthread -lxml2
objs:=$(patsubst %.cpp,%.o,$(wildcard *.cpp))
$(target):$
$(cc) $^ $(lib) -g -o $@
.cpp.o:
$(cc) $(flags) $(include) -g -o $@ -c $<
clean:
rm -rf $(target)
rm -f $(objs)
lib=-lstdc++ -lrt -lpthread -lxml2,-l 後面接庫的名稱
.cpp .o 是老式的字尾規則,相當於%.o : %.cpp。
rm命令:
-f 忽略不存在的檔案,從不給出提示。
-r, -r 指示rm將引數中列出的全部目錄和子目錄均遞迴地刪除。
makefile檔案的乙個模板
cc g ccopts g rdynamic i.i usr local include ldopts l usr local lib l usr local lib64 l.lpthread lboost thread lboost filesystem lboost system lboost ...
編寫乙個makefile
什麼是makefile?對於大多數的windows程式設計師來講,makefile可能不是那麼重要,因為windows的ide都為程式設計師做好了這個工作。但是在linux下程式設計,會不會寫makefile,從側面上說明乙個人是否具備完成大型工程的能力。makefile的作用 makefile是用...
乙個Makefile例子
main.c include log.h intmain sum.c include log.h void sum sub.c include log.h void sub dev.c include log.h void sub mul.c include log.h void sub log.h...