簡體   English   中英

無法運行Makefile.am,我該怎么辦?

[英]Can't run Makefile.am, what should I do?

我有一個C項目在Linux中編譯和運行。 這是一個包含許多子目錄的非常大的項目。 在父目錄中有Makefile.amMakefile.in

我嘗試運行make -f Makefile.am ,並收到以下錯誤:

make: Nothing to be done for `Makefile.am'.

這是什么意思? 我如何完成任務?

這些文件與Autotools套件一起使用。 Makefile.am文件使用automake編譯為Makefile。

看一下目錄中是否有configure腳本。 如果有,則鍵入:

./configure

如果沒有,那么運行:

autoreconf

在目錄中,應該創建configure腳本(您需要安裝Autotools套件才能運行它)。

之后,您應該有一個可以運行的configure腳本。

配置完成后,您應該在目錄中有一個普通的Makefile,並且能夠運行

make

遺漏了什么:

  • 使用automake將Makefile.am轉換為Makefile.in。
  • 通過運行configure將Makefile.in轉換為Makefile。

這些(Makefile。{am,in})都不應該與make -f一起使用。

如果tarball已經附帶configure,只需運行它並生成。 如果沒有,請運行./autogen.shbootstrap (*)。 如果不存在,請改用autoreconf

(*)autogen / bootstrap:開發人員添加的一個簡單腳本, 應該只調用autoreconf 不幸的是,有些人會避開autoreconf並且不必要地自己調用所有低級命令。

補充已經說過的內容:在項目目錄中搜索名為configure的腳本。 如果它在那里,建立項目將是:

。/配置

使

並可選擇安裝:

sudo make install

或su -c“make install”

即使沒有配置腳本。 可能有一個autogen.sh 運行此腳本以生成配置腳本,並執行上述操作。

Makefile.am可能與automake一起使用。

嘗試:

automake

你可能也想嘗試一下

make -f Makefile.in

因為這是運行automake的產品

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM