ofuton5656の日記

開発、趣味の日記兼備忘録

beatmaniaの家庭用の立ち環境と録画について

はじめに

家庭用の練習としてbeatmaniaの立ち環境および録画環境を作成しましたので備忘録を書きます。

全体としてこのような概観になります。
左側が立ち環境で、右側はキャプチャーボードで録画しています。

環境作成について

各環境に必要なものと接続について説明。

1.立ち環境

下記ブログを完全に参考にさせていただきました。この記事では割愛します。 note.com

高さは本当にアーケードに近くちょうどいいです。

2.RCA出力をHDMIに変換する

PS2からHDMIで映像音声出力するコネクターは自身で購入が必要です。
上記ブログにも記載がありますが、下記コネクターで動作確認できましたのでおススメします。

ネクターを購入しましたら図の通りにPS2HDMI変換接続コネクターを接続し、USBタイプAケーブルをPS2とコネクターに繋ぎます。

(自分の環境は薄型のPS2ですが、初期の厚型PS2でも同様にできると思います。)

※ 薄型の場合だけかもしれませんが、
ネクターに繋ぐ給電ケーブルが電源ケーブルをやや圧迫する形となります。

ここまで繋いだら、HDMIケーブルをコネクターに繋げて準備は完了です。

3. 録画

録画についてはキャプチャーボードを使えば簡単にできます。

キャプチャーボードは、色んなタイプがありますがパススルー型を購入しましょう。

自分の環境は下記ボードを使用しており、4Kにも対応していますのでオススメします。

HDMIケーブルとキャプチャーボードについては下記の通りに繋げます。

図の通りモニターに接続すれば完成です。

OBSのストリーミング画面でPS2からの映像を確認できると思います。

作ってみた感想

立ち環境に変えたことでアーケードとほぼ同じ打ち方になりギャップが激減。腱鞘炎になりにくくなった。

録画は気が向いたら見返せるようになった。モチベーションが上がる。(KONAMI感)

S&P500の利回り予測と実評価額を比較する

はじめに

自分がNISAを初めて早4年が経ちました。

投資信託を始めた頃は米国インデックスファンドのS&P500だけ入れておけばいいと聞いており、今もその通りに積み立てを続けているのですが確かな資産増加を目の当たりにしています。

そんなS&P500ですが年の利回りはおよそ7~10%と言われてるのですが、果たして本当に利回りは7~10%もあるのでしょうか?

少し気になったので、今回は私の新NISAの1年10か月分の実評価額と利回り7%および10%の場合のシミュレーションデータを使って検証していきます。

検証内容

利回りシミュレーションデータの作成

利回りシミュレートのデータセットはJupyterLabを使って作成しました。

下記は20年間毎月10万円積み立てを行い、毎年12月に利回り(下記では10%)が付与されるシミュレーションの式の例になります。

# パラメータ設定
simulation_years = 20
months = simulation_years * 12

annual_interest_rate = 0.10  # 年間利率
current_balance= 0
amounts=[current_balance] #投資開始前の資産額

# 20年間の複利増加シミュレーション
for month in range(1, months + 1):
    # 月末に積み立て
    current_balance += 100000  # 毎月の積み立て額(円)

    # 年末12月に利回りX%を付与
    if month % 12 == 0:
        current_balance *= (1 + annual_interest_rate)

    amounts.append(current_balance)
df_pred_10=pd.DataFrame({'date': dates,'assets': amounts})
df_pred_10
date assets
0 2023-12-31 0.000000e+00
1 2024-01-31 1.000000e+05
2 2024-02-29 2.000000e+05
3 2024-03-31 3.000000e+05
4 2024-04-30 4.000000e+05
... ... ...
236 2043-08-31 6.833000e+07
237 2043-09-30 6.843000e+07
238 2043-10-31 6.853000e+07
239 2043-11-30 6.863000e+07
240 2043-12-31 7.560300e+07

分かりにくいですがe+07=10の7乗=10000000です。

