我知道這是一個基本問題,但我錯過了有關makefile的基本知識。GNU-Make:如何將文件從源文件複製到目標
把這個簡單的規則/動作:
doc: ${SRC_DIR}/doc/dir1/file1.pdf ${SRC_DIR}/doc/dir1/file2.pdf
cp $? ${DEST_DIR}/doc/
我第一次運行它,它複製file1.pdf和file2.pdf到目的地/ doc目錄。完善。我期待下一次運行它,因爲它什麼都不做。源文件沒有改變,不是它們的依賴嗎?但是當我運行時,我得到:
cp:無法創建常規文件.....:權限被拒絕。
所以,2個問題: 1)爲什麼它試圖再次做到這一點?當我運行make -d時,我發現它最終會說:不需要重新制作目標.../file1.pdf和.../file2.pdf,但是然後 它說:必須重新制作目標'doc'
如果它不' t需要製作pdf文件,爲什麼需要製作文檔?
2)說pdf文件已經在源代碼中發生了變化,它們只能讀取,所以它會得到權限被拒絕的錯誤。你如何解決這個問題?
則可能是您沒有權限來寫,但你有權更改權限......在這種情況下,你可以在複製之前,使用命令'chmod u + w'爲文件寫入權限。如果這不起作用,那麼正如Mike所說,這是一個系統管理員問題。 –
MadScientist
非常感謝你們! –
@ M.E.A歡迎來到Stackoverflow!請參閱[當某人回答我的問題時該怎麼辦?](http://stackoverflow.com/help/someone-answers) –