1 :
デフォルトの名無しさん:
プログラムを始めると必ず通る道、Makeですが、実際に使いこなせてる人は、
なかなかいないんじゃないでしょうか?
しかし、今からMakefileの文法覚えるのも面倒くさいし、依存ファイルの記述なども
面倒臭い。そこで、探してみるとやっぱりあったビルドツール。
makeapp:perlベース
rake:rubyベース
SCons:pythonベース
他にも、qmake,bjam,CMake…etc.
このスレでは、それぞれのツールの利点・欠点、使い方などを
語っていきましょう!
2 :
デフォルトの名無しさん:2008/10/30(木) 19:34:40
antやmsbuildはスレ違い?
@echo off
cl /Ox /Fehoge *.cpp
5 :
1:2008/10/31(金) 07:46:19
>>3 どんどん書き込んじゃってください。
でも、最初で書いてるようにMakefileを一から書くのは面倒臭いので、
makeならmakedependや、autoconf,autotoolなどの半自動でmakefile
作ってくれるツールがあります。ですので、antにもそのようなツールが
あれば、それらと絡めて話題にしてくれるとスレに合う話題になるんじゃないでしょうか
makeのメタツールの話題のスレなのか
makeの代替物の話題のスレなのか
両方どちらも(make自体含む)のスレなのか
どれ?
7 :
1:2008/11/01(土) 01:01:27
両方でいいと思います。
ソースファイルの追加や修正で構成が変化したときに、
ビルド作業を最低限の記述で気持ちよく出来るようにしたいという思いからスレを
立てましたので、makeのメタツールの話題や、こんな便利な代替物があるという
紹介でもいいと思います。
で、自分の好きなツール。makeだったらそれをjavaのプロジェクトでも使うとか
antならc/c++でも使うとか、他の言語にも適用する方法が共有出来れば幸せに
なれる気がします。
makeやantばかり言っていますが、あくまで例で言ってるだけなので他のツール
javaだったら、mavenとかいろいろありですよ。
8 :
1:2008/11/01(土) 01:10:38
10 :
1:2008/11/06(木) 01:12:38
11 :
1:2008/11/06(木) 01:20:55
どなたかantとかmavenとか語ってくれないですかね〜。
あんまりこのスレ需要がなかったかなぁ。
過疎ってるので、emacsもしくはvimとの連携とか、
話題の幅を広めてもいいかもしれませんね。
統合開発環境を使わない快適な開発環境みたいな。
ant使いにくい。
maven分かりにくい。
14 :
デフォルトの名無しさん:2008/11/10(月) 23:22:45
ビルドツールにあまり良いイメージがありません。
@業務で作るプログラムはだいたい、1機種、1OS対応なので make で十分。
Amakeのほかに、ビルドツールの文法も覚えないといけない。その上資料が少ないので学習しにくい。
B意味不明の中間ファイルがたくさんできる。
Cできた Makefile がとても人間に読めたものではない。
D将来性が不安である。業務でビルドツールを採用して、それが開発終了したりしたらふくろだたきにされそう。
ビルドツールの便利さについて啓蒙していただければありがたいです。
15 :
1:2008/11/11(火) 00:05:04
>>14 私自身がまだ学生で業務に使ったり、チームで使ったりといった経験がないので、
稚拙な意見ですが、
@、ビルドツールを使うことによって、OS間・環境の違いを吸収できる。オープンソース・クロスプラットフォーム向け?
A、makeより便利なツールがあるかもしれない。それが広まれば皆幸せになる。
B、ビルドツールの性質上仕方ない? このおかげで、内部的な動作まで考える必要がないとも言えるのでは…
C、sconsやrakeは、Makefileを作るものではない。Makefileの代替になるもの
D、それはそうでしょうねwww。
業務をしている方の意見もぜひ聞きたいです。
にしても、業務で使う場合はIDEでプロジェクト共有だと思ってました。
見返すとホントちまい文章で泣けてきた
>>10 GJ
できれば自分でルールやコマンドを設定する方法を知りたいな。
たとえば .tex から .html を生成するのを自動化したい場合、SConsでどうすればいいのかわからないので、
それが書いてあると、SCons の使い道が広がって、嬉しい人も多くなるんじゃないだろうか。
17 :
1:2008/11/11(火) 23:06:57
18 :
デフォルトの名無しさん:2008/11/13(木) 00:54:37
>>15 ご回答ありがとうございます。
>@、ビルドツールを使うことによって、OS間・環境の違いを吸収できる。オープンソース・クロスプラットフォーム向け?
ソースの文字コードの変換なんかをビルドツールで吸収できるとうれしいのですが、、、
>A、makeより便利なツールがあるかもしれない。それが広まれば皆幸せになる。
たしかに、make的なもので、foreach とか if とか使えるのなら便利ですね。
しかし、ファイル名を羅列するだけOKという make の簡潔さも残して欲しいものです。
>業務で使う場合はIDEでプロジェクト共有だと思ってました。
ビルドツールの使用例ですが、
1.某工場の受注システム→VB
2.三菱マイコンの組み込み→DOSのバッチファイル
3.H8マイコンの組み込みは→HEW
4.SHマイコンの組み込み→make
5.某医療システム→JBuilder
6.某アパレルCAD(旧)→make
7.某アパレルCAD(新)→VC
という感じでした。IDEは1,3,5,7で50%くらいでしょうか。
プロジェクト共有(CVSとかのこと?)使ってたのは10%くらいでした。
半端なシステムばっかりで参考にならないですが、、、
19 :
デフォルトの名無しさん:2008/11/13(木) 02:04:13
自分はクロスプラットフォームのプログラム作る必要ができた時
Qtのプログラムじゃないけど、qmake使いました。
qmakeはqmake用のプロジェクトファイルからUnixだとMakefile、
WindowsではVCのプロジェクトファイルを作成するツールだけど、
結構便利でした。
それと配布するときのことを考えると、jamみたいに代替ツールだと
それをインストールしておく必要があるのは結構ネックかなと思います。
それこそ、代替ツールが広まっていれば問題ないのですが。
bjamの場合はboostにソースで同梱されてたりするけどな。
ビルドも一瞬だし。
21 :
デフォルトの名無しさん:2008/11/13(木) 21:31:54
その同梱が大変だってことじゃん。
ビルドが簡単ってのと、配布パッケージを作るのが簡単って
いうのも別の話だし。
22 :
1:2008/11/13(木) 23:40:55
>>19 私もqmakeを少しだけ弄りました。
おっしゃる通り、makefileからVCまで幅広く対応しているので素晴らしいと感じました。
ただ、qtが付きまとってくるイメージで毛嫌いしてしまっていますw。
23 :
デフォルトの名無しさん:2008/11/14(金) 02:08:46
確かに元々Qt用のツールなので、Qtは付きまとってきますね。
前にQtで開発していたので、自分には自然な選択だったんですが。
まぁ、qmakeはQt以外でも使えるってことの
紹介ということで。
勝手にQT用のオプションがつくけど、
QT使わなければ無視されるだけだから特に問題ないね。
25 :
デフォルトの名無しさん:2008/11/14(金) 22:27:12
26 :
デフォルトの名無しさん:2008/11/16(日) 01:13:15
基本的にスクリプト言語ベースのものは、その言語が動けば
動くと思うよ。
なんかプラスアルファが欲しいところかな。
Perlのシェアの広さは魅力といえば魅力だけど。
27 :
はんしょう:2008/11/16(日) 16:26:11
教えてください
JAVAのBUILDERを見ています(正直使っているという状態ではまだないのです)が、
JPXファイル(プロジェクト)を再BulidするのとMakeをするのとがメニューにあります。
この違いはなんでしょうか?一見どうちらを選択しての既存のものは実行できるか
できないのか について言えば変わりはなかった
>>25 それの後継が scons で、Googleによるsconsの拡張がswtoolkit
30 :
デフォルトの名無しさん:2009/09/07(月) 11:56:44
で、結局どれが一番良いんでしょうか?
いい加減makeは捨てたい
eric4
興味津々なんだけどこのスレあまり人気ないのね;
CMake、SCons、qmakeあたりしか使ったことないからあれだけど、
結局、どれ使うかは対象プラットフォーム次第なのかな?
Windows, Linux, Mac OS Xが対象なら、どれも大して変わらない気がする
WindowsCEとか組み込みLinuxも扱うならqmakeってところ?
sconsって使いやすいの?
36 :
デフォルトの名無しさん:2010/09/01(水) 18:41:13
cmakeかなり良さそう。ただしこれmakeの代わりではなくconfigureの代わり。
最終的にmakefileを書き出してくれるのがいけてる。
cmakeはかなり柔軟にできるね。
独自構文が難しいのが欠点かな。
cmakeいいな。プロジェクトを親子で同時開発するときすげー便利。
A(アプリ)とB1(ライブラリ)、B2(ライブラリ)みたいな関係のプロジェクトで、
Bの開発ツリーで開発しつつ、それをAの開発ツリーの下でチェックアウトするとそのまま使える。
これはすごい。生のMakefileでこれをやろうとすると苦労する
39 :
デフォルトの名無しさん:2011/02/12(土) 11:54:35
40 :
デフォルトの名無しさん:2011/02/23(水) 18:02:13.67
cmakeで質問があります。
main.cppの中で
#ifdef HELLO
// 処理1
#elif
// 処理2
#endif
みたいな処理をCMakeLists.txtで切り替えたいのですが、
どうすればできますか?
ADD_DEFINITIONS()
いま使ってるのはこれかな
http://gradle.org/ ant、mavenを置き換える感じだけど、mavenの100倍わかりやすい
あとはSBTってのにも興味あるんだけど、いま調査中
43 :
デフォルトの名無しさん:2011/05/04(水) 15:10:02.45
sconsベースで,そのビルドフレームワーク本体も同時配布する思想のやつなんだっけ?
45 :
44:2011/07/31(日) 04:17:10.34
自己解決した.Wafだ.多分.
46 :
デフォルトの名無しさん:2011/07/31(日) 11:08:54.81
まあ現状だとcmakeがベストだな。
Googleのninjyaも気になる
omakeがmake++++って感じてよい。
>>46 ninjya って綴りなのか? Dasseeeeeeeee!