20年間毎月10万円積み立てで利回り10%の場合、2043/12/31最終時点でおよそ7560万円の資産になるようです。

20年間投資をせず毎月貯金だけした場合は、10万×12ヶ月×20年=2400万となりますので、利益率は軽く倍を超える見込みです。

まずは愚直にこのdataframeを

  • 貯金のみ(save_only)
  • 年利7%(interest rate 7%)
  • 年利10%(interest rate 10%)

で折れ線グラフをプロットしてみます。

月10万円積立投資 利回りシミュレート 2024~2044

毎年12月に利回りの掛け算をしているため、階段状の遷移になりめっちゃ違和感。。月レベルの検証がこのままでは難しい。。

y軸1e8=1なので、y=1の場合は1億円を示しています。
20年後のsave_onlyは2400万円(グラフで0.24)、interest rate 10%は7560万円(グラフで0.756)と、図と先述予測値が一致していることを確認しました。

階段の違和感をなくすため、昨年12月と今年12月の資産額から間の月(1月~11月)の資産額を線形補間を行うようにして、滑らかな曲線に変換します。

df_pred_10_tmp=df_pred_10.copy()
df_pred_10_tmp['year']=df_pred_10_tmp['date'].dt.year
df_pred_10_tmp['month']=df_pred_10_tmp['date'].dt.month

#2023年12月を初期値資産額0円として用意。
df_pred_10_ex = df_pred_10_tmp[(df_pred_10_tmp['year'] == 2023) & (df_pred_10_tmp['month'] == 12)].copy()
df_pred_10_ex.loc[0,'linear_assets']=[0]

df_tmp=pd.DataFrame()

for year in range(start_year, start_year + simulation_years):
    # 前年12月と今年12月の予測資産で線形補間する
    # tmp1で昨年12月、tmp2で今年1年分のデータを取得し結合
    df_tmp1=df_pred_10_tmp[(df_pred_10_tmp['year'] == year - 1) & (df_pred_10_tmp['month'] == 12)]
    df_tmp2=df_pred_10_tmp[df_pred_10_tmp['year'] == year]
    df_tmp = pd.concat([df_tmp1, df_tmp2], axis=0)
    df_tmp.reset_index()
    df_tmp.loc[df_tmp.index[0], 'linear_assets'] = df_tmp['assets'].iloc[0] 
    df_tmp.loc[df_tmp.index[12], 'linear_assets'] = df_tmp['assets'].iloc[12] 
    df_tmp['linear_assets'] = df_tmp['linear_assets'].interpolate(method='linear')
    #昨年12月のデータ(1行目)は削除
    df_tmp = df_tmp.iloc[1:]

    df_pred_10_ex = pd.concat([df_pred_10_ex, df_tmp], axis=0)

長いコードになってしまった。。普段pandasを全然触っていないので結構苦労しました。
もっと短くできそうな気がしますが気づいた方いましたらコメントください。

このdf_pred_10_exを再度図出力します。

月10万円積立投資 利回りシミュレート 2024~2044

期待通り滑らかな曲線となり、指数関数っぽい増加になりました。
ここに実データ(actual)を加えてみます。実データ(新NISA積み立て)はまだ1年10か月だけですので2024~2027年に絞ります。

実評価額について

上記でも述べた通り、私の積み立てNISA枠毎月10万円の1年10ヶ月分(2024年1月から現在2025年10月31日まで)の実資産額のデータを使って比較します。

なお私の積み立て枠の内訳ですが、オルカンや日本インデックスなどにも投資しており、S&P500の割合は7割ほどになります。

そのためS&P500のみのRawデータではないことをご了承ください

この中で現在(2025/10/31)で一番利益率が高いファンドですが、やはりS&P500でした。

このS&P500を稼ぎ頭とした資産額が利回り7%や10%の資産額に匹敵しているかを検証します。

利回りシミュレーションと実データの比較

月10万円積立投資 利回りシミュレート 2024~2027

赤線が私の資産額を用いた実データ(actual)になります。
y軸1e6=1なので、y=1は100万円を示します。
貯金、利回りの線に対して上下をさ迷う形になっていました。

