[表示 : 全て 最新50 1-99 101- 201- 2ch.scのread.cgiへ]
Update time : 11/17 19:28 / Filesize : 50 KB / Number-of Response : 222
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

make



1 名前:名無しさん@お腹いっぱい。 [04/03/18 00:55.net]
UNIX の基本 make
GNU make, BSD make, imake, nmake, etc.

97 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/02(月) 22:45:11 .net]
Gnu Make 3版をよんだ。

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

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

98 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/01/13(金) 00:16:45 .net]
>>97
Recursive Make Considered Harmful
aegis.sourceforge.net/auug97.pdf

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


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

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


102 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/06/17(土) 05:28:40 .net]
SHELL = /bin/sh

all:
  @echo "type `make install'"

install:
  rm - rf /


103 名前:名無しさん@お腹いっぱい。 [2006/11/07(火) 05:43:54 .net]
????

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

105 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/24(金) 17:42:41 .net]
つかえるお



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

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

108 名前:名無しさん@お腹いっぱい。 [2006/11/25(土) 03:37:11 .net]
make[1]: Entering directory
make[1]: Leaving directory

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

109 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/25(土) 17:25:33 .net]
>>108
残念ながら cd コマンドでは出ない。 make -C を使うと出るよ。

110 名前:名無しさん@お腹いっぱい。 mailto:sage [2006/11/25(土) 20:37:04 .net]
サブディレクトリに継承する書き方できなかったけ?

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

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

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

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


112 名前:111 [2007/05/13(日) 16:10:52 .net]
ごめんなさい。あげちゃいました。
僕に気づいて!

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

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

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


115 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/17(日) 10:43:25 .net]
>>114 マルチ
pc11.2ch.net/test/read.cgi/unix/1079538957/114
pc11.2ch.net/test/read.cgi/unix/1127388574/124
pc11.2ch.net/test/read.cgi/unix/1176049968/378



116 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/18(月) 11:53:19 .net]
プログラミング質問すれ Part1
pc11.2ch.net/test/read.cgi/unix/1127388574/
から来た。

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


117 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/18(月) 23:53:35 .net]
まけ・・・組み?w

118 名前:名無しさん@お腹いっぱい。 mailto:sage [2007/06/19(火) 22:36:30 .net]
$ make inu
make: INU Is Not Unix. Stop.

make: stopped in /home/inu
$

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

120 名前:名無しさん@お腹いっぱい。 [2008/07/10(木) 17:28:11 .net]
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 名前:名無しさん@お腹いっぱい。 [2008/09/19(金) 14:01:25 .net]
Makeって使いにくくないですか?
代わりの何かを教えてください。


122 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/19(金) 16:32:49 .net]
ant?

123 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/19(金) 16:34:09 .net]
rake rant scons jam

124 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/21(日) 08:59:05 .net]
>>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 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/09/25(木) 22:54:34 .net]
hoge.Cをコンパイルしたいときに
makefile作らなくても、make hoge って打てば
かってにg++ -o hoge hoge.C とかって解釈して実行してくれますよね?

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





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


127 名前:名無しさん@お腹いっぱい。 [2008/10/15(水) 22:58:01 .net]
間違えました

128 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/10/16(木) 00:15:32 .net]
kachi nko

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

129 名前:名無しさん@お腹いっぱい。 mailto:sage [2008/11/04(火) 08:46:25 .net]
CFLAGSでどうですか

130 名前:名無しさん@お腹いっぱい。 [2008/11/07(金) 09:45:00 .net]
make

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

132 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/01/04(日) 11:02:24 .net]
最初に楽しくいじるのがこれだしな

133 名前:名無しさん@お腹いっぱい。 [2009/03/08(日) 16:37:52 .net]
Sconsってどう?

134 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/08(日) 17:48:40 .net]
最高

135 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/12(木) 20:58:52 .net]
jam って動かなくて困った。
ocaml嫌い。




136 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/27(金) 19:47:41 .net]
最近はOmakeばかり使ってるよ。もう普通のmakeには戻れない。

137 名前:名無しさん@お腹いっぱい。 mailto:sage [2009/03/31(火) 00:13:43 .net]
変更するとリビルドって鬱陶しくない?

