2014-01-28 95 views
-2

Soo我遇到了一些問題。Makefile? make根本沒有任何命令?

我在使用PuTTY的地方使用Sudo apt-get install make。 然後安裝make。但是當我嘗試使用任何命令,如讓所有使我得到的是

 ***make: *** No rule to make target 'all'. stop*** 

那然後我型讓所有我甚至下載了最新做出的thingie這裏http://ftp.gnu.org/gnu/make/但我只是不能得到它的工作,所以請任何人幫助我。

+3

'make all'將不起作用,除非你的makefile包含一個'all'目標... –

+0

但它沒有創建一個makefile,當我安裝它時,我已經移除它並安裝了它? soo如何獲得makefile? – TheGejr

+0

我想你可能需要閱讀Make的實際內容。它不*創建* makefiles; *你*寫一個makefile,然後Make運行它。 –

回答

1

如果你沒有Makefile,Make沒有什麼可做的。

Make是一種編程語言;如果沒有你寫的「程序」,它根本就沒有做任何事情。

請注意,在任何shell命令之前,Make都需要文字標籤。

這是一個簡單的最小化Makefile來幫助您開始。

.PHONY: all 
all: 
     echo commands 
     cp Makefile Makefile.copy 

的.PHONY僞目標標記all爲不是文件(即讓將執行即使先進的日期命名all文件已經存在的配方)。

更現實的是,你會分兩步寫上面的例子;聲明all取決於Makefile.copy,並分別聲明如何創建該文件;如果文件已過期;

.PHONY: all 
all: Makefile.copy 
     echo commands 

Makefile.copy: Makefile 
     cp $< [email protected] 

如果運行make兩次,你會看到,作出這樣的Makefile.copy已經存在,而且比它取決於文件更新通知,所以請將無法運行的配方來創建它。

+0

,但它沒有創建一個makefile,當我安裝它,我已經刪除它,並安裝它?所以幫幫我!我如何獲得makefile!? – TheGejr

+0

@ user3245348:我認爲你不會得到'make'的一般想法。它不應該創建Makefiles,它的工作只是解釋它們。 – Havenard

+0

@Havenard:恩? – tripleee