2025年4月のトランプ関税暴落があったり、2025年10月現在はかなり好景気になったりと差が激しかったためです。

実際のところ、私の現在の評価額は2015/10現在で271万円ほどで、積立額220万に対して50万ほどの利益が出ていました。

22ヶ月分とデータ数が少なく、まだ何とも言えないというところでした。

おまけ

最後に実評価額の推移を単回帰に変えて、申し訳程度の機械学習要素を入れてこの記事を終了します。

df_actual['day_count'] = (df_actual['date'] - df_actual['date'].min()).dt.days
X = df_actual[['day_count']]
y = df_actual['assets']
model = LinearRegression()
model.fit(X, y)

# 予測値の計算
df_actual['predicted_assets'] = model.predict(X)

月10万円積立投資 年利シミュレート 2024~2027

たまたまかと思いますが今のデータセットでは7%利回りと10%利回りの間に入りました。
もしS&P500に全額入れていたら10%を超えているように思われます。

検証結果

現在のデータで見てみると、基本的にはS&P500は確かに利回り7~10%近くの利益が出ているようには見られました。

まだデータ数が少なく今後大きく変わる可能性もあるので、引き続き積み立てを続けて結果を確認してみたいと思います。

資格試験対策でUnityで4択問題スマフォアプリを作ってみた

はじめに

昔趣味で作成したUnityアプリがあったので備忘録を書きます。

タイトルの通り、問題と選択肢4つと答えの番号が入ったcsvファイルを読み込み、4択問題化するアプリを作成しました。

Unityをプラットフォームとしていますが、ゲームエンジンとしては一切利用せず2D機能とUIシステムのみで構成しています。

なぜAndroid StudioではなくUnityなのかですが、本業がたまたまUnityを使った開発であり、理解を深めたかったためです。
(あとAndroid Studioの挑戦に抵抗があった(小声))

Unity開発画面

作成した理由

応用情報技術者試験に合格するため。
会社の休憩時間に簡易的な復習ソフトが欲しかった。
下記素晴らしいWebサイトもあったがその時はなぜか手元でほしかった記憶。
よく覚えていない。 www.ap-siken.com

構成

問題集csvのフォーマットを定義。

csvファイルの一例

csvフォーマット例は以下の通り。

問題No. 問題文 選択1 選択2 選択3 選択4 正解No.
1 0以上255以下の整数nに対してnext(n)=n+1(0<=n<255),=0(n=255)と定義する。next(n)と等しい式はどれか (n+1) AND 255 (n+1) AND 256 (n+1) OR 255 (n+1) OR 255 1
2 全体集合S内に異なる部分集合AとBがあるとき,A∩Bに等しいものはどれか。ここで,A∪BはAとBの和集合,A∩BはAとBの積集合,AはSにおけるAの補集合,A-BはAからBを除いた差集合を表す Not(A)-B (NotA∪NotB)-(NotA∩NotB) (S-A)∪(S-B) S-(A∩B) 1

このcsvファイルを何通りか用意。
UI上でcsvを選択し、4択問題の画面を表示する。
問題画面の回答次第で正解・間違いを知らせる仕組みを作る。

システム画面

起動するとメニュー画面表示。

起動画面

問題を解くを押すと、用意していた問題用csvリストがプルダウンで選択できる。

問題選択画面

問題画面は以下のような形式。(なんかキャラクター用意して育成ゲーみたいにしようとした形跡がある)

問題画面1
問題画面2

使用した結果

ローカル環境用なのでサクサクと問題を進める分には良かった。
応用情報技術者試験以外の4択問題も使えそう。

肝心の応用情報技術者試験ですが3度目の受験でギリギリ受かりました。めっちゃ難しかったです。。

このアプリは午前対策用のみでしたが、午後は筆記ですのでやはり過去問を別途解いて要領をつかんだり知識をつけないといけなかったです。(自分は過去5年分春/秋の計10回分くらいやっていました。)