138 名前:名無しさん@お腹いっぱい。 [2009/10/25(日) 22:15:54 .net]
zshで書かれたmakeってない?


139 名前:名無しさん@お腹いっぱい。 [2009/10/26(月) 02:38:17 .net]
kachi

140 名前:名無しさん@お腹いっぱい。 mailto:sage [2010/11/19(金) 17:47:05 .net]
Makefileのtestの書き方の例が検索しても出てこない

141 名前:名無しさん@お腹いっぱい。 [2011/01/18(火) 18:47:12 .net]
>>125
make hoge CFLAGS='-hoge -boke'
とか打てばできるよ。

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

143 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/01/18(火) 19:35:24 .net]
UNIX板ではよくあること

144 名前:名無しさん@お腹いっぱい。 [2011/01/24(月) 21:23:56 .net]
>>142
できました。ありがとう

145 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/04/05(火) 16:50:24.01 .net]
Makefileのコマンド宣言部にスペースでインデントするとソースコードが消える



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

147 名前:名無しさん@お腹いっぱい。 mailto:sega [2011/08/19(金) 17:08:54.17 .net]
無ければ作る
という依存関係は どうやって書けばいい?

148 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/19(金) 17:49:42.12 .net]
適切な回答を得るという事は、適切な質問を行う能力に依存する。

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

150 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/19(金) 20:53:03.06 .net]
すみませんが詳しい方のみ回答をお願いします

151 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/08/19(金) 20:55:14.18 .net]
まあ make はちょっと不毛なとこあるからなあ

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

153 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/05(月) 17:56:22.36 .net]
ターゲット内で変数の引き継ぎができなくて困っています。

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

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

154 名前:名無しさん@お腹いっぱい。 mailto:sage [2011/12/14(水) 22:33:10.45 .net]
hoge:
@FOO=1; \
echo $(FOO)

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

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

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



156 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/09(金) 01:27:15.53 .net]
$(shell ) で find でも呼んでみるとか

157 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/09(金) 03:50:50.02 .net]
Makefile を外部ツールで作っちゃうなあ


158 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/03/13(火) 05:19:00.92 .net]
CMake ってなんだこれ、すげえなぁ

159 名前:名無しさん@お腹いっぱい。 [2012/06/18(月) 15:45:27.74 .net]
makeのコマンドブロックの中でsedのaコマンドどうかけば良い?
-fでファイルに書いたの使ってるけど、もっとかっちょいいの教えて。

160 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/06/19(火) 11:37:05.93 .net]
自己解決しました。newlineに展開されるビルトインマクロを使用。

161 名前:名無しさん@お腹いっぱい。 [2012/06/24(日) 16:56:32.30 .net]
makeの勉強をしているのですが、
*.html.txtというファイルをあるコマンドに渡して.htmlとして出力したいのですがうまくできません。

.SUFFIXES: .txt .html
.txt.html:
echo $< > $@

TEXTFILE = $(wildcard *.txt)
HTMLFILE = $(SHPAMLFILE:.txt=.html)

all: $(HTMLFILE)

とすると、hoge.html.htmlとなってしまいます。
HTMLFILE = $(SHPAMLFILE:.html.txt=.html)
とすると、"ターゲットが見つかりません"となります。ドットが2つあるとできないのでしょうか?

162 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/06/25(月) 01:28:04.11 .net]
2行目のサフィックスルールが .txt.html になってるので、*.txt から *.html の生成ルールになってる。
そのルールではhoge.html.txt からは hoge.html.htmlしか作れないのでは。

2行目を
%.html: %.html.txt
にしてみたらどうだろうか。

163 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/07/16(月) 15:53:24.42 .net]
build/foo.a: build build/foo.o
ar rcs $@ build/foo.o
build:
mkdir -p build
build/foo.o: build
touch build/foo.o
というMakefileなのですが、arを実行するとbuildディレクトリのタイムスタンプが更新されてしまうため、
makeを実行すると常にfoo.oやfoo.aが作成されてしまいます。
buildディレクトリが更新されないようにするにはどうすればいいのでしょうか。

164 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/07/17(火) 23:14:09.47 .net]
build/foo.a: build/foo.o
ar rcs $@ build/foo.o
build/foo.o:
[ -d build ] || mkdir build
touch build/foo.o


