2012-05-22 12 views
0

我有一個autoconf/automake系統,它有一個名爲stand的獨立目標。我不想stand被正常建立,所以我有這個在我的Makefile.am:我應該使用什麼目錄「錯誤:'extra_PROGRAMS'被使用但'extradir'未定義」?

bin_PROGRAMS = grace 
extra_PROGRAMS = stand 
... 
stand_SOURCES = stand.cpp barry.cpp ... 

這一會兒的工作,但automake的剛剛更新了我的系統上,現在我得到這個錯誤:

src/Makefile.am:4: error: 'extra_PROGRAMS' is used but 'extradir' is undefined 
src/Makefile.am:66: warning: variable 'stand_SOURCES' is defined but no program or 
src/Makefile.am:66: library has 'stand' as canonical name (possible typo) 

所以我加了這一點:

extradir = . 

但是,這已經引起問題。我不想stand程序安裝。這只是我的一個測試程序。但它不是正式測試套件的一部分,它僅用於我自己的目的。我該怎麼辦?

回答

3

我們發現了錯誤!事實證明,extra需要大寫,像這樣:

bin_PROGRAMS = grace 
EXTRA_PROGRAMS = stand 
... 
stand_SOURCES = stand.cpp barry.cpp ... 
+0

我做了和你一樣的事情。但我仍然收到相同的錯誤:錯誤:'SHELLTESTS_PROGRAMS'被使用,但'SHELLTESTSdir'未定義。這裏是我發佈的一個問題:[檢查框架集成項目未能建立](http://stackoverflow.com/questions/29718158/check-framework-integration-on-project-failed-to-build) – macmania314

1

你可以嘗試有條件地建立它:

noinst_PROGRAMS= 
if BUILD_STAND 
noinst_PROGRAMS += stand 
endif 
stand_SOURCES = stand.cpp barry.cpp ... 

,因爲它是在noinst_PROGRAMS和其他人一般不會建造它,因爲BUILD_STAND通常不會爲它們定義這將不安裝它。

相關問題