automakeを突っ込んで勉強してみる(その4 〜 メイン機能 〜)

目標

 メイン機能でやりたいことは以下の2点である。

  1. 動的ライブラリのリンク
  2. 静的ライブラリのリンク

メイン機能の全体像とファイル

 メイン機能のディレクトリ構造は以下のとおり

 +- main                      <==== メイン機能
      +- bin                  ★ 実行バイナリ生成先
      +- src
           |- Makefile.am     ★ Makefile
           `- main.c          ★ メイン機能実態

各ファイルの中身

 メイン機能で必要なファイル群の中身を下記に示す。

Makefile.am

bindir = ../bin                                         ★ 実行バイナリインストール先
bin_PROGRAMS=main                                       ★ 実行バイナリ名
main_SOURCES=main.c                                     ★ ソース
main_LDFLAGS=-L../../common/lib                         ★ 共通機能の静的ライブラリディレクトリ
main_LDFLAGS+=-L../../sub/lib                           ★ サブ機能の動的ライブラリディレクトリ
main_LDADD=-lcommon -lsub                               ★ リンク
main_CFLAGS=-I../../common/include -I../../sub/include  ★ 共通機能およびサブ機能のヘッダファイルディレクト

main.c

#include
#include"common.h"
#include"sub.h"

int
main()
{
    print_common();
    print_sub();
    printf( "%s\n", __func__ );
    return 0;
}

automakeを突っ込んで勉強してみる(その5 〜 ビルドおよび実行 〜) - tomohikosevenの日記 に続く