165 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/07/18(水) 00:44:42.87 .net]
buildのタイムスタンプが更新しないようにするというよりも、buildのタイムスタンプに依存しないようにするほうがいいんじゃないかな

www.gnu.org/software/make/manual/html_node/Prerequisite-Types.html
によると下から2行目を
build/foo.o: | build
でできそう



166 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/07/21(土) 14:05:12.64 .net]
ありがとうございました。|を使うことで解決しました。

167 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/08/16(木) 04:15:16.18 .net]
今年は大垣でmakeするの?

168 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/29(月) 21:57:03.15 .net]
Makefileの中に使われる
:= はどういった意味でしょうか
+=は変数に右辺を追加する意味かと思うんだけど


169 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/30(火) 19:35:28.31 .net]
>>168
man make

とレスしようと思ったが、環境によって書かれていないこともあるみたいなので、
勝手に FreeBSD の make の場合に限定させてもらうけど、以下 URL の変数代入の項目に記載がある。
www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=make&dir=jpman-9.0.2%2Fman§=0

GNU make の場合は、info make に記載があるっぽい。
quruli.ivory.ne.jp/document/make_3.79.1/make-jp_5.html#Setting
quruli.ivory.ne.jp/document/make_3.79.1/make-jp_5.html#Flavors


170 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/10/30(火) 21:35:09.63 .net]
レス書いたけど、マルチだったのでやめた。

171 名前:名無しさん@お腹いっぱい。 [2012/11/19(月) 16:40:52.08 .net]
Makefileで処理を自動化できないかと思い、makeについて勉強しております。
以下のことを行いたいのですが、色々と検索して調べているのですが実現できずにいます。もしよろしければ、サンプルを書いていただけないでしょうか?

行いたいことは、
make testと言うコマンドでテストを一括で行いたいと考えております。
テストは単純で、テストファイルを用意しているので、"perl test.pl"になります。
make testはファイルの更新に依存せずに実行させる。

まず、Makefileのディレクトリ配下の"test.pl"を検索してtest.plの一覧を受け取る方法がわからずに悩んでおります。
また、そのリストを順番に、実行しているファイル名を出力しつつ回したいと思っているのですが、その方法がわかりません。

今は下のように考えたのですが、間違っているようで思ったとおりに動きません。

TEST_FILES = `find ./ -name "test.pl"`

all:
echo all

.PHONY: test
test:
$(foreach filename, $(TEST_FILES), $( echo $(filename)))

172 名前:名無しさん@お腹いっぱい。 mailto:sage [2012/11/19(月) 19:01:43.87 .net]
GNU makeは人間が書くためのツールじゃないと思う。

test:
find . -name test.pl -exec sh -cx "perl {}" \;

173 名前:名無しさん@お腹いっぱい。 [2013/02/08(金) 14:12:54.85 .net]
make の ワイルドカード( * ) の使い道について教えていただけませんか。

パターンの、% を使えば同じことができるように思いますし、
そもそも、ワイルドカードは、すでにファイル(オブジェクト)として存在するものにしかマッチしないようなので、
ファイル(オブジェクト)を新規作成しないで、アップデートするためにしかルールを使いたくないという
特殊な場合でしか、意味がないような気がします。。

自分でも、自分の理解が変なような気がするのですが、
どなたか教えてください。
よろしくお願いします。

174 名前:名無しさん@お腹いっぱい。 [2013/04/20(土) 01:31:47.01 .net]
教えて下さい。
下記のように引数 10 を Makefile 内で、更に引数として渡してやりたいのですが
どの様にすればよいのでしょうか?

$ make hoge 10

にて

hoge:
  /PATH/TO/foo.sh 10

と渡るようにしたい。


Makefile 内にて

ARG = $(shell read -p "ARG = " arg; echo $(arg))

hoge:
  /PATH/TO/foo.sh $(ARG)

などしてみたのですが上手くできませんでした。

175 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/04/20(土) 05:46:30.94 .net]
無理。というかmakeの使い方間違ってる。



176 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/04/20(土) 07:33:37.61 .net]
>>175
ありがとうございます。
ご指摘がヒントになり、解決できました。
shell スクリプト内で read することで対応できました。

ARG=`read -p "ARG= " arg; echo $arg`

