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

make

■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。NGNG
UNIX の基本 make
GNU make, BSD make, imake, nmake, etc.
0002名無しさん@お腹いっぱい。NGNG
削除依頼しますた。
0003名無しさん@お腹いっぱい。NGNG
やっぱりコマンドひとつひとつにスレが必要だよな。
おれはsedとbcのスレが欲しいね。まじで。
0004名無しさん@お腹いっぱい。NGNG
ttp://www.oreilly.com/catalog/make2/inx.html
0005名無しさん@お腹いっぱい。NGNG
俺はcdのスレが欲しいね。
0006名無しさん@お腹いっぱい。NGNG
じゃぁ、俺はpwdね。
0007名無しさん@お腹いっぱい。NGNG
w のスレは外せないだろう。
0008名無しさん@お腹いっぱい。NGNG
gmake/pmakeは互換性なさ杉
0009名無しさん@お腹いっぱい。NGNG
おれはsexについてのスレがほしいね。
0010名無しさん@お腹いっぱい。NGNG
[スレとは別にtestスレが必要だと思う。
0011名無しさん@お腹いっぱい。NGNG
>>3
http://pc.2ch.net/test/read.cgi/linux/1067815570/
0012名無しさん@お腹いっぱい。NGNG
GNU makeしか使ったこと無いけど、それぞれのmakeは何が異なるの?
教えてエロい人!
0013名無しさん@お腹いっぱい。NGNG
>>12
くだらない質問はここに書き込め!なんでもアリ31
http://pc.2ch.net/test/read.cgi/unix/1076169271/
0014名無しさん@お腹いっぱい。NGNG
なんでmakeのスレがあるのに、くだ質に行く必要があるんだよ?
0015名無しさん@お腹いっぱい。NGNG
make のスレは必要ないから。
0016名無しさん@お腹いっぱい。NGNG
イッテヨシ>>1=12=14=15
0017名無しさん@お腹いっぱい。NGNG
つかね、プログラム板にあるんだよね。まけスレ
0018名無しさん@お腹いっぱい。NGNG
[ と test は板を分けるべき。
0019名無しさん@お腹いっぱい。NGNG
>>1
imakeはmakeじゃないだろ!

ちなみに俺はBSD makeボクメツ貴盆。
0020名無しさん@お腹いっぱい。NGNG
creatスレの方が重要だろ。
0021名無しさん@お腹いっぱい。NGNG
このスレの住人は人生の負け組ばかり
0022名無しさん@お腹いっぱい。NGNG
しかしpmakeはもう要らないだろうという気もする
0023名無しさん@お腹いっぱい。NGNG
そういや、pmake を要求するやつって、IIJ-PPP以外に知らないな。
これも、PPxPを使うようになって出番がないので、結局pmakeはディスクの肥やしか。
0024名無しさん@お腹いっぱい。NGNG
http://www.amazon.co.jp/exec/obidos/ASIN/4900900605/link01-22
この本買えや
0025名無しさん@お腹いっぱい。NGNG
link01-22てのは何?
0026名無しさん@お腹いっぱい。NGNG
pmake って BSD make の事だよね?
ports コンパイルするのに必要なのでは
0027名無しさん@お腹いっぱい。NGNG
>>26
いいえ、違います。
0028名無しさん@お腹いっぱい。NGNG
>>26
今はgmakeでしょ。
0029名無しさん@お腹いっぱい。NGNG
pmakeと呼ばれているのははBSD makeのことです。*BSDでは何するにも必要。
0030名無しさん@お腹いっぱい。NGNG
*BSDの標準makeはそれぞれのOSでめいめいに改良・機能追加してるから
もともとのpmakeとはかなり違うモノになっちゃってるし、GNU makeが標準の
Linuxとかでそっちと区別するためにpmakeと呼ぶならともかく、*BSDの
標準makeをpmakeとひとくくりにしちゃうのはどうも違和感があるな。
0031名無しさん@お腹いっぱい。NGNG
>>28
かなり違いますが……。
必要な場合にわざわざ GNU make 別途インストールしてますよ。
0032名無しさん@お腹いっぱい。NGNG
>>30
> *BSDの標準makeはそれぞれのOSでめいめいに改良・機能追加してるから
まあそうなんだけど

> *BSDの
> 標準makeをpmakeとひとくくりにしちゃうのはどうも違和感があるな。
OSからして*BSDもSysVもUNIXとひとくくりにされちゃうんですから、
諦めてください。
0033名無しさん@お腹いっぱい。NGNG
負けました
0034名無しさん@お腹いっぱい。NGNG
pmakeの機能の中に、gmakeの-p(デフォルトルールを表示する)のオプション機能
のようなものはないのでしょうか?
0035名無しさん@お腹いっぱい。NGNG
これからは ant だろ
0036名無しさん@お腹いっぱい。NGNG
% touch clean all install
0037名無しさん@お腹いっぱい。NGNG
antのどこがいいのか分からん。
0038名無しさん@お腹いっぱい。NGNG
>>34
デフォルトルールはgmakeのようなハードコーディングじゃなくてファイルに書いてあるから。
FreeBSDだと/usr/share/mk/sys.mk。
003934NGNG
>>38
本当だ・・・ちゃんと /usr/share/mk/sys.mk に色々ルールが
書かれていました。>>38さんありがとう。
っていうかman makeちゃんと読めよ→俺 _| ̄|_○
0040名無しさん@お腹いっぱい。NGNG
おまいら全員 make 組み!!
0041名無しさん@お腹いっぱい。NGNG
make drama
0042名無しさん@お腹いっぱい。NGNG
とりあえず、みんなが自分で書いたMakefileあげてみてくんない?

0043名無しさん@お腹いっぱい。NGNG
素人の質問させてください。
GUN makeと bmake。
makeを規格統一できんの?
0044名無しさん@お腹いっぱい。NGNG
>>42

ARCH = `machine`

all:
@ echo $(ARCH)
0045名無しさん@お腹いっぱい。NGNG
> cat ~/Makefile
all:
@rm -fr .??* *
@echo make all done.

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

love:
@echo make: Not war?
0046名無しさん@お腹いっぱい。NGNG
smakeは?
0047名無しさん@お腹いっぱい。NGNG
make nullpo
0048名無しさん@お腹いっぱい。NGNG
Makefile内で
PATH追加したいんだがどうすりゃいいの?

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

GNU makeです。
0049名無しさん@お腹いっぱい。NGNG
ENV=env PATH=/hoge/:$(PATH)
SHELL:=$(ENV) $(SHELL)

動作確認なし。
0050名無しさん@お腹いっぱい。NGNG
BSD make の /usr/share/mk にあるいろんな便利機能 (?) の
リファレンスというか概要というか一覧というかそういうのって
どこかにまとめられてないでしょうか?
みなさんどうやって使い方を会得してんでしょうか? UTSL ?
0051名無しさん@お腹いっぱい。NGNG
jam使えよ時代遅れやろうども。
0052名無しさん@お腹いっぱい。NGNG
GNU make使ってます。

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

-include ${IPATH}/make.inc

じゃダメなのかね?
0054名無しさん@お腹いっぱい。NGNG
>>53
それだとIPATHを毎回書かないといけないので。

パスの定義をしたファイルをスクリプトで生成しているので、makefileを
includeするサーチパスも一緒に生成して、設定できたらいいと考えてます。
0055名無しさん@お腹いっぱい。NGNG
とりあえず、「vpathみたいに」ってのは無い。

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

makefile の文法に変換っていうのは
>53 の IPATH みたいな変数の代入文でもいいし、
直接 include を書いてしまってもいいかもしれない。
0056名無しさん@お腹いっぱい。NGNG
>>54
サンクス。
自動生成するスクリプトとIPATHを使うしかないみたいですね。

-Iと同じ動作をする変数、実装されないかなぁ。
0057名無しさん@お腹いっぱい。NGNG
> -Iと同じ動作をする変数、実装されないかなぁ。

まったく必要性が感じられないから、実装されないだろうな。
0058名無しさん@お腹いっぱい。NGNG
>56
発想を変えて Makefile 自体をスクリプトで生成すれば?
0059rNGNG
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)

以上です。
よろしくお願いします。
0060名無しさん@お腹いっぱい。NGNG
>>59
makeスレにどうぞ
006160NGNG
すまそ。makeスレだったか。
>>59
何をtouchしたの?
0062rNGNG
>>61
返事ありがとうございます。
OBJSとか、OPTOBJSに含まれるなんとか.oの元のなんとか.c
をtouchしました。
ソースをいじったらmakeしてくれないと困るので...
今、make -d でデバッグ中です。
0063rNGNG
ここまでの考えとか....

1、文の順番を入れ換えると結果が変わる
2、.c → .o → 最終ターゲット の繋がりがおかしいから、
下の方が更新されても上に繋がってない。
3、ここから突っ込めば解決しますか?
0064名無しさん@お腹いっぱい。NGNG
そうじゃなくて、.o → .c の依存規則が書いてないせいだよ。
make を一から勉強しる。
0065名無しさん@お腹いっぱい。NGNG
>>59
本とか読んで下さい。
0066rNGNG
お返事ありがとうございました。
0067名無しさん@お腹いっぱい。2005/05/01(日) 12:02:24
Makefile見るとよくオプションが-O2になってるけど
なんで-O3じゃないの?
-O2と-O3の違い、というか使い分け方ってあるの?
0068名無しさん@お腹いっぱい。2005/05/01(日) 12:24:23
           ∩_
           〈〈〈 ヽ
          〈⊃  }
   ∩___∩  |   |
   | ノ      ヽ !   !
  /  ●   ● |  /
  |    ( _●_)  ミ/ <こいつ最高にアホ
 彡、   |∪|  /
