重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

電子書籍の厳選無料作品が豊富!

こんにちは。Automakeを用いて画像のようなプロジェクトをビルドしようと考えています。

この際のビルド手順は下記の通りです。
--- dog内 ---
gcc -c -Iinclude chiwawa.c
gcc -c -Iinclude bulldog.c
ld -r chiwawa.o bulldog.o -o builtin.o

--- cat内 ---
gcc -c -Iinclude percian.c
gcc -c -linclude abyssinian.c
ld -r percian.o abyssinian.o -o builtin.o

--- 最上位 ---
gcc -Iinclude cat/builtin.o dog/builtin.o -o prog
(gcc -Iinclude `find . -name "builtin.o"` -o prog)

各階層(dog,cat等)では開発者が異なる為、Makefile.amを各自で書いてもらう。
このプロジェクトの管理者がすべてをまとめ上げてビルドする。
管理者はそれぞれの階層のソースファイルを把握するのは困難な為、builtin.oという名の
再配置可能オブジェクトを生成してもらいbuiltin.oをfindしてリンクする。

このようなプロジェクトをAutomakeを用いる場合各階層ではどのようなMakefile.am
を書けばよいでしょうか。
Web等で情報を探して見ましたが階層になっているが1つのフォルダ内にすべてのソースファイル
が入っていてその中で実行可能形式を作ってしまうサンプルばかりでした。
(bin_PROGRAMSが指定されている)

ご存知の方見えましたら、ご教示お願いいたします。

「Automakeによる階層ビルドについて」の質問画像

A 回答 (1件)

SUBDIRS変数でサブディレクトリを指定してもNGでしょうか?



http://www.geocities.jp/fut_nis/html/automake-ja …

サンプルはGNUのサイトを探せば山ほど出てきます。

http://ftp.gnu.org/gnu/

sedであれば、トップのMakefile.amに以下のような記述がされています。

SUBDIRS = lib po sed doc testsuite
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!