echo $ARG

↑こんな感じで。

177 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/08/01(木) NY:AN:NY.AN .net]
めでたしめでたし

178 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/08/01(木) NY:AN:NY.AN .net]
BSD makeとGNU make比較した時
クライアング運用ならBSD makeのが劣っている点はなんですか?

179 名前:名無しさん@お腹いっぱい。 [2013/10/05(土) 08:31:25.07 .net]
質問です。

Makefileに、

HOGE = -opta

と書かれていて、これは修正しないものとします。
make時に臨時に HOGEに -optb を追加したいのですが、

$ make HOGE+=-optb

を実行すると HOGE = -optbの状態で上書きされ、Makefileの-optaが消えてしまいます。
( += の指定は環境変数HOGEに追加するという意味にしかなりません。)

これを、Makefileの記述も生かしつつ、それに追加ということを
makeのコマンドラインで指定することはできませんか?

もちろん、Makefileの下の行に HOGE+=-optb と追記すればOKですが、
最初に書いたようにMakefileを修正しないということが条件です。

以上、わかる方回答をお願いします。

180 名前:名無しさん@お腹いっぱい。 [2013/10/05(土) 09:20:10.39 .net]
>>179
一時的でよいのであればそのように指定すればよいのではないでしょうか?
$ make HOGE="-opta -optb"

181 名前:名無しさん@お腹いっぱい。 [2013/10/05(土) 09:29:26.75 .net]
>>180
それじゃ解決になりません。

>>179 は例として書いただけで、
実際には HOGE = -opta の部分はもっと複雑で
例えば HOGE = $(FUGA) -Oopt $(BOKE)
みたいに他の変数も参照したりしていて、何に展開されるか自明じゃないです。

そういうのに関係なく、最後に -optb の追加だけやりたいというのを
コマンドラインの make HOGE=... のような書き方で簡単にやりたいという質問です。

では、わかる方(他の方)回答をお願いします。


182 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/10/05(土) 11:14:39.83 .net]
>>181
他の方でなくて申し訳ないのですが、、、
もしHOGEが一度定義された後、変わらないのであればMakefileを一時的に以下のように変更して、
中身を取り出してはどうでしょうか。

HOGE = $(FUGA) -Oopt $(BOKE)
echo $(HOGE)
exit

そこで出てきたHOGEをmake HOGE=で指定する方法はどうでしょう。

ちなみに>>179でOKだとされたことが
echo "HOGE+=-optb" >> Makefile; make
であれば、最後にHOGEの内容を変えたあと、HOGEは参照されることはないと思われます。

183 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/10/05(土) 11:24:15.53 .net]
>>182
すみませんが、全然解決になってません。
Makefileの変更は不可です。

あと、>>182の下3行は182さんの間違いです。

Makefileでは、変数の展開だけ先にやって、
その後でルールを実行するので、
Makefileの最終行に変数代入追加を行なっても
それより上の行に書いてあるコマンドでちゃんと参照されます。

すみませんが、そのようなことは理解ずみの方のみ回答をお願いします。

ではどうぞ


184 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/10/05(土) 11:52:38.36 .net]
>>183
勉強になります。

そうであれば、
$ make -p | grep HOGE
で出てきた、値に何か追加して
$ make HOGE="..."
でどうでしょう。

185 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/10/05(土) 12:05:26.20 .net]
いや、だからそんなのじゃダメだって。



186 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/10/05(土) 23:46:35.99 .net]
っていうか、make の仕様をくつがえすようなことはできないよ。

187 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/10/06(日) 06:44:29.75 .net]
ソース書きなよ。

188 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/10/06(日) 06:55:22.69 .net]
>>179
(cat Makefile; echo HOGE+=-optb) | make -f -

189 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/10/06(日) 07:04:12.29 .net]
>>188
それでも、Makefileの中から $(MAKE) で自分を再帰呼出ししていたら
-f の指定が無意味になるのでNGだよ。残念。

190 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/10/06(日) 15:36:26.82 .net]
make を使うのが間違ってるんじゃ

191 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/10/07(月) 21:09:25.32 .net]
pmake専用
make HOGE="`make -V HOGE` -optb"

