1read 100read
2013年07月UNIX91: make (176) TOP カテ一覧 スレ一覧 2ch元 削除依頼
田中康夫のThinkPadを強奪してFreeBSDを入れる会 (188)
Wanderlust その7 (136)
おまえらちょっとマイコン詳しいくらいで (117)
coreだけどなにか質問ある? (128)
UNIXガーディアンズ (103)
LaTexの文書をpdfファイルに変換する (147)

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を学ぶには何を使ったらいいの?★★ (106)
【タブーに挑戦】 UNIX でなければならない理由 (139)
ちかごろのHP (119)
俺様がUNIXを教えてあげるスレッド (155)
UNIX@仮想化技術 (125)
ちかごろのHP (119)
--log9.info------------------
【20代以上】とびだせ どうぶつの森【まったり】 (189)
【やきゅつくDS】プロ野球チームをつくろう!2 15回 (924)
【PSVITA】ULTIMATE MARVEL VS.CAPCOM3★part2 (835)
【3DS】フロッガー 3D (384)
不思議のダンジョン 風来のシレン3 ポータブル 6F (589)
今、グレイトバトルをやると・・・ (332)
【THE鑑識官】 トムキャット総合5【THE推理】 (583)
【3DS】とびだせ どうぶつの森 マイデザインスレ10 (171)
テトリスDS凸49スレ目田『テトリスDS2はよ』 (687)
【PSP】リトルウィッチパルフェ 黒猫魔法店物語 2 (101)
【3DS】G1グランプリ part12【競馬ゲーム】 (425)
【PSP】機動戦士ガンダム 新ギレンの野望40 (319)
【パワードサイレンス】R-TYPE TACTICS 総合40【REAW-1】 (107)
【3DS】リズム怪盗R 皇帝ナポレオンの遺産8【SEGA】 (759)
【PSV】アンチャーテッド 地図なき冒険の始まり 6 (115)
【PSVITA】DEAD OR ALIVE 5 plus +4【DOA5+】 (216)
--log55.com------------------
やっぱりポケモンホームの料金高くね?
乗ってる車書いてけ
「不当に駄作評価されるゲーム」があるなら「不当に名作評価されるゲーム」もあるはず
FFはPS4世代でコマンド卒業したけど、ドラクエ、ポケモン、ゼノブレはいつ卒業すると思う?
今日はPS『ベイグラントストーリー』の発売20周年!
【映画】『パラサイト 半地下の家族』アカデミー賞受賞
【朗報】ポケモンHOME、メディア向け試遊会で大絶賛される
Nintendo Switch総合スレ★1311