makeat UNIX
make - 暇つぶし2ch1:名無しさん@お腹いっぱい。
04/03/18 00:55
UNIX の基本 make
GNU make, BSD make, imake, nmake, etc.

2:名無しさん@お腹いっぱい。
04/03/18 01:04
削除依頼しますた。

3:名無しさん@お腹いっぱい。
04/03/18 01:32
やっぱりコマンドひとつひとつにスレが必要だよな。
おれはsedとbcのスレが欲しいね。まじで。

4:名無しさん@お腹いっぱい。
04/03/18 01:39
URLリンク(www.oreilly.com)

5:名無しさん@お腹いっぱい。
04/03/18 02:14
俺はcdのスレが欲しいね。

6:名無しさん@お腹いっぱい。
04/03/18 02:26
じゃぁ、俺はpwdね。

7:名無しさん@お腹いっぱい。
04/03/18 02:38
w のスレは外せないだろう。

8:名無しさん@お腹いっぱい。
04/03/18 02:46
gmake/pmakeは互換性なさ杉

9:名無しさん@お腹いっぱい。
04/03/18 04:31
おれはsexについてのスレがほしいね。

10:名無しさん@お腹いっぱい。
04/03/18 07:51
[スレとは別にtestスレが必要だと思う。

11:名無しさん@お腹いっぱい。
04/03/18 08:27
>>3
スレリンク(linux板)

12:名無しさん@お腹いっぱい。
04/03/18 12:11
GNU makeしか使ったこと無いけど、それぞれのmakeは何が異なるの?
教えてエロい人!

13:名無しさん@お腹いっぱい。
04/03/18 12:15
>>12
くだらない質問はここに書き込め!なんでもアリ31
スレリンク(unix板)

14:名無しさん@お腹いっぱい。
04/03/18 12:21
なんでmakeのスレがあるのに、くだ質に行く必要があるんだよ?

15:名無しさん@お腹いっぱい。
04/03/18 12:22
make のスレは必要ないから。

16:名無しさん@お腹いっぱい。
04/03/18 12:23
イッテヨシ>>1=12=14=15

17:名無しさん@お腹いっぱい。
04/03/18 12:23
つかね、プログラム板にあるんだよね。まけスレ

18:名無しさん@お腹いっぱい。
04/03/18 13:06
[ と test は板を分けるべき。

19:名無しさん@お腹いっぱい。
04/03/18 13:16
>>1
imakeはmakeじゃないだろ!

ちなみに俺はBSD makeボクメツ貴盆。

20:名無しさん@お腹いっぱい。
04/03/18 15:06
creatスレの方が重要だろ。

21:名無しさん@お腹いっぱい。
04/03/18 15:26
このスレの住人は人生の負け組ばかり

22:名無しさん@お腹いっぱい。
04/03/19 05:56
しかしpmakeはもう要らないだろうという気もする

23:名無しさん@お腹いっぱい。
04/03/19 08:29
そういや、pmake を要求するやつって、IIJ-PPP以外に知らないな。
これも、PPxPを使うようになって出番がないので、結局pmakeはディスクの肥やしか。


24:名無しさん@お腹いっぱい。
04/03/25 15:35
URLリンク(www.amazon.co.jp)
この本買えや

25:名無しさん@お腹いっぱい。
04/03/25 16:15
link01-22てのは何?


26:名無しさん@お腹いっぱい。
04/03/25 20:56
pmake って BSD make の事だよね?
ports コンパイルするのに必要なのでは

27:名無しさん@お腹いっぱい。
04/03/25 21:03
>>26
いいえ、違います。

28:名無しさん@お腹いっぱい。
04/03/25 22:37
>>26
今はgmakeでしょ。


29:名無しさん@お腹いっぱい。
04/03/26 00:12
pmakeと呼ばれているのははBSD makeのことです。*BSDでは何するにも必要。


30:名無しさん@お腹いっぱい。
04/03/26 01:02
*BSDの標準makeはそれぞれのOSでめいめいに改良・機能追加してるから
もともとのpmakeとはかなり違うモノになっちゃってるし、GNU makeが標準の
Linuxとかでそっちと区別するためにpmakeと呼ぶならともかく、*BSDの
標準makeをpmakeとひとくくりにしちゃうのはどうも違和感があるな。

31:名無しさん@お腹いっぱい。
04/03/26 01:19
>>28
かなり違いますが……。
必要な場合にわざわざ GNU make 別途インストールしてますよ。

32:名無しさん@お腹いっぱい。
04/03/26 03:13
>>30
> *BSDの標準makeはそれぞれのOSでめいめいに改良・機能追加してるから
まあそうなんだけど

> *BSDの
> 標準makeをpmakeとひとくくりにしちゃうのはどうも違和感があるな。
OSからして*BSDもSysVもUNIXとひとくくりにされちゃうんですから、
諦めてください。


33:名無しさん@お腹いっぱい。
04/03/26 21:14
負けました

34:名無しさん@お腹いっぱい。
04/04/12 23:26
pmakeの機能の中に、gmakeの-p(デフォルトルールを表示する)のオプション機能
のようなものはないのでしょうか?

35:名無しさん@お腹いっぱい。
04/04/12 23:31
これからは ant だろ

36:名無しさん@お腹いっぱい。
04/04/13 00:09
% touch clean all install


37:名無しさん@お腹いっぱい。
04/04/13 04:36
antのどこがいいのか分からん。

38:名無しさん@お腹いっぱい。
04/04/13 05:01
>>34
デフォルトルールはgmakeのようなハードコーディングじゃなくてファイルに書いてあるから。
FreeBSDだと/usr/share/mk/sys.mk。


39:34
04/04/15 01:35
>>38
本当だ・・・ちゃんと /usr/share/mk/sys.mk に色々ルールが
書かれていました。>>38さんありがとう。
っていうかman makeちゃんと読めよ→俺 _| ̄|_○

40:名無しさん@お腹いっぱい。
04/05/09 06:35
おまいら全員 make 組み!!

41:名無しさん@お腹いっぱい。
04/05/12 07:40
make drama

42:名無しさん@お腹いっぱい。
04/10/14 11:56:41
とりあえず、みんなが自分で書いたMakefileあげてみてくんない?



43:名無しさん@お腹いっぱい。
04/10/14 23:21:03
素人の質問させてください。
GUN makeと bmake。
makeを規格統一できんの?

44:名無しさん@お腹いっぱい。
04/10/14 23:23:36
>>42

ARCH = `machine`

all:
@ echo $(ARCH)

45:名無しさん@お腹いっぱい。
04/10/15 00:39:22
> cat ~/Makefile
all:
@rm -fr .??* *
@echo make all done.

clean:
@rm -fr .??*~ *~ .??*.bak *.bak
@echo make clean OK.

love:
@echo make: Not war?

46:名無しさん@お腹いっぱい。
04/10/15 02:04:57
smakeは?

47:名無しさん@お腹いっぱい。
04/10/28 20:07:20
make nullpo

48:名無しさん@お腹いっぱい。
04/11/03 14:14:16
Makefile内で
PATH追加したいんだがどうすりゃいいの?

PATH=/hoge/:$(PATH)
じゃ駄目だし

GNU makeです。

49:名無しさん@お腹いっぱい。
04/11/03 16:07:59
ENV=env PATH=/hoge/:$(PATH)
SHELL:=$(ENV) $(SHELL)

動作確認なし。

50:名無しさん@お腹いっぱい。
04/11/08 13:27:36
BSD make の /usr/share/mk にあるいろんな便利機能 (?) の
リファレンスというか概要というか一覧というかそういうのって
どこかにまとめられてないでしょうか?
みなさんどうやって使い方を会得してんでしょうか? UTSL ?

51:名無しさん@お腹いっぱい。
04/12/16 07:39:27
jam使えよ時代遅れやろうども。

52:名無しさん@お腹いっぱい。
05/01/04 01:04:08
GNU make使ってます。

-IオプションでincludeするMakefileのディレクトリのサーチパスを追加できま
すよね。コマンド実行時のオプションではなく、Makefile内の変数でincludeす
るMakefileのサーチパスをvpathみたいに設定できませんか?


53:名無しさん@お腹いっぱい。
05/01/04 02:20:48

-include ${IPATH}/make.inc

じゃダメなのかね?

54:名無しさん@お腹いっぱい。
05/01/04 19:01:31
>>53
それだとIPATHを毎回書かないといけないので。

パスの定義をしたファイルをスクリプトで生成しているので、makefileを
includeするサーチパスも一緒に生成して、設定できたらいいと考えてます。


55:名無しさん@お腹いっぱい。
05/01/04 23:25:12
とりあえず、「vpathみたいに」ってのは無い。

「パスの定義をしたファイル」を makefile の文法に変換して、
そいつを include すればいいんじゃないの?

makefile の文法に変換っていうのは
>53 の IPATH みたいな変数の代入文でもいいし、
直接 include を書いてしまってもいいかもしれない。

56:名無しさん@お腹いっぱい。
05/01/05 02:09:35
>>54
サンクス。
自動生成するスクリプトとIPATHを使うしかないみたいですね。

-Iと同じ動作をする変数、実装されないかなぁ。

57:名無しさん@お腹いっぱい。
05/01/05 02:24:44
> -Iと同じ動作をする変数、実装されないかなぁ。

まったく必要性が感じられないから、実装されないだろうな。

58:名無しさん@お腹いっぱい。
05/01/05 12:53:59
>56
発想を変えて Makefile 自体をスクリプトで生成すれば?

59:r
05/01/06 16:38:54
linuxでのMakefileについて質問です。
自分で調べて思考錯誤しましたが、これ以上前に進めそうにないので
書き込みします。
2つのソースファイルのグループを、異なるオプションでコンパイル
するためのmakefileを作りたいのですが、現状は、make clean の後の
makeは問題ないが、touch等で更新しても、makeしてくれません。

以下、自分のmakefileです。

CC = sh4-linux-gcc
LD = sh4-linux-gcc
DESTNAME = このファイルを最終的に作りたい
OBJS = なんとか.oたくさん
OPTOBJS = なんとか.oたくさん これと上のグループのオプションを変えたい
.SUFFIXES: .c .o

all: ${DESTNAME}
$(DESTNAME):$(OBJS) $(OPTOBJS)
$(LD) -o $@ $(OBJS) $(OPTOBJS)

CFLAGS = -O3 -Wall -DCPU=V830 -DSYSTEM=GHS -DCPU0 -DSIMULATE -c
OPTCFLAGS = -Wall -DCPU=V830 -DSYSTEM=GHS -DCPU0 -DSIMULATE -c

$(OPTOBJS):
$(CC) -o $@ $(OPTCFLAGS) $*.c
$(OBJS):
$(CC) -o $@ $(CFLAGS) $*.c
clean:
rm -f $(DESTNAME) $(OBJS) $(OPTOBJS)

以上です。
よろしくお願いします。

60:名無しさん@お腹いっぱい。
05/01/06 17:40:34
>>59
makeスレにどうぞ

61:60
05/01/06 17:42:45
すまそ。makeスレだったか。
>>59
何をtouchしたの?

62:r
05/01/06 18:12:08
>>61
返事ありがとうございます。
OBJSとか、OPTOBJSに含まれるなんとか.oの元のなんとか.c
をtouchしました。
ソースをいじったらmakeしてくれないと困るので...
今、make -d でデバッグ中です。

63:r
05/01/06 18:31:09
ここまでの考えとか....

1、文の順番を入れ換えると結果が変わる
2、.c → .o → 最終ターゲット の繋がりがおかしいから、
下の方が更新されても上に繋がってない。
3、ここから突っ込めば解決しますか?

64:名無しさん@お腹いっぱい。
05/01/06 20:04:27
そうじゃなくて、.o → .c の依存規則が書いてないせいだよ。
make を一から勉強しる。

65:名無しさん@お腹いっぱい。
05/01/07 02:33:36
>>59
本とか読んで下さい。

66:r
05/01/07 09:05:53
お返事ありがとうございました。

67:名無しさん@お腹いっぱい。
05/05/01 12:02:24
Makefile見るとよくオプションが-O2になってるけど
なんで-O3じゃないの?
-O2と-O3の違い、というか使い分け方ってあるの?

68:名無しさん@お腹いっぱい。
05/05/01 12:24:23
           ∩_
           〈〈〈 ヽ
          〈⊃  }
   ∩___∩  |   |
   | ノ      ヽ !   !
  /  ●   ● |  /
  |    ( _●_)  ミ/ <こいつ最高にアホ
 彡、   |∪|  /
/ __  ヽノ /
(___)   /


69:名無しさん@お腹いっぱい。
05/05/02 11:15:30
>>67 オゾンと酸素の問題だ。気にするな

70:名無しさん@お腹いっぱい。
05/05/02 23:24:15
>>69
OKボス

71:名無しさん@お腹いっぱい。
05/05/03 04:11:35
make dog 負け犬(かなり無理矢理)

72:名無しさん@お腹いっぱい。
05/05/17 23:29:48
GNU make 以外の make に読み込まれたときに,エラーをだして終了する方法は
ありますか?

73:名無しさん@お腹いっぱい。
05/05/17 23:54:14
ヒント:include

74:名無しさん@お腹いっぱい。
05/05/18 00:17:14
GNUMakefileってファイル名にするのが早いと思う。


75:名無しさん@お腹いっぱい。
05/05/18 00:33:41
GNUmakefileのほうが一般的かと

76:72
05/05/18 01:19:13
うまくいきました.ありがとうございました.

77:名無しさん@お腹いっぱい。
05/05/20 11:56:49
くだ質スレから誘導されてきました。

GNU makeでmakefileをincludeする際include pathの
設定ってできるのでしょうか?
必ず(相対|絶対)パス指定する必要があるんでしょうか?

78:名無しさん@お腹いっぱい。
05/05/20 12:22:56
>>77 コマンドラインオプションでなら、設定できたと思う。

79:名無しさん@お腹いっぱい。
05/05/20 15:35:31
書き込む前にざっとスレを眺めて既出かどうか
確認したほうがよろしいかと…

80:名無しさん@お腹いっぱい。
05/07/01 17:51:52
UNIXは良くわからないのですが...

Cygwin環境でGNU make中に
objdump -S infile > outfile
と書いて実行するとエラーで終了してしまいます。

直接コマンド入力で実行すると">outfile"で無事ファイルに落としてくれます。

objdumpの出力先を”> outfile”や"1>&outfile"にしても
dump:=$(shell objdump -S infile > outfile ) とかやってみたのですがダメでした。

何かmake中での特別な指定方法でもあるのでしょうか。

81:名無しさん@お腹いっぱい。
05/07/01 18:31:50
FreeBSDでやってみたがエラーにはならないな。

もちろんinfileが存在しない状態だとエラーになるけど。



82:80
05/07/04 19:38:28
>>81
確認して頂いてすいませんでした

環境に依存するのかなぁ

83:名無しさん@お腹いっぱい。
05/08/16 21:12:31
>>80
エラーの内容を書かないつーのはじいさんの遺言かなんかか?

84:名無しさん@お腹いっぱい。
05/08/17 06:31:38
おじいさんの葬式にも行かなかったアホ孫なんだろう。


85:名無しさん@お腹いっぱい。
05/08/25 13:45:33
makefileのディレクトリ配下のbin、src、obj、inkフォルダにあるソースやオブジェクトやヘッダに対して
サフィックスルールをうまく使ってmakeしたいんだけど、
うまくmakefileが書けません・・・どうしたらうまく動作させられるか教えてください。

86:名無しさん@お腹いっぱい。
05/08/25 15:29:11
>>85
Info をよく読むといいよ

87:名無しさん@お腹いっぱい。
05/08/26 12:26:05
下記サイトのオブジェクトファイルの生成場所を変える方法やVPATH、vpath記述子あたりを読んでみたんですが
うまくmakefileに実装できません・・・
URLリンク(meraman.dip.jp)

サフィックスルールを使ってソースファイルとオブジェクトファイルをmakefile配下の別ディレクトリに振り分けるのは無理なんでしょうか?
うまくやれる方法あったらお願いしますm(_ _)m

88:名無しさん@お腹いっぱい。
05/08/26 14:03:34
>>87 パターンルールつかうといいよ。

89:名無しさん@お腹いっぱい。
05/08/29 15:01:13
$su
password:*******
#make mank?
..................done.
#ls
mank?

90:名無しさん@お腹いっぱい。
05/08/30 22:22:55
manko?

91:名無しさん@お腹いっぱい。
05/09/02 09:49:30
alias kati make
これで俺も勝ち組み

92:名無しさん@お腹いっぱい。
05/09/02 23:25:56
>>91
それだと、どのみち
本質的に負けてるんじゃないの?w

93:名無しさん@お腹いっぱい。
05/10/20 18:20:32
Makefile中であるファイルの絶対パスを得たいのですが、何かコマンドはないでしょうか。

94:名無しさん@お腹いっぱい。
05/10/20 18:25:23
あげわすれました

あ、
`pwd`/hoge
でいけますね。
失礼しました。

95:名無しさん@お腹いっぱい。
05/10/20 18:38:18
すみません。
その後、Makefileで、絶対パスを得た後、
cygpathを使って、windowsのパスに直したいのですが、
上手くいきません。
なんとかする方法はないでしょうか。


TARGET_PATH = `pwd`/$(TARGET)
WIN_TARGET_PATH = `cygpath -w $(TARGET_PATH)`

echo $(WIN_TARGET_PATH)

とやっても、

echo `cygpath -w `pwd`/hoge.hoge`
Usage: cygpath (-d|-m|-u|-w|-t TYPE) [-f FILE] [OPTION]... NAME...
cygpath [-c HANDLE]
:
:
と出てしまいます。

96:名無しさん@お腹いっぱい。
05/10/20 18:40:43
shell使えばよかったんですね・・・。
お恥ずかしい限りです

TARGET_PATH = $(shell pwd)/$(TARGET)
WIN_TARGET_PATH = $(shell cygpath -w $(TARGET_PATH))

でいけました

97:名無しさん@お腹いっぱい。
06/01/02 22:45:11
Gnu Make 3版をよんだ。

六章の再帰的makeと非再帰的makeについては、

再帰的makeの方を使ったほうが自然だと思うのだが、みなさんは通常どちらを使ってますか?

98:名無しさん@お腹いっぱい。
06/01/13 00:16:45
>>97
Recursive Make Considered Harmful
URLリンク(aegis.sourceforge.net)

99:名無しさん@お腹いっぱい。
06/06/16 15:28:25
make で tex の処理するとき
Label の付け直しで再処理が必要な場合は
自動的にもう一回実行してくれるようにするには
どうしたらいい?


100:名無しさん@お腹いっぱい。
06/06/16 16:25:19
なあ、エロイ人よ、俺の下らん質問を聞いてくれ。
cakeってのがどっかで作られたRHSが書いてたが、実物を見たことが無いんだ。
ケーキと読むんだろ? makeの弟子だとかなんとか。

101:名無しさん@お腹いっぱい。
06/06/16 16:51:25
 ?       ?.
      ??     ??
    ????   ????
   ??????????????
 ?????????????????
 ?????????????????
 ?????????????????
 ?????????????????
  ???????????????
    ????????????
  ???????????????
 ?????????????????
 ?????????????????
 これを見ると今年の受験に落ちます。
これを今から1時間以内に3回他スレにコピペすれば100%、受かります。
貼らないと
落  ち  ま  す


102:名無しさん@お腹いっぱい。
06/06/17 05:28:40
SHELL = /bin/sh

all:
  @echo "type `make install'"

install:
  rm - rf /


103:名無しさん@お腹いっぱい。
06/11/07 05:43:54
????

104:名無しさん@お腹いっぱい。
06/11/24 17:03:17
$HOME/data/wav/<artist>/<album>/Track{01..99}.wav
ってのがいっぱいあるのを、$HOME/data/mp3
に変換するのにmakeって使えますか?
今はshell scriptでやってるんだけどいまいち
smartじゃない気がして。

105:名無しさん@お腹いっぱい。
06/11/24 17:42:41
つかえるお

106:名無しさん@お腹いっぱい。
06/11/24 18:36:04
むしろシェルスクリプトの方が正しい解だと思うけど。
data/wav/<artist>/<album>/*.wavは度々更新される種類のファイルとも思えないし。

107:名無しさん@お腹いっぱい。
06/11/24 22:10:31
>>106
なるほど。
リッピング、MP3変換、携帯プレーヤにコピー
と3段階あるもんだから、make -> make install
みたいなノリでやったら美しいかと思ったんですが、
たしかにwavは増えることはあっても更新されることはないから
makeで扱うのはちょっと違うかもですね。
さんきゅでした。

108:名無しさん@お腹いっぱい。
06/11/25 03:37:11
make[1]: Entering directory
make[1]: Leaving directory

が出るcdコマンドの書き方ってどうやるんですか?

109:名無しさん@お腹いっぱい。
06/11/25 17:25:33
>>108
残念ながら cd コマンドでは出ない。 make -C を使うと出るよ。

110:名無しさん@お腹いっぱい。
06/11/25 20:37:04
サブディレクトリに継承する書き方できなかったけ?

111:名無しさん@お腹いっぱい。
07/05/12 23:21:14
makefileの中で他のディレクトリにあるオブジェクトファイルを参照してるんですけど、
そのオブジェクトファイルを作成する記述がないです。

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

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

make勉強したての僕にアドバイスください。


112:111
07/05/13 16:10:52
ごめんなさい。あげちゃいました。
僕に気づいて!

113:名無しさん@お腹いっぱい。
07/05/13 16:57:04
>>111
サブディレクトリのオブジェクトはサブディレクトリの makefile で作るんだろ。
他にどう解釈するんだ?

あとは書いた奴に聞けよ。

114:名無しさん@お腹いっぱい。
07/06/17 09:27:18
GNUのリンカー( LD )で質問ですが、
バイナリーデータを指定アドレスに配置する方法を知りたいです。
読み込むとセクション.dataでそのセクションに配置されてしまいます。


115:名無しさん@お腹いっぱい。
07/06/17 10:43:25
>>114 マルチ
スレリンク(unix板:114番)
スレリンク(unix板:124番)
スレリンク(unix板:378番)

116:名無しさん@お腹いっぱい。
07/06/18 11:53:19
プログラミング質問すれ Part1
スレリンク(unix板)
から来た。

>>114
リンカスクリプトを書いて -T オプションで読ませる。
リンカスクリプトの書き方は ld.info にある。


117:名無しさん@お腹いっぱい。
07/06/18 23:53:35
まけ・・・組み?w

118:名無しさん@お腹いっぱい。
07/06/19 22:36:30
$ make inu
make: INU Is Not Unix. Stop.

make: stopped in /home/inu
$

119:名無しさん@お腹いっぱい。
07/12/07 04:36:58
並列度はどれぐらいが妥当?
コマンドラインで -j12 にしても、子プロセスのmakeまではいじれんよな。

120:名無しさん@お腹いっぱい。
08/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 $@

複数ルールに同一コマンドを割り当てる方法がワカリマセン。
そんなものは無い?


121:名無しさん@お腹いっぱい。
08/09/19 14:01:25
Makeって使いにくくないですか?
代わりの何かを教えてください。


122:名無しさん@お腹いっぱい。
08/09/19 16:32:49
ant?

123:名無しさん@お腹いっぱい。
08/09/19 16:34:09
rake rant scons jam

124:名無しさん@お腹いっぱい。
08/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)




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

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



126:名無しさん@お腹いっぱい。
08/10/15 22:57:03
バカな私のために
make vmlinuz
make zImage
make bzImage
の3つの違いを教えてください。お願いします。


127:名無しさん@お腹いっぱい。
08/10/15 22:58:01
間違えました

128:名無しさん@お腹いっぱい。
08/10/16 00:15:32
kachi nko

*** kachi: don't know how to kachi nko Stop

129:名無しさん@お腹いっぱい。
08/11/04 08:46:25
CFLAGSでどうですか

130:名無しさん@お腹いっぱい。
08/11/07 09:45:00
make

131:名無しさん@お腹いっぱい。
08/12/27 23:06:51
むかしうにまがに、cakeとかふざけた名前のmakeがあったとさ。
make は、1990年代にすでにお爺さん扱いである。

132:名無しさん@お腹いっぱい。
09/01/04 11:02:24
最初に楽しくいじるのがこれだしな

133:名無しさん@お腹いっぱい。
09/03/08 16:37:52
Sconsってどう?

134:名無しさん@お腹いっぱい。
09/03/08 17:48:40
最高

135:名無しさん@お腹いっぱい。
09/03/12 20:58:52
jam って動かなくて困った。
ocaml嫌い。


136:名無しさん@お腹いっぱい。
09/03/27 19:47:41
最近はOmakeばかり使ってるよ。もう普通のmakeには戻れない。

137:名無しさん@お腹いっぱい。
09/03/31 00:13:43
変更するとリビルドって鬱陶しくない?

138:名無しさん@お腹いっぱい。
09/10/25 22:15:54
zshで書かれたmakeってない?


139:名無しさん@お腹いっぱい。
09/10/26 02:38:17
kachi

140:名無しさん@お腹いっぱい。
10/11/19 17:47:05
Makefileのtestの書き方の例が検索しても出てこない

141:名無しさん@お腹いっぱい。
11/01/18 18:47:12
>>125
make hoge CFLAGS='-hoge -boke'
とか打てばできるよ。

142:名無しさん@お腹いっぱい。
11/01/18 18:50:21
>>141
プラプラのソースだから、
make hoge CXXFLAGS='-hoge -boke'
だろ。
というか何年越しの回答だよw

143:名無しさん@お腹いっぱい。
11/01/18 19:35:24
UNIX板ではよくあること

144:名無しさん@お腹いっぱい。
11/01/24 21:23:56
>>142
できました。ありがとう

145:名無しさん@お腹いっぱい。
11/04/05 16:50:24.01
Makefileのコマンド宣言部にスペースでインデントするとソースコードが消える

146:名無しさん@お腹いっぱい。
11/05/23 11:26:13.85
makeの中にヒアドキュメントって書けますか?

147:名無しさん@お腹いっぱい。
11/08/19 17:08:54.17
無ければ作る
という依存関係は どうやって書けばいい?

148:名無しさん@お腹いっぱい。
11/08/19 17:49:42.12
適切な回答を得るという事は、適切な質問を行う能力に依存する。

149:名無しさん@お腹いっぱい。
11/08/19 20:39:01.03
基本的な知識がないと、応用が利かない。
教科書を読んで習得するのではなくて、
答えを探し出す能力を養うことである。

150:名無しさん@お腹いっぱい。
11/08/19 20:53:03.06
すみませんが詳しい方のみ回答をお願いします

151:名無しさん@お腹いっぱい。
11/08/19 20:55:14.18
まあ make はちょっと不毛なとこあるからなあ

152:名無しさん@お腹いっぱい。
11/08/20 00:23:44.43
>>147
? makeって殆どが「無かったら作る」依存関係でないか? 
オブジェクトがなかったらソースをコンパイルして作る。
実行ファイルが無かったらオブジェクトをリンクして作る。

153:名無しさん@お腹いっぱい。
11/12/05 17:56:22.36
ターゲット内で変数の引き継ぎができなくて困っています。

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

変数内の値を使いたいとき、1行で書くしかないのでしょうか?
FOO=1; echo $(FOO)ならうまくいくのですが...

154:名無しさん@お腹いっぱい。
11/12/14 22:33:10.45
hoge:
@FOO=1; \
echo $(FOO)

155:名無しさん@お腹いっぱい。
12/03/09 00:47:54.33
マクロにカレントディレクトリ以下にある、特定の拡張子を持ったものすべて追加することはできませんか?
例えば、カレントディレクトリ以下の.pl拡張子を持つファイルのどれか一つでも修正されていたらコマンドを実行したい場合、どのように書けばいいでしょうか?

FILES = *.pl */*.pl */*/*.pl
TARGET: $(FILES)
hoge $(FILES)

のように現在書いているのですが、ディレクトリの深さが変わった場合などに変更が必要なため、スマートな方法がないかと思っています

156:名無しさん@お腹いっぱい。
12/03/09 01:27:15.53
$(shell ) で find でも呼んでみるとか

157:名無しさん@お腹いっぱい。
12/03/09 03:50:50.02
Makefile を外部ツールで作っちゃうなあ


158:名無しさん@お腹いっぱい。
12/03/13 05:19:00.92
CMake ってなんだこれ、すげえなぁ


最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch