- takawata19
- 1760
- 0
- 0
- 1
@AoiMoe 対応プラットフォームの数なら、pkgsrc の bootstrap に含まれてる奴が一番多そうなんですけどねえ…
2015-05-11 18:12:55BSD makeは/usr/share/mkがあってナンボなので、そこを各プラットフォーム向けにちゃんと作るのが大変ってのもある。
2015-05-11 18:13:17/usr/share/mkを使うの、方法論としてはimakeに近いわけだが、まあcpp通すよりはだいぶ素性がいい
2015-05-11 18:16:51まあそれを抜きにしても、フロムスクラッチでMakefile書くなら、基本的にBSD makeのほうがGNU makeより楽だと思うが
2015-05-11 18:18:23@takawata19 どちらかというと仕組み自体よりもlib/X11/configの下の出来が悪かったせいのような。
2015-05-11 18:19:50@takawata19 imake/xmkmfで生成されたmakefileではビルドエラーになる事が多かったから…? 今ドキだと configure の一人勝ちなんでしょうかね?
2015-05-11 18:21:06imakeはpre-POSIX時代のツールだというのもあると思うんだな。本当にいろんな環境でビルドするために、かなり変態的なことになっている
2015-05-11 18:22:06@bsdhack 今時は、この手のビルドシステムは戦国時代という認識です。cmake, scons .....
2015-05-11 18:22:14@takawata19 うひ、cmake も scons も知りませんでした(最近 yum install しかしていない気が……orz
2015-05-11 18:22:54@n12i @AoiMoe C FaqにCPPを汎用のマクロ処理言語につかうのはやめましょうと書かれてしまうぐらいですからねぇ...
2015-05-11 18:24:26@takawata19 @AoiMoe うわ耳が痛い!某銀行でSEやってた時にcppを汎用マクロ処理に使いまくっていた過去が…だってさソフト勝手に導入できないしさ、他に良いマクロプロセッサ無かったしさ(言い訳
2015-05-11 18:26:01@bsdhack @AoiMoe C Faqではm4使えという解決策が書いてありました。
2015-05-11 18:26:38@takawata19 @AoiMoe 確かにm4なんでしょうね。あれはあれでアレですが(cf 作る時にお世話になっているので足を向けては寝られませんが…
2015-05-11 18:27:52j.mp/1zVsyjq もしC言語以外のものを前処理することを考えているのであれば、汎 用のプリプロセッサーを使うことを考えること。(たいていのUnixシ ステムで使える古くから存在するツールはm4である)。
2015-05-11 18:28:15まあ、時代背景を考えると、imakeも必要だったしGNU autotoolsも必要だったと思うのだが、未だに後者が廃れてないのはどうかと思うの。
2015-05-11 18:30:34makeを使うならMakefile文法ですべてが完結しているべきであって、GNU makeみたいな中途半端なものを作ってあとはautotoolsに任すなんて方法論は、初手から間違ってるんじゃないかね。
2015-05-11 18:33:29@AoiMoe imakeや/usr/share/mkのように事前に調べておかなくても、ad hocに調べられるって方が適用範囲が広いので、より広まりやすいと思います。←前から書いてますが、僕はautotoolsが結構好きなので、そういうバイアスのある意見です。
2015-05-11 18:34:43だってさあ、autoconfが必要だったころって、 # include <string.h> か # include <strings.h> かで悩んでたような時代だよ。
2015-05-11 18:38:26@AoiMoe OpenGroup標準の中だけで書ける範囲が非常に広くなったとは言え、epoll使いたいとかkqueue使いたいとか、依存しているサードパーティ・ライブラリのバージョンに応じて使う関数を変えたいとか、今でもカジュアルに存在する要求なので…
2015-05-11 18:39:02