192 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/10/08(火) 07:33:24.10 .net]
CMake 凄すぎワロタwwwwwww
バカなドザの俺でも MinGW で sox を make 出来たwwwwwwww
このアイちゃんツールスゲェwwwwwwww

193 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/10/19(土) 11:50:38.99 .net]
make loveと入力しても
loveをmakeするルールがないと言われました
照れているのですか?

194 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/10/20(日) 21:18:36.55 .net]
GNU Make 4.0

Guile が組込まれただと?!

195 名前:名無しさん@お腹いっぱい。 mailto:sage [2013/10/20(日) 22:20:22.89 .net]
これで一層移植性が悪くなるのか。なんか逆の方向に必死で走ってる。



196 名前:名無しさん@お腹いっぱい。 [2013/11/23(土) 02:30:05.46 .net]
ぼく用メモ
必須項目をfindで列挙するとき-print0オプションをつけると仇となることがある

197 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/06/04(水) 00:53:10.80 .net]
Makefile で、
%.o : %.cpp
(rule)
と汎用的に書いておき、特定のソースコードはコンパイルオプションを変えてコンパイルしたい
場合、どう書けば良いですか? 上記に続けて
a.o : a.cpp
(rule)
と書いても無視されてしまう…
makefileを分割しないとダメなんですかね?

198 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/06/20(金) 22:21:58.32 .net]
順序を逆にすれば?

199 名前:名無しさん@お腹いっぱい。 [2014/10/19(日) 13:11:51.98 .net]
export PATH=/usr/new/bin:/usr/localbin:$PATH
としているのですが、
makeすると /usr/local/binにある方が使われてしまいます。
makeで使われるシェルにPATHを設定するためには、どこにその記述をすればよいのでしょうか。

自分でMakefileを作ったわけではなく
具体的には、gccのmake中のものなんですが。

200 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/10/19(日) 13:36:31.37 .net]
Makefileの中で再設定されてるんだろ。
gccだったらconfigureとか黒魔術がかかってるから、素人は手出しできない。

PATH=/usr/new/bin:/usr/local/bin:$PATH ./configure hoge
で、うまくいくかも。

201 名前:名無しさん@お腹いっぱい。 [2014/10/19(日) 14:09:36.84 .net]
Makefileの中でPATHかコマンドを変えてるんじゃない?
Configuerで変更できないの?

202 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/10/20(月) 13:12:31.29 .net]
>>199
MakefileでSHELL変数を設定すればいい
www.gnu.org/software/make/manual/make.html#Choosing-the-Shell

でもgccのビルドだとMakefileが複数あるんだっけ
自分なら、面倒そうたら一時的に/usr/local/bin/sh をリネームするかなあ

203 名前:名無しさん@お腹いっぱい。 mailto:sage [2014/10/20(月) 18:00:01.09 .net]
実際の問題はconfigureが/usr/new/binからコマンドを拾ってくれないという方だったりしませんか?
/usr/new/binにある方を使わせたいコマンドとは何でしょう?

204 名前:名無しさん@お腹いっぱい。 [2015/05/20(水) 16:26:17.72 .net]
+=の利点について教えてください。
HOGE+=123
は、
HOGE:=${HOGE} 123
とも記述できますよね?なら+=の必要性はあるのでしょうか?

205 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/05/20(水) 18:59:31.89 .net]
挿入ネタはいいです



206 名前:名無しさん@お腹いっぱい。 mailto:sage [2015/12/10(木) 01:01:57.05 .net]
ハゲ侍 サブコミュ イケメン スカイプ マリリンマンソン Twitter マリオ64 ゲーム実況者 マリオカート
ハゲ侍 ツイッター 星のカービィ64 マリオサンシャイン ニコニコ超会議 ポケモン フレコ MH4G アメブロ
ハゲ侍 アメーバブログ 仕事 Skype ツイキャス モンハン 歌い手 スプラトゥーン マニアック
ハゲ侍 動画 顔 ドリームクラブ 好き 刃牙 サイレントヒル ドラゴンボール イケボ
ハゲ侍 漫画 フレンドコード NG縛り ニコニコ生放送 歌ってみた 太刀 ニコニコ超パーティー コミュニティ
ハゲ侍 大学 アキネーター 配信 ニコ生 サブコミュ マリリンマンソン イケメン 学歴
ハゲ侍 マリオカート Twitter スカイプ マリオ64 ツイッター ゲーム実況者 星のカービィ64 ニコニコ超会議
ハゲ侍 ポケモン マリオサンシャイン フレコ MH4G アメーバブログ 仕事 Skype ツイキャス
ハゲ侍 モンハン 歌い手 マニアック 動画 アメブロ スプラトゥーン 刃牙 ドリームクラブ
ハゲ侍 好き サイレントヒル ドラゴンボール 漫画 顔 NG縛り フレンドコード ニコニコ生放送
kanae.2ch.net/test/read.cgi/pcqa/1421101110/51
kanae.2ch.net/test/read.cgi/pcqa/1415921104/55
kanae.2ch.net/test/read.cgi/pcqa/1436852775/17