趣味としてのアプリ開発はめっちゃ楽しかったですが、資格試験は本当に苦行だったので二度と受けたくないと思いました。笑

超解像モデルReal-ESRGANを使ってみた

はじめに

先日、母から実家近辺に住み着いている野良猫の画像が送られました。
動物好きの自分は母の思惑通りキュンキュンしてしまったのですが、画像が少し荒いため高画素化したいと思いました。

しかしながら高画素化アプリはどれも課金制だったり、広告が超絶長かったりで、量産的作業においては簡単に実行ができない状況です。

そのため今回は勉強も兼ねて、オープンソースである超解像モデルを使って高画質化をトライしてみました。


\ネコチャン!/\カワイイ!/

超解像について(以下Geminiによって監修済)

超解像(Super-Resolution)」とは、機械学習を活用した補完によって高品質な拡大画像を生成する技術です。
近年は深層学習を使ったモデル開発が主流となっており、畳み込みや損失関数の手法を見直すことでより精度の高い高画素化処理ができるよう改良されています。

超解像が無かった頃はいくつかの手法によって画像を拡大(アップスケーリング)していました。
主な手法として最近傍法、バイリニア補間、バイキュービック補間などがあり、これらは拡大に必要なピクセルを周囲の画素から補完する技術として使われていました。
処理は比較的簡便でありますが、細かな部分やテクスチャの再現には限界がありました。

以下、超解像モデルを歴史順に記載していきます。

■ スパースコーディング

1990年代に提案された超解像手法の一つ。
辞書学習アルゴリズムを用いて、画像のパッチをスパース(疎な)表現で表すことにより、高解像度画像を復元する。
このとき、係数の推定にはLasso回帰が使われていた。

■ SRCNN

Super-Resolution Convolutional Neural Network
2014年に提案されたCNN(畳み込みニューラルネットワーク)を用いた超解像モデル。
3層の畳み込み層+ReLU活性化関数からなるシンプルな構造で、従来の手法より鮮明な画像を生成する。
ただし、ややぼやけた部分も残ることがあり。

■ GAN

Generative Adversarial Network。(敵対的生成ネットワーク)
画像生成や変換に使われる深層学習モデルの一つ。
二つのネットワーク(Generator:生成器とDiscriminator:識別器)が対抗しながら学習し、最終的に本物と見分けがつかない高品質な画像を生成します。
「敵対的」とは、本物と偽物の対立構造から由来しています。

こちらのブログが参考になります。
https://www.skillupai.com/blog/tech/mldl-tips-1/

■ SRGAN

Super-Resolution GAN
GANを用いた超解像モデル。
高品質な画像を生成するために、Perceptual Loss(知覚的損失)やAdversarial Loss(敵対的損失)を併用し、より自然で鮮明な高解像画像を実現する。

■ ESRGAN

Enhanced Super-Resolution GAN
SRGANの改良版で、より高品質な超解像を可能。
Residual-in-Residual Dense Block(RRDB)と呼ばれる深層残差構造を採用し、学習の安定性と性能を向上させる。

■ Real-ESRGAN

実画像(Real)の自然画像や現実の画像に対しても高品質な超解像や復元を行えるように設計されたモデル。(2021年に展開)
実環境で撮影された画像のノイズやアーティファクトにも対応でき、より実用的な性能を持つ。

今回の使用

今回はオープンソースしてリリースされているRealESRGAN_x4plus_anime_6Bを使って高画素化を試してみました。

RealESRGAN_x4plus_anime_6B

https://github.com/xinntao/Real-ESRGAN
アニメ画像やイラストの超解像や画質向上を目的としたReal-ESRGANモデル。画像を縦横4倍に拡大する。

実行手順

環境作成

git hubの手順通りに進めれば問題なし。バージョン指定に少しハマったので注意が必要。

Python 3.13は非対応でエラーが出た。
Python 3.10.0にバージョンを下げたら実行できた。

実行コマンド

$ realesrgan-ncnn-vulkan.exe -i input.jpg -o output.png -n realesrgan-x4plus