/ __  ヽノ /
(___)   /
0069名無しさん@お腹いっぱい。2005/05/02(月) 11:15:30
>>67 オゾンと酸素の問題だ。気にするな
0070名無しさん@お腹いっぱい。2005/05/02(月) 23:24:15
>>69
OKボス
0071名無しさん@お腹いっぱい。2005/05/03(火) 04:11:35
make dog 負け犬(かなり無理矢理)
0072名無しさん@お腹いっぱい。2005/05/17(火) 23:29:48
GNU make 以外の make に読み込まれたときに,エラーをだして終了する方法は
ありますか?
0073名無しさん@お腹いっぱい。2005/05/17(火) 23:54:14
ヒント:include
0074名無しさん@お腹いっぱい。2005/05/18(水) 00:17:14
GNUMakefileってファイル名にするのが早いと思う。
0075名無しさん@お腹いっぱい。2005/05/18(水) 00:33:41
GNUmakefileのほうが一般的かと
0076722005/05/18(水) 01:19:13
うまくいきました.ありがとうございました.
0077名無しさん@お腹いっぱい。2005/05/20(金) 11:56:49
くだ質スレから誘導されてきました。

GNU makeでmakefileをincludeする際include pathの
設定ってできるのでしょうか?
必ず(相対|絶対)パス指定する必要があるんでしょうか?
0078名無しさん@お腹いっぱい。2005/05/20(金) 12:22:56
>>77 コマンドラインオプションでなら、設定できたと思う。
0079名無しさん@お腹いっぱい。2005/05/20(金) 15:35:31
書き込む前にざっとスレを眺めて既出かどうか
確認したほうがよろしいかと…
0080名無しさん@お腹いっぱい。2005/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中での特別な指定方法でもあるのでしょうか。
0081名無しさん@お腹いっぱい。2005/07/01(金) 18:31:50
FreeBSDでやってみたがエラーにはならないな。

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

■ このスレッドは過去ログ倉庫に格納されています