207 名前:名無しさん@お腹いっぱい。 mailto:age [2016/01/09(土) 15:00:29.30 .net]
何年か使わないうちにすっかりボケてしまった
$(NAME) と ${NAME} って何が違うか分かる方教えてください。

208 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/09(土) 17:47:40.91 .net]
www.jp.freebsd.org/cgi/mroff.cgi?subdir=man&lc=1&cmd=&man=make&dir=jpman-11.0.2%2Fman&sect=0
変数は、中括弧 (`{}') または括弧 (`()') のいずれかで変数名で囲み、
ドル記号 (`$') を前に付けることによって展開されます。
変数名が単一の文字である場合のみ、中括弧または括弧を囲むことは、必要ではありません。
この短い形式は、推奨されません。


quruli.ivory.ne.jp/document/make_3.79.1/make-jp_5.html
変数の値を代用するには、括弧または中括弧のなかにドル記号に続いて変数名を書きます。
たとえば、‘$(foo)’や‘${foo}’は変数fooの正しい 参照例です。
また、‘$’の特別な点は、ファイル名やコマンドにおいて1個の ドル記号を表わす際は、
‘$$’と記述しなければならないことです。

209 名前:名無しさん@お腹いっぱい。 [2016/01/10(日) 20:03:53.20 .net]
(`・ω・´) Makefile で一時ファイル作るよ!

$ cat Makefile
TEMPFILENAME=$(shell tempfile)

all :
echo HELLO > $(TEMPFILENAME)
cat $(TEMPFILENAME)
$

(`・ω・´) これでいけるはず・・・とぉ!

$ make all
echo HELLO > /tmp/fileYaEkVA
cat /tmp/filehyaCJB
$

(´・ω・`)

210 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/13(水) 22:02:47.92 .net]
>>209
simply expanded variableにすりゃええ

TEMPFILENAME := $(shell tempfile)