実行結果

まずは元画像の大きさはこのくらいあります。(960×1706)

【パターン1】元画像を10%スケールダウンして超解像

変換前:元画像を10%スケールダウン(96×170)

変換後:(384×680)


元画像がスケールダウンしすぎて細かいところは再現できていない

【パターン2】元画像を20%にスケールダウンして超解像

変換前:元画像を20%スケールダウン(192×341)

変換後:(768×1364)


元の画像よりきれいかも?いい感じの出来具合。

【パターン3】元画像をそのまま超解像

変換前:元画像そのままの状態

変換後:(3840×6824)


余計なノイズが乗ったように見える。

使ってみた感想

元々の画質がそこまで悪くない場合に超解像をすると余計なノイズが生まれてしまう。
あくまで低画質の画像向けソフトという個人的な感触。低画質画像の超解像処理のクオリティは非常に高い。(すごい)

参考にさせていただいたWebページ

画素の補間(Nearest neighbor,Bilinear,Bicubic)の計算方法
https://imagingsolution.net/imaging/interpolation/

超解像について (その1・SRCNN まで)
https://note.com/te_ftef/n/ncbb63a7f522f

超解像について (その2・SRGAN と ESRGAN)
https://note.com/te_ftef/n/n6d77d7717677

超解像について (その3・Real-ESRGAN)
https://note.com/te_ftef/n/n23f152803b9a

Real-ESRGAN: 純粋な合成データを用いた実世界ブラインド超解像のトレーニン
https://arxiv.org/abs/2107.10833

オープンソースを用いたWebRTCストリーミングサーバの構築

はじめに


OSSオープンソース)を用いてローカルで簡単なストリーミングサーバを立ててみたので備忘録を記載します。

 

・開発環境(2025/10/24動作確認時)

 Windows11 WSL(Windows Subsystem for Linux Ubuntu-22.04 OS)
 Janus-gateway(v1.4.0)

 

使用ソフトウェア

・Janus-gateway
・apache2(ssl-certの仮証明書を利用)
・ngnix
 

Janus-gatewayとは

オープンソースのWebRTCサーバーおよびメディアサーバーです。
WebRTC(Web Real-Time Communication)を利用したリアルタイムの音声・映像通信やデータ通信を実現するために設計されています。
 
(補足)
ちなみに読み方は「ヤヌスゲートウェイ」です。
作成元がイタリアの会社であり、プロテニスのヤニックシナー(Jannik Sinner)選手同様、イタリアではJはヤ行に近い発音のようでこのような読み方になるっぽいです。
 

構築フロー

1.仮証明書発行、サーバソフトのインストール

1-1.仮証明書を発行する。

仮証明書の入手のため、apche2をインストール。

  • $ sudo apt update
    $ sudo apt install apache2
    $ sudo make-ssl-cert generate-default-snakeoil
 
上記実行にて、以下ディレクトリに仮証明書の秘密鍵と公開鍵の格納されていることを確認する。
  • /etc/ssl/private/ssl-cert-snakeoil.key
    /etc/ssl/certs/ssl-cert-snakeoil.pem
 

1-2.Webサーバの設定を行う。

今回はwebサーバとしてngnixを利用。

  • $ sudo apt-get -y install nginx
 
インストール後、configファイルのデフォルト設定ファイルを編集。
  • $ sudo vim /etc/nginx/sites-available/default
 
