2014-11-13 56 views
1

我試着去創建一個tcsh的腳本,將文件複製到名字proj3並更改權限是每個人都執行一個makefile。我知道如何爲C++和c等構建makefile,但我不知道爲什麼我們要爲shell腳本做這件事。TCSH Makefile文件 - 複製文件名和更改權限

我的文件名是proj3final

這是我到目前爲止有:

proj3final: 
    cp final proj3 
    chmod 755 proj3 

每當我跑make proj3make它提示nothing to be done

回答

0

makefile規則應始終創建文件與目標名稱相同。

如果你想要做出能夠告訴當它需要運行規則需要前提條件的規則。

你的規則告訴它會創建proj3final文件,但它實際上創建了proj3文件。這會混淆make。

此外,您的規則不會爲此目標提供任何先決條件,因此無論何時proj3final文件存在,都會認爲它是最新的,並且無需執行任何工作。

假設輸入文件名爲final和你想要的複製到一個名爲proj3final文件,那麼你想要的規則是

proj3final: final 
     cp $< [email protected] 
     chmod 755 [email protected] 

哪些應該做你想要什麼,並使用Automatic Variables爲當前的目標([email protected] )和第一個先決條件($<)。