簡體   English   中英

自動工具:在Makefile.am中生成源和標題

[英]Autotools: Generating Sources and Headers in Makefile.am

該鏈接提到通配符,作為在Makefile.am文件中自動列出源和頭的一種方法。 它還提到有些人編寫外部腳本來生成那些文件。

您是否知道在此處自動包括所有* .h * .cpp的標准方式,還是我應該編寫自己的Perl腳本來生成它們。 您已經使用了這樣的腳本嗎?

PS:我根據以下目錄的純粹邏輯分隔來組織項目中的源文件:

src/dog/woof.h
src/dog/woof.cpp
src/cow/moo.h
src/cow/moo.cpp

自動制作不會添加此功能。 它假定特定的.h或.cpp文件與特定的項目相關聯。 該假設適用於許多常見的項目布局,但不適用於任何不同的布局。

例如,我有一些項目的布局

src/module/code
src/app/code
src/library/code
include/headers

從根目錄中的一個中央makefile構建。 其他時候,我在適當的本地目錄中通過四個makefile構建了相同的布局。

項目中有很多可變性。 有些將公共頭文件與專用頭文件混合在代碼目錄中,有些則將它們分開。 有些構建共享對象庫,有些則不。 某些未在不兼容的平台上編譯的船舶代碼。

放入通配符實際上會帶來限制功能的巨大風險,對於那些像“ file.template.c”這樣的怪人來說,這將是致命的。

如果您認為這是自動制作的缺陷,那很好。 但是,這是automake所包含的缺陷之一,因為它在努力使事情變得更加靈活的過程中得以保留。 Automake並沒有強加“做事”的方式,它提供了許多啟用工具,但它完全避免了確保您不被迫采用一種布局或構建代碼的“方法”。

暫無
暫無

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

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