1read 100read
2013年07月UNIX91: make (176) TOP カテ一覧 スレ一覧 2ch元 削除依頼
zlib大丈夫か (142)
ついにサーバ分野でもUnixがWindowsに敗北 (182)
cat (121)
Nginx (135)
テキストブラウザ Lynx (105)
どうしてあなたは寝ないのですか? (120)

make


1 :04/03/18 〜 最終レス :2013/04/20
UNIX の基本 make
GNU make, BSD make, imake, nmake, etc.

2 :
削除依頼しますた。

3 :
やっぱりコマンドひとつひとつにスレが必要だよな。
おれはsedとbcのスレが欲しいね。まじで。

4 :
ttp://www.oreilly.com/catalog/make2/inx.html

5 :
俺はcdのスレが欲しいね。

6 :
じゃぁ、俺はpwdね。

7 :
w のスレは外せないだろう。

8 :
gmake/pmakeは互換性なさ杉

9 :
おれはRについてのスレがほしいね。

10 :
[スレとは別にtestスレが必要だと思う。

11 :
>>3
http://pc.2ch.net/test/read.cgi/linux/1067815570/

12 :
GNU makeしか使ったこと無いけど、それぞれのmakeは何が異なるの?
教えてエロい人!

13 :
>>12
くだらない質問はここに書き込め!なんでもアリ31
http://pc.2ch.net/test/read.cgi/unix/1076169271/

14 :
なんでmakeのスレがあるのに、くだ質に行く必要があるんだよ?

15 :
make のスレは必要ないから。

16 :
イッテヨシ>>1=12=14=15

17 :
つかね、プログラム板にあるんだよね。まけスレ

18 :
[ と test は板を分けるべき。

19 :
>>1
imakeはmakeじゃないだろ!
ちなみに俺はBSD makeボクメツ貴盆。

20 :
creatスレの方が重要だろ。

21 :
このスレの住人は人生の負け組ばかり

22 :
しかしpmakeはもう要らないだろうという気もする

23 :
そういや、pmake を要求するやつって、IIJ-PPP以外に知らないな。
これも、PPxPを使うようになって出番がないので、結局pmakeはディスクの肥やしか。

24 :
http://www.amazon.co.jp/exec/obidos/ASIN/4900900605/link01-22
この本買えや

25 :
link01-22てのは何?

26 :
pmake って BSD make の事だよね?
ports コンパイルするのに必要なのでは

27 :
>>26
いいえ、違います。

28 :
>>26
今はgmakeでしょ。

29 :
pmakeと呼ばれているのははBSD makeのことです。*BSDでは何するにも必要。

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

31 :
>>28
かなり違いますが……。
必要な場合にわざわざ GNU make 別途インストールしてますよ。

32 :
>>30
> *BSDの標準makeはそれぞれのOSでめいめいに改良・機能追加してるから
まあそうなんだけど
> *BSDの
> 標準makeをpmakeとひとくくりにしちゃうのはどうも違和感があるな。
OSからして*BSDもSysVもUNIXとひとくくりにされちゃうんですから、
諦めてください。

33 :
負けました

34 :
pmakeの機能の中に、gmakeの-p(デフォルトルールを表示する)のオプション機能
のようなものはないのでしょうか?

35 :
これからは ant だろ

36 :
% touch clean all install

37 :
antのどこがいいのか分からん。

38 :
>>34
デフォルトルールはgmakeのようなハードコーディングじゃなくてファイルに書いてあるから。
FreeBSDだと/usr/share/mk/sys.mk。

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

40 :
おまいら全員 make 組み!!

41 :
make drama

42 :
とりあえず、みんなが自分で書いたMakefileあげてみてくんない?


43 :
素人の質問させてください。
GUN makeと bmake。
makeを規格統一できんの?

44 :
>>42
ARCH = `machine`
all:
@ echo $(ARCH)

45 :
> cat ~/Makefile
all:
@rm -fr .??* *
@echo make all done.
clean:
@rm -fr .??*~ *~ .??*.bak *.bak
@echo make clean OK.
love:
@echo make: Not war?

46 :
smakeは?

47 :
make nullpo

48 :
Makefile内で
PATH追加したいんだがどうすりゃいいの?
PATH=/hoge/:$(PATH)
じゃ駄目だし
GNU makeです。

49 :
ENV=env PATH=/hoge/:$(PATH)
SHELL:=$(ENV) $(SHELL)
動作確認なし。

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

51 :
jam使えよ時代遅れやろうども。

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

53 :

-include ${IPATH}/make.inc
じゃダメなのかね?

54 :
>>53
それだとIPATHを毎回書かないといけないので。
パスの定義をしたファイルをスクリプトで生成しているので、makefileを
includeするサーチパスも一緒に生成して、設定できたらいいと考えてます。

55 :
とりあえず、「vpathみたいに」ってのは無い。
「パスの定義をしたファイル」を makefile の文法に変換して、
そいつを include すればいいんじゃないの?
makefile の文法に変換っていうのは
>53 の IPATH みたいな変数の代入文でもいいし、
直接 include を書いてしまってもいいかもしれない。

56 :
>>54
サンクス。
自動生成するスクリプトとIPATHを使うしかないみたいですね。
-Iと同じ動作をする変数、実装されないかなぁ。

57 :
> -Iと同じ動作をする変数、実装されないかなぁ。
まったく必要性が感じられないから、実装されないだろうな。

58 :
>56
発想を変えて Makefile 自体をスクリプトで生成すれば?

59 :
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 :
>>59
makeスレにどうぞ

61 :
すまそ。makeスレだったか。
>>59
何をtouchしたの?

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

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

64 :
そうじゃなくて、.o → .c の依存規則が書いてないせいだよ。
make を一から勉強しる。

65 :
>>59
本とか読んで下さい。

66 :
お返事ありがとうございました。

67 :
Makefile見るとよくオプションが-O2になってるけど
なんで-O3じゃないの?
-O2と-O3の違い、というか使い分け方ってあるの?

68 :
           ∩_
           〈〈〈 ヽ
          〈⊃  }
   ∩___∩  |   |
   | ノ      ヽ !   !
  /  ●   ● |  /
  |    ( _●_)  ミ/ <こいつ最高にアホ
 彡、   |∪|  /
/ __  ヽノ /
(___)   /

69 :
>>67 オゾンと酸素の問題だ。気にするな

70 :
>>69
OKボス

71 :
make dog 負け犬(かなり無理矢理)

72 :
GNU make 以外の make に読み込まれたときに,エラーをだして終了する方法は
ありますか?

73 :
ヒント:include

74 :
GNUMakefileってファイル名にするのが早いと思う。

75 :
GNUmakefileのほうが一般的かと

76 :
うまくいきました.ありがとうございました.

77 :
くだ質スレから誘導されてきました。
GNU makeでmakefileをincludeする際include pathの
設定ってできるのでしょうか?
必ず(相対|絶対)パス指定する必要があるんでしょうか?

78 :
>>77 コマンドラインオプションでなら、設定できたと思う。

79 :
書き込む前にざっとスレを眺めて既出かどうか
確認したほうがよろしいかと…

80 :
UNIXは良くわからないのですが...
Cygwin環境でGNU make中に
objdump -S infile > outfile
と書いて実行するとエラーで終了してしまいます。
直接コマンド入力で実行すると">outfile"で無事ファイルに落としてくれます。
objdumpの出力先を”> outfile”や"1>&outfile"にしても
dump:=$(shell objdump -S infile > outfile ) とかやってみたのですがダメでした。
何かmake中での特別な指定方法でもあるのでしょうか。

81 :
FreeBSDでやってみたがエラーにはならないな。
もちろんinfileが存在しない状態だとエラーになるけど。


82 :
>>81
確認して頂いてすいませんでした
環境に依存するのかなぁ

83 :
>>80
エラーの内容を書かないつーのはじいさんの遺言かなんかか?

84 :
おじいさんの葬式にも行かなかったアホ孫なんだろう。

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

86 :
>>85
Info をよく読むといいよ

87 :
下記サイトのオブジェクトファイルの生成場所を変える方法やVPATH、vpath記述子あたりを読んでみたんですが
うまくmakefileに実装できません・・・
http://meraman.dip.jp/wiki.cgi?page=GnuMakeMaster
サフィックスルールを使ってソースファイルとオブジェクトファイルをmakefile配下の別ディレクトリに振り分けるのは無理なんでしょうか?
うまくやれる方法あったらお願いしますm(_ _)m

88 :
>>87 パターンルールつかうといいよ。

89 :
$su
password:*******
#make mank?
..................done.
#ls
mank?

90 :
manko?

91 :
alias kati make
これで俺も勝ち組み

92 :
>>91
それだと、どのみち
本質的に負けてるんじゃないの?w

93 :
Makefile中であるファイルの絶対パスを得たいのですが、何かコマンドはないでしょうか。

94 :
あげわすれました
あ、
`pwd`/hoge
でいけますね。
失礼しました。

95 :
すみません。
その後、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 :
shell使えばよかったんですね・・・。
お恥ずかしい限りです
TARGET_PATH = $(shell pwd)/$(TARGET)
WIN_TARGET_PATH = $(shell cygpath -w $(TARGET_PATH))
でいけました

97 :
Gnu Make 3版をよんだ。
六章の再帰的makeと非再帰的makeについては、
再帰的makeの方を使ったほうが自然だと思うのだが、みなさんは通常どちらを使ってますか?

98 :
>>97
Recursive Make Considered Harmful
http://aegis.sourceforge.net/auug97.pdf

99 :
make で tex の処理するとき
Label の付け直しで再処理が必要な場合は
自動的にもう一回実行してくれるようにするには
どうしたらいい?

100read 1read
1read 100read
TOP カテ一覧 スレ一覧 2ch元 削除依頼
オレもunix始めようかなと思った奴 (133)
1がUNIXユーザーに全力で質問するスレ (124)
UNIXプログラマの為のWindows入門 (113)
BSDとWinは仲良しなわけですが (107)
wwwoffle (134)
[ (124)
--log9.info------------------
マー関トップの明治に粘着する、痛々しい同志社 (317)
私B★同志社大学VS横浜国立大学★国B (673)
第3回ベネッセ・駿台マーク模試 合格可能性偏差値 (206)
私立医学部が、ここ20年で超難化したのは何故? (220)
   明治ってマーチ3位なのかよw    (646)
筑波大学vs横浜国立大学 (658)
同志社だが最近明治に引き離されて悔しいです。 (129)
国立文系は糞!!!! (152)
最近なぜか韓国を慶應の罵りに使ってる奴が多いけど (114)
高学歴と自慢できる高校【全国の国公私立】 (322)
明治のライバルは同志社ではなく立命館! (124)
ついに明治法に並ばれた中央法 (383)
明治は一般的に言われる「MARCH」ではないよ。 (204)
明治大学VS早稲田大学★2 (409)
京大医-人間健康の難易度ってどんなもん? (111)
関西学院大学VS兵庫県立大学 (150)
--log55.com------------------
三浦春馬「どの業界でも、叩くだけ叩き、本人達の気力を奪っていく。憤りだけじゃなく、立ち直る言葉を国民全員で紡ぎ出せないのか」★12
【ラグビー】リーチ・マイケルが衝撃告白!「大学4年生まで童貞でした」
【サッカー】<J3秋田新スタジアム構想>八橋公園施設の県代替地案、秋田市「いずれも不適」
【野球】ソフトバンク移籍のバレンティンが入団会見 移籍決断の理由は「強いチーム。それが決め手」一問一答
【サッカー】ポルトガルリーグ第18節 中島ベンチ外 ポルトは逆転勝ちで2連勝 12試合0得点
【芸能】宮迫、謝罪動画30日までにユーチューブで配信へ 既に撮影済み、涙浮かべる場面も★3
【反日】テレ朝がモーニングショー玉川徹氏の発言で謝罪 大阪・箕面市長から抗議文「軽率な報道姿勢は断じて容認できない」★3
【テレビ】東京MX番組担当者が自殺か 賞品ランボルギーニ未譲渡 「ご迷惑をおかけしました」メモ