下記3行のコメントアウト(#)を除外し、
HTTPS通信を有効化&上記秘密鍵、公開鍵を利用化する。
  • server {
    ...
            # listen 443 ssl default_server;
            # listen [::]:443 ssl default_server;
  •  
            ...
  •         # include snippets/snakeoil.conf;
  • ...
    }
 

2 Janus-gatewayの環境構築とビルド

2-1.Janus-gatewayとパッケージのダウンロード

githubよりダウンロードする。
 
また、githubに記載の「Dependencies」 通りにパッケージ(Glib,zlib,pkg-config...)をインストールする。
 

2-2.Janusのコンパイルを実施。

Makefile.amとconfigure.acからMakefileを作成する。
  • $ cd janus-gateway
    $ ./autogen.sh
    $ ./configure --prefix=/opt/janus
 

2-3. Make実行

make実行に入る。
  • $ sudo make
    $ sudo make install
    $ sudo make configs
    $ sudo make-ssl-cert generate-default-snakeoil
 

2-4.JanusのHTTPSの有効化設定。

makeにより下記HTTPプラグインのconfigファイルが生成されているので開く。
  • $ sudo vim /opt/janus/etc/janus/janus.transport.http.jcfg
 
下記対応を実施。仮証明書を使用。
  • general: {
            https = true # 変更
            secure_port = 8089 # コメントを外す
    }
     
    certificates: {
            cert_pem = "/etc/ssl/certs/ssl-cert-snakeoil.pem" # 変更
            cert_key = "/etc/ssl/private/ssl-cert-snakeoil.key" # 変更
    }
Janusのhtmlファイルをngnixの読込先にコピー。
  • $ sudo cp -a html/* /var/www/html
 
ngnixの起動
$ sudo systemctl restart nginx.service
 
これにて環境構築は完了です。
あとは下記コマンドにて起動し、プロセスが立ち上がります。
終了したい場合はCtrl+Cで終了します。
  • sudo /opt/janus/bin/janus -T
 

実行結果

今回はローカルPC1つで2つブラウザを立ち上げ、localhost(mvideoroom.html)にそれぞれアクセスしました。(2つとも同じカメラを使っているためわかりにくくすみません)

二人のクライアントがサーバに接続した際の画面
上記の通り、2つのclientがストリーミング通信をしている状態を確認できました。
各ブラウザの左上の映像(Local Video)が接続者のカメラ、隣(Remote video #1)は相手のカメラ画面が映っていることが分かります。
 

まとめ

OSSを使用し簡単な通話サーバを立ち上げることができました。
htmlとjsを編集すれば、画面上で任意のAudioデバイスやVideoデバイスの選択ができるようでした。オブジェクトファイルについてはffmpegと合わせることで録画などもできそうです。

参考元

beatmaniaIIDXでSP皆伝を取った時にやってたこと

はじめに

10年ほど前の昔話ですが、1回だけ奇跡的にアーケードでSP皆伝を取ったことがあるのでその時の経験談を記載します。
(皆伝取得記事は山ほどありますが、当時めっちゃ嬉しかったので書きます笑)

 

■取得日
2016/7
■取ったバージョン
AC 23 Copula
■段位曲
pp→灼熱→卑弥呼→冥

 

現在の私のプレー頻度は波が来たら数か月たまにやる程度です。

忙しくてほぼできない状況です。。

 

輝かしい過去の栄光

経歴

AC 18 Resort Anthem中期に開始
((18:RA)四段→(19:Lincile)九段→(20:tricoro)十段→(21:SPADA)十段→(22:PENDUAL)十段)
24~現在までは頑張って中伝までしか取れません涙

 

やったこと

物量譜面を習慣づける

弐寺の上手くなる方法はこれに尽きるといいますか、日々自分がギリギリクリアできる曲をやって地力を上げていくことです。

自分の場合1週間やらなくなると目線を忘れ一瞬でSLOWまみれになってしまいます。(戻すのに1週間くらいまたかかる。)できるだけ習慣づけて上げていきましょう。

ちなみに合格したころはアーケードで地力A+半分くらいや蠍火JOMANDA、RED byあたりがハードつき始めたころでした。

BMSもやっていて、当時発狂四段で★9,10にイージが付き始めるくらいでした。

 

低速の練習

低速曲も避けずやっておくといいです。

Level11埋めなどで卑弥呼灰あたりを触り練習しましょう。

 

あと冥の低速の縦連は基本23122ですのでそこを意識してたたきましょう。
ただしBPM130だけ23123
23122→23122→23123→23122→...

 

灼熱の皿のリズムを覚える

対策でもかなりの効果があり、灼熱抜けが安定するようになります。

当時は下の太鼓の達人の皿譜面の音を死ぬほど聴いて覚えるようにしてました。

断片的に覚えるだけでも、そこの箇所が回復につながるので効果的です。

www.youtube.com

 

段位は放置する

言われるまでもないことですが、段位はやりこみ厳禁です。

卑弥呼で落ちていた時から半年後にやると、冥の低速→ブインブイン地帯まで行けるようになっており、あとはちょっと低速の縦連を覚えたらあっさり通過しました。

挑戦段階の見え切っていないときにやりこむと間違えたリズムや押し方を覚えてしまいますので止めましょう。

やればよかったこと

スコア上げ

十段なりたての頃の自分はクリアラーで、スコアがBやCでも良しとしていましたが、Level12の地力Aあたりからクリアが増えず頭打ちになってしまいました。

そこから後付けでスコア上げも頑張り、何とか地力が上がり始めましたが最初からスコアも意識していたらもっと早く上手くなっていたと思います。

 

皿曲

弐寺をやってる方は当然把握されてることですが、鍵盤と皿は別ゲーです。

振ってくる譜面に対して叩くか回すのは大きく違います。

連皿が降ってきた場合の脳の処理は物理譜面だけをいくら極めてもできるものではないです。

しっかり皿譜面も定期的に挟みましょう。

 

運指を変える

弐寺を始めてから現在までベチャ押しのため安定感がありません(TT)

1048式または手首皿、3:5半固定は覚えておけば良かったと思います。

 

最後に

皆伝を目標に頑張られる方が多いものの、やっぱり一番は楽しくやるのが大事です。

自分は再取得は半ば諦めているものの、ハマる時期にはクリアやスコアに目標を持って楽しんでいます。

友達ができる可能性もありますし、ずっと気長に続けられる人が一番強いなあと思います。

 

Autotoolsを使用したMakefile生成の概要メモ

はじめに


仕事で再びC言語を触る機会があったものの、Autotoolを使ったMakefileの概要について再度復習。
(意外と概要を説明しているページが少なかった。)

Makefile生成フロー図


Autotoolsを使ったMakefile生成フロー

構成


コマンド

make
 「Makefile」の記述に基づいて、コンパイル、リンクを自動的に実行するコマンド。オブジェクトファイル生成。
configure
 プラットフォームを考慮したうえで、「Makefile.in」から「Makefile」を生成するスクリプトコマンド。Autotoolsによりスクリプトを生成し、「./configure」で実行する。
autoreconf
 Autotoolsを用いて、「configure.ac」・「Makefile.am」から「configure」・「Makefile.in」を一括作成する際に使用するコマンド。
(automakeやautoreconfの処理も含まれているラッパーコマンド)

 

(備考)

実行の順番としては、下から順に「autoreconf」→「./configure」→「make」と打つ形となる。(必要に応じてオプション等設定する。)

 

ファイル

Makefile
 makeコマンドで読み込まれるビルド設定ファイル。
Makefile.in
 automakeによって生成されるMakefileのテンプレート。
Makefile.am
 開発者が記述するファイル。ビルド対象のファイルやインストール先を記載する。automakeによりMakefile.inを生成する。
configure
 上記コマンドでも記載。スクリプトとして出力される。
configure.ac
 環境チェックの要件を記述したファイル。開発者の編集が必要。

 

 

(備考)
各ファイルの記載フォーマットについてはググると大体出てくる。

 

ツール

Autotools
 Autoconf + Automake + Libtoolなどを含む、ビルドシステムの自動生成を支援するツール。開発者が高レベルのビルド定義を書くだけで、プラットフォームに依存しない適切なMakefileを自動的に生成できる

 

まとめ


autotoolsを利用することでプラットフォーム依存しないMakefileの出力が可能となる。

環境が整った後、開発者は基本的に「Makefile.am」と「configure.ac」の2ファイルを更新していく形となる。

 

参考にさせていただいたページ


loto.sourceforge.net

www.miraclelinux.com