トップページunix
153コメント36KB

make

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。NGNG
UNIX の基本 make
GNU make, BSD make, imake, nmake, etc.
0103名無しさん@お腹いっぱい。2006/11/07(火) 05:43:54
????
0104名無しさん@お腹いっぱい。2006/11/24(金) 17:03:17
$HOME/data/wav/<artist>/<album>/Track{01..99}.wav
ってのがいっぱいあるのを、$HOME/data/mp3
に変換するのにmakeって使えますか?
今はshell scriptでやってるんだけどいまいち
smartじゃない気がして。
0105名無しさん@お腹いっぱい。2006/11/24(金) 17:42:41
つかえるお
0106名無しさん@お腹いっぱい。2006/11/24(金) 18:36:04
むしろシェルスクリプトの方が正しい解だと思うけど。
data/wav/<artist>/<album>/*.wavは度々更新される種類のファイルとも思えないし。
0107名無しさん@お腹いっぱい。2006/11/24(金) 22:10:31
>>106
なるほど。
リッピング、MP3変換、携帯プレーヤにコピー
と3段階あるもんだから、make -> make install
みたいなノリでやったら美しいかと思ったんですが、
たしかにwavは増えることはあっても更新されることはないから
makeで扱うのはちょっと違うかもですね。
さんきゅでした。
0108名無しさん@お腹いっぱい。2006/11/25(土) 03:37:11
make[1]: Entering directory
make[1]: Leaving directory

が出るcdコマンドの書き方ってどうやるんですか?
0109名無しさん@お腹いっぱい。2006/11/25(土) 17:25:33
>>108
残念ながら cd コマンドでは出ない。 make -C を使うと出るよ。
0110名無しさん@お腹いっぱい。2006/11/25(土) 20:37:04
サブディレクトリに継承する書き方できなかったけ?
0111名無しさん@お腹いっぱい。2007/05/12(土) 23:21:14
makefileの中で他のディレクトリにあるオブジェクトファイルを参照してるんですけど、
そのオブジェクトファイルを作成する記述がないです。

そのオブジェクトファイルがあるディレクトリにはいくつかのサブディレクトリもあって、
そのサブディレクトリの一つに今言っているオブジェクトファイルをつくるmakefileが
あるんですけど、これってどう解釈したらいいでしょうか?

ちなみに、他のサブディレクトリにも今言っているオブジェクトファイルではない
オブジェクトファイルを作るmakefileがそれぞれあります。

make勉強したての僕にアドバイスください。
01121112007/05/13(日) 16:10:52
ごめんなさい。あげちゃいました。
僕に気づいて!
0113名無しさん@お腹いっぱい。2007/05/13(日) 16:57:04
>>111
サブディレクトリのオブジェクトはサブディレクトリの makefile で作るんだろ。
他にどう解釈するんだ?

あとは書いた奴に聞けよ。
0114名無しさん@お腹いっぱい。2007/06/17(日) 09:27:18
GNUのリンカー( LD )で質問ですが、
バイナリーデータを指定アドレスに配置する方法を知りたいです。
読み込むとセクション.dataでそのセクションに配置されてしまいます。
0115名無しさん@お腹いっぱい。2007/06/17(日) 10:43:25
>>114 マルチ
http://pc11.2ch.net/test/read.cgi/unix/1079538957/114
http://pc11.2ch.net/test/read.cgi/unix/1127388574/124
http://pc11.2ch.net/test/read.cgi/unix/1176049968/378
0116名無しさん@お腹いっぱい。2007/06/18(月) 11:53:19
プログラミング質問すれ Part1
http://pc11.2ch.net/test/read.cgi/unix/1127388574/
から来た。

>>114
リンカスクリプトを書いて -T オプションで読ませる。
リンカスクリプトの書き方は ld.info にある。
0117名無しさん@お腹いっぱい。2007/06/18(月) 23:53:35
まけ・・・組み?w
0118名無しさん@お腹いっぱい。2007/06/19(火) 22:36:30
$ make inu
make: INU Is Not Unix. Stop.

make: stopped in /home/inu
$
0119名無しさん@お腹いっぱい。2007/12/07(金) 04:36:58
並列度はどれぐらいが妥当?
コマンドラインで -j12 にしても、子プロセスのmakeまではいじれんよな。
0120名無しさん@お腹いっぱい。2008/07/10(木) 17:28:11
makefileですが、これ↓を
$(FWOBJS): obj/%.o: ../lib/FW/src/%.c
  @$(CC) $(CFLAGS) $(INC) -MM $< | sed 's/^\([^ ]\)/obj\/\1/' > dpd/$(*F).d
  $(CC) $(CFLAGS) $(INC) -c $< -o $@

$(USBOBJS): obj/%.o: ../lib/USB/src/%.c
  @$(CC) $(CFLAGS) $(INC) -MM $< | sed 's/^\([^ ]\)/obj\/\1/' > dpd/$(*F).d
  $(CC) $(CFLAGS) $(INC) -c $< -o $@

$(OBJSCOM): obj/%.o: ../lib/com/src/%.c
  @$(CC) $(CFLAGS) $(INC) -MM $< | sed 's/^\([^ ]\)/obj\/\1/' > dpd/$(*F).d
  $(CC) $(CFLAGS) $(INC) -c $< -o $@

$(OBJS): obj/%.o: src/%.c
  @$(CC) $(CFLAGS) $(INC) -MM $< | sed 's/^\([^ ]\)/obj\/\1/' > dpd/$(*F).d
  $(CC) $(CFLAGS) $(INC) -c $< -o $@


こんな風に出来ないですか?
$(FWOBJS): obj/%.o: ../lib/FW/src/%.c
$(USBOBJS): obj/%.o: ../lib/USB/src/%.c
$(OBJSCOM): obj/%.o: ../lib/com/src/%.c
$(OBJS): obj/%.o: src/%.c
  @$(CC) $(CFLAGS) $(INC) -MM $< | sed 's/^\([^ ]\)/obj\/\1/' > dpd/$(*F).d
  $(CC) $(CFLAGS) $(INC) -c $< -o $@

複数ルールに同一コマンドを割り当てる方法がワカリマセン。
そんなものは無い?
0121名無しさん@お腹いっぱい。2008/09/19(金) 14:01:25
Makeって使いにくくないですか?
代わりの何かを教えてください。
0122名無しさん@お腹いっぱい。2008/09/19(金) 16:32:49
ant?
0123名無しさん@お腹いっぱい。2008/09/19(金) 16:34:09
rake rant scons jam
0124名無しさん@お腹いっぱい。2008/09/21(日) 08:59:05
>>120

こんなならできるよ

define COMPILE_c
  @$(CC) $(CFLAGS) $(INC) -MM $< | sed 's/^\([^ ]\)/obj\/\1/' > dpd/$(*F).d
  $(CC) $(CFLAGS) $(INC) -c $< -o $@
endef

$(FWOBJS): obj/%.o: ../lib/FW/src/%.c
$(COMPILE_c)

$(USBOBJS): obj/%.o: ../lib/USB/src/%.c
$(COMPILE_c)

$(OBJSCOM): obj/%.o: ../lib/com/src/%.c
$(COMPILE_c)

$(OBJS): obj/%.o: src/%.c
$(COMPILE_c)


0125名無しさん@お腹いっぱい。2008/09/25(木) 22:54:34
hoge.Cをコンパイルしたいときに
makefile作らなくても、make hoge って打てば
かってにg++ -o hoge hoge.C とかって解釈して実行してくれますよね?

そのときにコンパイルオプションを追加したいんですけどできますか?

0126名無しさん@お腹いっぱい。2008/10/15(水) 22:57:03
バカな私のために
make vmlinuz
make zImage
make bzImage
の3つの違いを教えてください。お願いします。
0127名無しさん@お腹いっぱい。2008/10/15(水) 22:58:01
間違えました
0128名無しさん@お腹いっぱい。2008/10/16(木) 00:15:32
kachi nko

*** kachi: don't know how to kachi nko Stop
0129名無しさん@お腹いっぱい。2008/11/04(火) 08:46:25
CFLAGSでどうですか
0130名無しさん@お腹いっぱい。2008/11/07(金) 09:45:00
make
0131名無しさん@お腹いっぱい。2008/12/27(土) 23:06:51
むかしうにまがに、cakeとかふざけた名前のmakeがあったとさ。
make は、1990年代にすでにお爺さん扱いである。
0132名無しさん@お腹いっぱい。2009/01/04(日) 11:02:24
最初に楽しくいじるのがこれだしな
0133名無しさん@お腹いっぱい。2009/03/08(日) 16:37:52
Sconsってどう?
0134名無しさん@お腹いっぱい。2009/03/08(日) 17:48:40
最高
0135名無しさん@お腹いっぱい。2009/03/12(木) 20:58:52
jam って動かなくて困った。
ocaml嫌い。
0136名無しさん@お腹いっぱい。2009/03/27(金) 19:47:41
最近はOmakeばかり使ってるよ。もう普通のmakeには戻れない。
0137名無しさん@お腹いっぱい。2009/03/31(火) 00:13:43
変更するとリビルドって鬱陶しくない?
0138名無しさん@お腹いっぱい。2009/10/25(日) 22:15:54
zshで書かれたmakeってない?
0139名無しさん@お腹いっぱい。2009/10/26(月) 02:38:17
kachi
0140名無しさん@お腹いっぱい。2010/11/19(金) 17:47:05
Makefileのtestの書き方の例が検索しても出てこない
0141名無しさん@お腹いっぱい。2011/01/18(火) 18:47:12
>>125
make hoge CFLAGS='-hoge -boke'
とか打てばできるよ。
0142名無しさん@お腹いっぱい。2011/01/18(火) 18:50:21
>>141
プラプラのソースだから、
make hoge CXXFLAGS='-hoge -boke'
だろ。
というか何年越しの回答だよw
0143名無しさん@お腹いっぱい。2011/01/18(火) 19:35:24
UNIX板ではよくあること
0144名無しさん@お腹いっぱい。2011/01/24(月) 21:23:56
>>142
できました。ありがとう
0145名無しさん@お腹いっぱい。2011/04/05(火) 16:50:24.01
Makefileのコマンド宣言部にスペースでインデントするとソースコードが消える
0146名無しさん@お腹いっぱい。2011/05/23(月) 11:26:13.85
makeの中にヒアドキュメントって書けますか?
0147名無しさん@お腹いっぱい。2011/08/19(金) 17:08:54.17
無ければ作る
という依存関係は どうやって書けばいい?
0148名無しさん@お腹いっぱい。2011/08/19(金) 17:49:42.12
適切な回答を得るという事は、適切な質問を行う能力に依存する。
0149名無しさん@お腹いっぱい。2011/08/19(金) 20:39:01.03
基本的な知識がないと、応用が利かない。
教科書を読んで習得するのではなくて、
答えを探し出す能力を養うことである。
0150名無しさん@お腹いっぱい。2011/08/19(金) 20:53:03.06
すみませんが詳しい方のみ回答をお願いします
0151名無しさん@お腹いっぱい。2011/08/19(金) 20:55:14.18
まあ make はちょっと不毛なとこあるからなあ
0152名無しさん@お腹いっぱい。2011/08/20(土) 00:23:44.43
>>147
? makeって殆どが「無かったら作る」依存関係でないか? 
オブジェクトがなかったらソースをコンパイルして作る。
実行ファイルが無かったらオブジェクトをリンクして作る。
0153名無しさん@お腹いっぱい。2011/12/05(月) 17:56:22.36
ターゲット内で変数の引き継ぎができなくて困っています。

hoge:
 FOO=1
 @echo $(FOO) # 何も表示されない

変数内の値を使いたいとき、1行で書くしかないのでしょうか?
FOO=1; echo $(FOO)ならうまくいくのですが...
■ このスレッドは過去ログ倉庫に格納されています