211 名前:名無しさん@お腹いっぱい。 mailto:sage [2016/01/26(火) 19:33:16.40 .net]
>>210
ありがとう、僕の求めていた答えはまさにこれだ。
(`・ω・´)b

212 名前:名無しさん@お腹いっぱい。 [2016/03/25(金) 19:19:29.27 .net]
makefileの書き方が分からない。(1/2)
Windows7でmingwのgccを使っています。
win32apiを使っての開発の件でリソーススクリプ
トが有る場合と無い場合とではmakefileの中身が
違います。
リソーススクリプトが有る場合のmakefileは、下記です。
SRC=01.c
OBJS=$(SRC:.c=.o)
RC=02.rc
OBJS+=$(RC:.rc=.o)
PROG=01.exe
CC=gcc
MENU=windres
CFLAGS=-Wall -O3 -finput-charset=cp932 --exec-charset=cp932
LDFLAGS=-mwindows
RM=rm
%.o: %.c
$(CC) $(CFLAGS) -o $@ -c $<
%.o: %.rc
$(MENU) $(RC) $*.o
.PHONY : all
all: $(PROG)
$(PROG): $(OBJS)
$(CC) $(OBJS) $(LDFLAGS) -o $@
.PHONY : clean
clean:
$(RM) $(OBJS)

213 名前:名無しさん@お腹いっぱい。 [2016/03/25(金) 19:20:15.49 .net]
makefileの書き方が分からない。(2/2)

リソーススクリプトが無い場合のmakefileは、下
記です。
SRC=01.c
OBJS=$(SRC:.c=.o)
PROG=01.exe
CC=gcc
CFLAGS=-Wall -O3
#LDFLAGS=-mwindows
RM=rm
%.o: %.c
$(CC) $(CFLAGS) -o $@ -c $<
.PHONY : all
all: $(PROG)
$(PROG): $(OBJS)
$(CC) $(OBJS) $(LDFLAGS) -o $@
.PHONY : clean
clean:
$(RM) $(OBJS)

上記二つのmakefilleをif文を用いて一つの
makefileに統一をしたいのですが。if文の書き方
が分かりません。

済みません。makefileの提示をお願いします。
宜しく、お願いします。

214 名前:名無しさん@お腹いっぱい。 [2017/12/29(金) 10:16:11.43 .net]
誰でも簡単にパソコン1台で稼げる方法など
参考までに、
⇒ 『宮本のゴウリエセレレ』 というブログで見ることができるらしいです。

グーグル検索⇒『宮本のゴウリエセレレ』

J1PNYU9X0F

215 名前:名無しさん@お腹いっぱい。 [2018/05/22(火) 03:52:39.42 .net]
知り合いから教えてもらったパソコン一台でお金持ちになれるやり方
時間がある方はみてもいいかもしれません
グーグルで検索するといいかも『ネットで稼ぐ方法 モニアレフヌノ』

H2H0Z



216 名前:名無しさん@お腹いっぱい。 [2023/11/05(日) 16:37:39.67 ID:RlKuus9QH]
他人の権利を強奪して私腹を肥やす強盜殺人政治やってる論理もクソもないロクに勉強してない議員だらけ無能外道集団公明党と違って維新
は最低限の知的能力を有してる奴が多いのは橋下徹の意向で容赦なく知的能力の足切りやってる成果なんだろうけど、いい年して玉遊びとか
してる無能を讃えてみたり,日本に原爆落とした世界最悪のならず者國家の覇権主義に利用されてるウクライナ状態になるリスクを無視して
軍拡推進してみたり、危険極まりない原発推進すれば電氣料金は下がるだのほざきがら鉄道の30倍以上もの非効率クソ航空機によって莫大
な石油無駄に燃やしてエネ価格暴騰させて温室効果ガス倍増させて氣侯変動させて災害連発させて貿易赤字に.そんなバカの象徴万博を誇っ
てみたり.騷音によって知的産業に威力業務妨害して壊滅させて原発とか笑わせるレベ儿にまで曰本の技術カ低下させて、勉強妨害して犯罪
惹起しながら動物虐待は罰則強化しろ、子の虐待には金くれてやれだの、いつの間にか憲法の下の平等に反しないベーシックインカムも言わ
なくなって社会分断惹起して治安悪化とか、頭は回るか゛古い教育制度による時代遅れの固定観念による思慮のなさは直情的な橋下徹由来かな
[羽田]Τtps://www.call4.jp/info.php?tyPе〓items&id〓I0000062 , ttps://haneda-projecT.jimdofree.com/
〔成田)ttPs://n-souonhigaisosyoudan.amebaownd.com/
(テロ組織)tTрs://i.imgur.com/hnli1ga.jpeg

217 名前:名無しさん@お腹いっぱい。 [2024/03/27(水) 19:54:39.12 .net]
ネタ抜きでヌニェスいなくなったと思ったら配当無くなってきてるね

218 名前:名無しさん@お腹いっぱい。 [2024/03/27(水) 20:03:12.18 .net]
>>76
なんでこんなことなると思うけどな

219 名前:名無しさん@お腹いっぱい。 [2024/03/27(水) 20:54:47.39 .net]
暇だったし
圧巻❗キリン200頭大行進❗
などなど✨

220 名前:名無しさん@お腹いっぱい。 mailto:sage [2024/03/27(水) 21:52:58.47 .net]
ダブスコチャンスきた時方が球速出てなくてスタイルの問題よ
でも俺は解釈してるだけでつまんない
全員応援しても金ないない言ってるのかそれとも興味なくても不思議
国会でなくなったら本気出すのか

221 名前:過去ログ ★ [[過去ログ]]
■ このスレッドは過去ログ倉庫に格納されています






[ 新着レスの取得/表示 (agate) ] / [ 携帯版 ]

前100 次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<50KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef