make makes many prob ..
113:デフォルトの名無しさん
02/09/15 01:24
>>109
手っ取り早いのは vpath でサーチするディレクトリを追加じゃない?
bin に ふつーに Makefile を書いて vpath で include や src を追加したら
それらのディレクトリも見てくれる。
厳密にやりたいなら、スクリプトの助けがいりそう。
おいらは素人なので偉い人ならもっとスマートにできるかもしれないけど。
114:デフォルトの名無しさん
02/09/15 01:28
suffix rule はカレントディレクトリしか検索しないと思います.
で, 113 の言うとおり VPATH で指定すればいいんですけど,
お使いの make にその機能はありますか ?
115:98
02/09/15 01:29
CPP_FLAGS = -c -GX -GR
CPP_COMPILE = cl
LINK = link
>>110
ちなみに、下記は擬似例ですが、雰囲気は伝わるでしょうか?
. が拡張子の意味とカレントディレクトリの意味でかぶっていて見づらいとは思うのですが
>>98, >>112 とあわせて見てもらえると、私が何を求めているのか
理解して頂けるような気がするのですが…
OBJS = ./obj/abc.obj ./obj/def.obj
./bin/app.exe: $(OBJS)
$(LINK) $(OBJS)
./src/.cpp ./obj/.obj:
$(CPP_COMPILE) $(CPP_FLAGS) -fo ./obj/$<.obj ./src/$<
./include/.h ./src/.cpp:
116:98
02/09/15 01:32
失礼しました、上の方に謎な文がくっついてしまいました。
# Mozilla 1.0 ってちょっとバギーですよね…。
# .9.x の頃のがしっかりしてたな…。
>>113-114
無学なもので vpath という物を知らないのですが、
独立したコマンドでしょうか? make のオプションでしょうか?
117:113
02/09/15 01:33
>>113
具体的に言うと shell でディレクトリに潜って ls でリストを変数にいれて
addprefix で bin/ なり src/ なり include/ obj/ なりを付け加えて
それを Makefile.hogera で出力して $(MAKE) -f Makefile.hogera
ってする。
118:113
02/09/15 01:34
>>116
GNU Make にあるコマンド。addprefix もそう。
119:98
02/09/15 01:36
>>117
なるほど、そういう技巧を使わないとできないんですね。
>>108 さんの方法でお茶を濁そうかと思います。
みなさんありがとうございました。
120:113
02/09/15 01:51
別に技巧ってほどのものじゃないしスマートじゃないけどね…。
やっぱ偉い人がツッコミいれてくれないとイマイチだな…。
121:デフォルトの名無しさん
02/09/15 02:01
make自体スマートじゃないからどうしようもない。
それに凝ったmakefile書く奴ってく非生産的なのが多いので
makefileはシンプルに。つかVC使えよ。
122:デフォルトの名無しさん
02/09/15 02:03
VC厨までが出てきたか もう寝るよ
123:デフォルトの名無しさん
02/09/15 02:21
↑もう起きて来なくていいよ。
124:デフォルトの名無しさん
02/09/15 02:39
>>120
低レベルなム板で頑張っても無意味。unix板に帰ろう。
125:
02/09/15 05:40
>>98
こんなところだろう。
SRCDIR=src
OBJDIR=obj
INCDIR=include
BINDIR=bin
DIRS=$(OBJDIR) $(BINDIR)
CPP_COMPILE=cl
CPP_FLAGS=-c -GX -GR -Fo$(OBJDIR)\ -I$(INCDIR)
LINK=link
LINK_FLAGS=
OBJS=$(OBJDIR)\abc.obj $(OBJDIR)\def.obj
TARGET=$(BINDIR)\app.exe
all: $(DIRS) $(TARGET)
$(DIRS):
@if not exist $@\nul mkdir $@
$(TARGET): $(OBJS)
$(LINK) -out:$@ $(LINK_FLAGS) $(OBJS)
{$(SRCDIR)\}.cpp{$(OBJDIR)\}.obj:
$(CPP_COMPILE) $(CPP_FLAGS) -c $<
$(OBJDIR)\abc.obj: $(INCDIR)\abc.h
$(OBJDIR)\def.obj: $(INCDIR)\def.h
126:デフォルトの名無しさん
02/09/15 06:33
>>125
>$(LINK) -out:$@ $(LINK_FLAGS) $(OBJS)
-out:が思いっきり依存しちゃってるので、CPP_COMPILEとか定義する意味がない
>$(OBJDIR)\abc.obj: $(INCDIR)\abc.h
>$(OBJDIR)\def.obj: $(INCDIR)\def.h
これがかなりイマイチと感じる。
127:デフォルトの名無しさん
02/09/15 12:04
>>125
その Makefile まともに動かないような気がするんですが,
MS か Borland の make ではちゃんと動くんですか ?
GNU make では意図したとおりに動かないですよねえ ...
気のせいかな.
128:デフォルトの名無しさん
02/09/15 14:33
ほれ。検証しとらんがこんなもんだろ。gmake 版ね。
BINDIR = bin
OBJDIR = obj
SRCDIR = src
INCDIR = include
COMPILER = cl
TARGET = $(BINDIR)/app.exe
OBJS = $(addprefix $(OBJDIR)/, abc.obj def.obj)
all: $(TARGET)
$(TARGET): $(OBJS)
<TAB> $(COMPILER) $(LDFLAGS) $^ -o $@
$(OBJDIR)/%.obj: $(SRCDIR)/%.cpp
<TAB> $(COMPILER) $(CFLAGS) -c $< -o $@
129:デフォルトの名無しさん
02/09/15 15:07
>>128
検証しました。
makefile 的にはあっている模様ですが、当方の cl.exe (VC6SP5)が
-c オプション(コンパイルオンリー) を指定した場合、
-o でディレクトリを指定しても無視されて、全部カレントに吐き出す為
だめぽになっています。
あと
TOUCH = touch
で
$(SRCDIR)/%.cpp: $(INCDIR)/%.h
<タブ> $(TOUCH) $@
は書き忘れでしょうかね。
130:デフォルトの名無しさん
02/09/15 15:24
なるほど pattern rule は suffix rule と違って, ディレクトリ指定が
できるのがいいですね. いままで使用する make にかなり依存するので避けてたんですが.
ちなみに Linux の GNU make, Solaris の make では OK,
IRIX, FreeBSD の make ではだめでした.
131:129
02/09/15 15:28
ちゃうわ、cl.exe の出力ファイル指定オプションは -Fo やった。
これで VC + gmake 使いの皆さんはハッピーになれますか?
BINDIR = bin
OBJDIR = obj
SRCDIR = src
INCDIR = include
COMPILER = cl
TOUCH = touch
TARGET = $(BINDIR)/app.exe
OBJS = $(addprefix $(OBJDIR)/, abc.obj def.obj)
all: $(TARGET)
$(TARGET): $(OBJS)
<豚>$(COMPILER) $(LDFLAGS) $^ -o $@
$(OBJDIR)/%.obj: $(SRCDIR)/%.cpp
<豚>$(COMPILER) $(CFLAGS) -c $< -Fo./$@
$(SRCDIR)/%.cpp: $(INCDIR)/%.h
<豚>$(TOUCH) $@
132:デフォルトの名無しさん
02/09/15 15:36
>>130
> IRIX, FreeBSD の make ではだめでした.
gmake は入ってませんか? なけりゃインストールしちゃいましょう。
わたしゃ、もう、gmake 以外は使えない体になってしまいますた。
>>131
> $(SRCDIR)/%.cpp: $(INCDIR)/%.h
> <豚>$(TOUCH) $@
あまり見かけないやりかたですね。cl には gcc の -M オプションみたいのは
ないのかな?
133:デフォルトの名無しさん
02/09/15 15:54
makedepend.exe っつーのが存在するようですね。
URLリンク(www.google.com)
134:デフォルトの名無しさん
02/09/15 21:12
cygwin を使っているのですが、makefile 中で
cd Dir
pwd
と書いたとき、pwd が Dir に移動していない時のディレクトリを返してきます。
これは通常動作なのでしょうか?
135:デフォルトの名無しさん
02/09/15 21:17
通常動作。各行は、(おそらく) system によって実行されている。
136:デフォルトの名無しさん
02/09/15 21:20
通常動作です.
make は 1 行ごとにコマンド行を解釈して shell を呼び出すような
動作をします.
hoge : fuga
<tab>cd Dir; \
<tab>pwd
でお望みの動作が得られると思います.
137:134
02/09/15 22:37
>>135-136
なるほど、各行で独立して実行されるイメージなのですね。
ありがとうございました。
138:デフォルトの名無しさん
02/09/16 03:32
Makefile中でヒアドキュメントを使えますか?
cat <<EOF
any message
EOF
ってのをMakefileでやりたいのですが、tabをいれたりとかいろいろやってもうまくいきませんでした。
1行ずつechoするしかないんでしょうか。
139:デフォルトの名無しさん
02/09/16 04:06
\
140:デフォルトの名無しさん
02/09/16 05:39
>>139
それがうまくいかないんです。多分使い方が間違っていると思うんですけど。
target:
[TAB]cat <<EOF \
[TAB] hoge hoge \
[TAB]EOF
target:
[TAB]cat <<EOF
[TAB] hoge hoge \
[TAB]EOF
こんなのは試しました。
141:デフォルトの名無しさん
02/09/16 05:46
depend:
makedepend -- $(FLAGS) -- $(ALL_C_FILES)
142:デフォルトの名無しさん
02/09/16 10:10
ヒアドキュメントはあまり使わないので詳しくないのですが.
もし sh 上で 1 行でヒアドキュメントが使えれば, make でも使えるかも
しれません ... が, 私にはできないように思います.
143:デフォルトの名無しさん
02/09/16 18:10
<<EOFが不要なんじゃ
target:
[TAB]cat \
[TAB] hoge hoge
144:
02/09/16 19:03
>>143
here documentって知ってる?
145:デフォルトの名無しさん
02/09/18 12:30
>>140
\ → ;\
は試した?
146:138
02/09/20 02:59
>>145
返事が遅れてゴメンなさい。
all:
[TAB]cat <<EOF;\
[TAB]hoge hoge \
[TAB]EOF
として試してみましたが、
/bin/sh: hoge: command not found
と出ました。
# 仕方無いのでechoで頑張りますた。
147:デフォルトの名無しさん
02/10/22 21:22
Eiffel イイ!!
148:デフォルトの名無しさん
02/10/22 21:43
あげちゃったわけでつか。
あげちゃったわけでつか。
あげちゃったわけでつか。
あげちゃったわけでつか。
あげちゃったわけでつか。
あげちゃったわけでつか。
あげちゃったわけでつか。
あげちゃったわけでつか。
氏ねよ、クソが。
149:デフォルトの名無しさん
02/10/22 21:56
>>1
ant
150:デフォルトの名無しさん
02/10/23 16:26
下のコメントのようなことがしたくて悩んでいるんですが、
どうすればいいでしょうか? お知恵を貸してください
DATAFILES1 = a.dat b.dat
DATAFILES2 = c.dat d.dat
OFILES = $(DATAFILES1:.dat=.o) $(DATAFILES2:.dat=.o)
%.o : %.dat
# DATAFILE1のファイルは, objcopy -XXXX $< $@
# DATAFILE2のファイルは, objcopy -YYYY $< $@
151:デフォルトの名無しさん
02/10/23 17:36
OFILES1 = $(DATAFILES1:.dat=.o)
OFILES2 = $(DATAFILES2:.dat=.o)
# DATAFILE1のファイルは, objcopy -XXXX $< $@
$(OFILES1): %.o : %.dat
objcopy -XXXX $< $@
# DATAFILE2のファイルは, objcopy -YYYY $< $@
$(OFILES2): %.o : %.dat
objcopy -YYYY $< $@
152:150
02/10/23 19:52
>>151
そんな記述ができるんですね。
すごく勉強になります。
ありがとうございます。
153:デフォルトの名無しさん
02/10/24 04:43
>>151
それ知らなかった。info make見ても見つけられなかったんだが、どこに書い
てある?
154:デフォルトの名無しさん
02/10/24 10:10
static pattern rules のところに書いて歩けど。
155:デフォルトの名無しさん
02/10/24 10:11
あ、もちろん GNU Make の話ね。
156:デフォルトの名無しさん
02/10/24 11:42
>>154
ほんとだ。tnx
ふしあなさんだったよ。
157:デフォルトの名無しさん
02/11/05 00:28
HSP使えばいいのに
158:デフォルトの名無しさん
02/11/12 11:43
VB のためなら死ねる!!
159:デフォルトの名無しさん
02/11/22 20:59
static pattern rules のところに書いて歩けど。
160:みな
02/11/25 15:20
■『C と C++ とが混在した Makefile で makedepend を使うには?』[1/2]
初めまして。宜しく御願い致します。
まず,私は Makefile に関してはかなり未熟者のレベルです。
必要に応じてウェブ上で検索しては知識を付けている段階です。
さて,止むを得ない事情で,
*.h *.c *.cpp という,C と C++ とが混在した Makefile でプログラム開発中です。
makedepend を導入したいと思い,
ウェブ上で検索した幾つかの入門ページを参考にしつつ,―
TOP = /usr/local/test
INCDIR = $(TOP)/../common/include -I$(TOP)/include
SRCS = aaa.c bbb.c
SRCSXX = xxx.cpp yyy.cpp
OBJS = $(SRCS:.c=.o)
OBJSXX = $(SRCSXX:.cpp=.o)
CFLAGS = -O3 -Wa,-al -fno-common -G0
CXXFLAGS = -O3 -Wall -Werror -Wa,-al -fno-exceptions -fno-common -G0 -ansi
.SUFFIXES: .o .s .dsm .c .cc .cpp
depend:
makedepend -I$(INCDIR) -- $(CFLAGS) -- $(SRCS) 2>/dev/null
makedepend -a -I$(INCDIR) -- $(CXXFLAGS2) -- $(SRCSXX) 2>/dev/null
―(一部抜粋 & ファイル名は例示用)の様に Makefile を書き直し,
途中までは意外と(?)順調に導入が進んだのですが…。
(▼ >>161 に続く…… ▼)
161:デフォルトの名無しさん
02/11/25 15:21
make!
162:みな
02/11/25 15:28
■『C と C++ とが混在した Makefile で makedepend を使うには?』[2/2]
(▲ …… >>160 からの続き ▲)
(※ 先に >>161 に割り込まれてしまいました…。スミマセン…。)
やっと,導入完了と思って make depend と実行してみたところ,
Makefile 中には―
# DO NOT DELETE
aaa.o: def4c.h aaa.h
bbb.o: def4c.h bbb.h
xxx.c.o: def4cpp.h xxx.h
yyy.c.o: def4cpp.h yyy.h
―の様に自動生成されてしまいました。
勿論,正しくは―
# DO NOT DELETE
aaa.o: def4c.h aaa.h
bbb.o: def4c.h bbb.h
xxx.o: def4cpp.h xxx.h
yyy.o: def4cpp.h yyy.h
―となって欲しいところなのですが,
ウェブ上で検索して出てくる典型的なサンプルは *.c しか前提にしてない様で,
一体どうやれば良いのかさっぱりわかりません。
もしかして,makedepend 自体が C++ には対応してないのでしょうか…?
どうぞ御教授下さい。
正解そのものが無理なら,より適切な調べ方(検索方法)だけでも,御願い致します。
※ 以上で情報不足の場合は,
例えば Makefile の一部抜粋等々,今後追加書き込み致します。
163:デフォルトの名無しさん
02/11/25 16:48
使ってる makedepend が腐ってるんじゃないのかなぁ?
1) 新しいやつをインストールしてみるか
2) gcc/g++ -MM オブションを使うか
3) | sed -e 's/\.c\.o/\.o/' をかますか
してみては。
164:みな
02/11/25 17:59
>>163 さん,早速レス有り難う御座います。
周りの人に訊いても,自力で色々検索しても,サッパリわかんなかったんで,
こうして何かレス頂けると,ホント嬉しいです。
makedepend が腐ってるっスか…。う〜ん…。
man 見ても,makedepend のバージョン表示する為のオプションって
見当たらないですよねぇ。(困)
えぇと…,取り敢えず「3) | sed -e 's/\.c\.o/\.o/' をかます」って,
具体的にどこにどう記述すればいいんでしょうか?
165:かなり適当
02/11/25 18:33
>>160
> .SUFFIXES: .o .s .dsm .c .cc .cpp
この行消してみるとどうなる?
166:みな
02/11/25 19:04
「かなり適当」こと >>165 さん,只今やってみましたが―
―やっぱりダメでした…。
自動生成内容に,何も変化は起こりませんでした。
そういえば,自分で試行錯誤してた際も,この行を色々と書き換えてみたけど,
結果に何等変化が無かった記憶が…。
てゆーか,そもそもこの行,そんなに必要な行なんですかねぇ…??
一応,サンプルなぞを真似つつ,取り敢えず付けてあるだけな感じなんですけど。
仮に全く無くしたりすると,具体的にどんな不都合が…?
167:163
02/11/25 19:14
そうか、makedepend って、Makefile を直接書き換えちゃうのか。
とすると、makedepend をした後に、
sed -e 's/\.c\.o/\.o/' Makefile > Makefile.new
mv Makefile Makefile.bak
mv Makefile.new Makefile
とかやってみては。
ちなみに、オレだったら、GNUMakeが前提だけど
depend:
makedepend -fdepend.mf -I$(INCDIR) -- $(CFLAGS) -- $(SRCS)
makedepend -f- -I$(INCDIR) -- $(CXXFLAGS2) -- $(SRCSXX) | sed 's/\.c\.o/\.o/' >> depend.mf
-include depend.mf
とやるかな。つまり、依存関係は別ファイルに書き出して、それを
Makefile にインクルードさせる。
168:みな
02/11/25 19:40
度々アドバイス有り難う御座います。> >>163(= >>167)さん
いや,>>163 で書いてあった「3)」の,(パイプで)「かます」っていうのが,
Makefile 中のどこにどんな風に記述したらいいのか謎だったんです。
取り敢えず,>>167 前半のやり方で,一応目的の内容の Makefile は得られますね。
もしかしたら,もっとスマートなやり方が有るのかも知れませんけど。
(コマンドライン複数行分を何等かのスクリプトファイルにしちゃうとか…?)
>>167 後半のやり方は,今から早速勉強させて頂きます。
某 Visual 何たらの統合環境の“全自動”に甘やかされて育つと,
いざという時に弱々だなーと,思い知らされてるトコでして…。
今回は,色々と教えて下さって,有り難う御座います。
もしかしたら,今後また別件でマヌケな質問してしまうかも知れませんけど。(汗)
169:デフォルトの名無しさん
02/11/26 12:25
普通のmakeだったら.dependってファイルに依存関係吐き出しとけば
勝手に読み込んだりしないかな?FreeBSDのmakeはそうだったけど。
.dependをつくるmkdepなんてコマンドもある。
-aオプションをつけると追加書き込みもしてくれるみたい。
170:デフォルトの名無しさん
02/11/26 14:17
どこのmakedependだか知らないけど、Xに付いてるやつなら、
大昔からC++には対応しているはずだけどなあ。
どうせそんなmakedependなら、sedで逃げても、まともに
C++の構文読んでくれなかったり、__cplusplusが定義されて
いなかったりするんじゃないのか?
まともなmakedepend入れた方がいいよ。
gccmakedepなら-MMとか使えるし。
171:名無しさん@カラアゲうまうま
02/11/26 14:30
>>169
たぶん*BSD固有。
172:みな
02/11/26 17:15
>>170 さん
gccmakedep なんて在ったんですね。知りませんでした…。
で,>>160 の makedepend を単に gccmakedep に置換してみたところ,
あっさり,*.c.o の問題は解決しました!
まずは,有り難う御座います。> >>170 さん
ところが,別の問題が…。
makedepend の生成してくれた依存関係は,
ホントに漏れ無く書き出してある感じだったんですけど,
gccmakedep の生成してくれる依存関係は,
パッと見ただけで,明らかに不足気味なんですよ。
例えば,何十個も在るソースファイル中に,
test1.cpp test2.cpp test3.cpp というのが在ったとすると,
当然,test1.o test2.o test3.o それぞれに
依存関係の在るヘッダファイル *.h を書き出してあるべきですけど,
gccmakedep の生成する依存関係って,
例えば test1.o と test3.o とに関しては書き出してあっても
なぜか test2.o に関しては何も書き出してなかったりとか。
勿論,test2.cpp から何も #include してないなんて事はありません。
う〜ん,まさに一難去ってまた一難。
173:デフォルトの名無しさん
02/11/26 22:17
ifdefの関係でincludeされないようになっているとか。
-DXXXは基本的にコンパイル時と同じように設定しないとダメ。
あと、インクルードパスが通っていないのかも。多分C++の
標準インクルードパス(/usr/include/g++とか)は自分で追加
する必要があると思う。
それでダメなら、根本的に環境がおかしいのかなあ。gccmakedep
が入っているからにはXが入っているんだろうけど、X11R5だったり、
gccがegcsよりさらに昔のだったりしないか?あるいは、gcc向け
でなく、別のコンパイラ向けにソースを書いているのに、gccmakedep
を使おうとしているとか。
174:みな
02/11/27 13:46
>>173 さん
前半で御指摘の「includeされない」「パスが通っていない」云々は,
まず無いと思うのですけど…。
理由は,>>172 に書いた通り,
「>>160 の makedepend を単に gccmakedep に置換してみた」だけだからです。
つまり,makedepend の方を使えば,当初の謎だった「*.c.o の問題」以外は,
全てうまくいってました。
また,もし #ifdef がらみで #include されてなかったとすると,
宣言無しで暗黙に使おうとした云々と,コンパイル時にエラーが出ると思います。
やはり後半で御指摘の「根本的に環境がおかしい」んですかねぇ…。(困)
OS は RedHatLinux 7.1,コンパイラは GNUC 2.96(= GNUC++ 2.96),
makedepend も gccmakedep も /usr/X11R6/bin/ というパスに在ります。
175:デフォルトの名無しさん
02/11/27 17:49
じゃあ、処理速度は遅くなるけど、gcc/g++ の -M(または-MM)オプションを
使ってみたらどうかな。こいつは依存関係を標準出力に出すので、
リダイレクトしてファイルに落とす。そして、>>167 みたいに
-include でインクルードしてやればよい。Linux ということは gmake を
使ってるわけだよね?
176:デフォルトの名無しさん
02/11/27 18:03
>>174
> やはり後半で御指摘の「根本的に環境がおかしい」んですかねぇ…。(困)
> OS は RedHatLinux 7.1,コンパイラは GNUC 2.96(= GNUC++ 2.96),
> makedepend も gccmakedep も /usr/X11R6/bin/ というパスに在ります。
rpm -qf /usr/X11R6/bin/{makedepend,gccmakedep}
の結果は?
177:みな
02/11/27 18:39
>>175 さん
私も,>>167 さんが後半で書かれてた方法が一番良さそうに思えたんで,
gcc の man とか色んな関連ウェブページとか見ながら,習得中です。
(スミマセン。発展途上なもんでして…。)
ちなみに,make も gmake も /usr/bin/ というパスに在って,
使ってるのは一応 gmake の方なんですけど,試しに make の方に変えてみても,
(少なくとも気付いた範囲内では)結果は何も変わらない様です。
>>176 さん
rpm -qf /usr/X11R6/bin/{makedepend,gccmakedep} してみたら,―
XFree86-devel-4.0.3-5
XFree86-devel-4.0.3-5
―と出てきました。
ゴメンナサイ。rpm というモノ自体,>>176 を読んで今初めて知った次第で…。(汗
なるほど,「rpm is a powerful package manager」ですか。
でも,その前に使う人が powerful に成長しないと,宝の持ち腐れですね…。(自嘲
178:176
02/11/27 19:04
>>177
> XFree86-devel-4.0.3-5
もう4.2.1とか出てるのでバージョンを上げてみては。
全部上げるのがいやなら、
rpm -Uvh --excludepath /usr/X11R6/lib --excludepath /usr/X11R6/include \
--excludepath /usr/X11R6/man ${XFree86develRPM}
とか、
cd /
rpm2cpio ${XFree86develRPM} | cpio -i usr/X11R6/bin/{makedepend,gccmakedep}
とか。
179:デフォルトの名無しさん
02/11/28 00:42
URLリンク(happysize.com)
↑こんなんもあるぜ。
漏れはソースを俺様カスタマイズしてつかってるぜ。
180:みな
02/11/28 14:08
>>178 さん
[mina@localhost mina]$ rpm -Uvh --excludepath /usr/X11R6/lib --excludepath /usr/X11R6/include --excludepath /usr/X11R6/man ${XFree86develRPM}
rpm: インストールのためのパッケージがありません
[mina@localhost mina]$ cd /
[mina@localhost /]$ rpm2cpio ${XFree86develRPM} | cpio -i usr/X11R6/bin/{makedepend,gccmakedep}
error: read failed: Success (0)
error reading header from package
cpio: premature end of archive
[mina@localhost /]$
―な感じでした。だめぽ…?
いや,そもそもシス管に訊けとかインストールした人に頼めとか,
心中でツッコみながら私の書き込み読んでる方々も少なくないと思うんですけど,
この環境構築した人自体が,雑誌とか入門書とかと首っ引きで何とか構築したとゆー,
ある意味“発展途上”な人なもんで…。(勿論,私よりは“上”ですけど。)
>>164 で「周りの人に訊いても―(中略)―サッパリわかんなかったんで」
と書いたのは,そんな訳だったんです。(類は友を呼ぶ…?)
181:みな
02/11/28 14:08
>>179 さん
あっ,その "autodep" って,色々 Google 検索してた中で見た記憶が…。
リンク先あちこち紫色になってるし。
コレって,一企業(株式会社ハッピーサイズ)が御厚意で無償提供して下さってる,
一フリーソフトですよね?
ですから,あまり標準的・一般的じゃないユニークなモノに
最初っから頼りきっちゃうと,後々何かマズいかなーとか,
(折角習熟してもツブシが利かないとか…?)
何と無く思ってしまって,初めて見た時はそのまま流してしまってました。
やっぱ,いいですか。"autodep"。
後でダウンロードして,ちょっと試してみますね。
情報,有り難う御座います。
182:176
02/11/28 14:42
>>180
> [mina@localhost mina]$ rpm -Uvh --excludepath /usr/X11R6/lib --excludepath /usr/X11R6/include --excludepath /usr/X11R6/man ${XFree86develRPM}
> rpm: インストールのためのパッケージがありません
> [mina@localhost mina]$ cd /
> [mina@localhost /]$ rpm2cpio ${XFree86develRPM} | cpio -i usr/X11R6/bin/{makedepend,gccmakedep}
> error: read failed: Success (0)
> error reading header from package
> cpio: premature end of archive
${XFree86develRPM}はDLしてきたXFree86-develのRPMパッケージのパス名。
(余裕ができたら)UNIX関連の入門書を嫁。
183:デフォルトの名無しさん
02/12/03 20:14
gcc -MMしろ
184:デフォルトの名無しさん
02/12/08 02:46
185:デフォルトの名無しさん
02/12/08 02:47
186:デフォルトの名無しさん
02/12/10 16:07
下のように、複数のターゲットがある依存関係でコマンドに引数が必要な場合
どう記述したらよいのでしょうか?
$(AFILES) file1.a file2.a file3.a
$(BFILES) $(AFILES:.a=.b)
$(CFILES) $(AFILES:.a=.c)
%.b %.c : %.a
$(CMD) -o1 file1.b -o2 file1.c file1.a
$(CMD) -o1 file2.b -o2 file2.c file2.a
…
187:デフォルトの名無しさん
02/12/10 16:10
>>1
中身はまだ読んでないけど、スレタイ気に入った。w
188:186
02/12/10 16:11
書き忘れましたが、GnuMakeです。
189:デフォルトの名無しさん
02/12/10 16:12
.,,
\ヽ--___
\ 丶---ヽ___
.゙\ ク ~~> クソスレに認定されました
\ ソ /
.\ ノ
\ /
.\/
.\
\
.\
,,\
.″ ゙》
__., イ,, 》li,_
ill! i;l;lllllz,lll;lllllll;lllllly
.:llllllll;llllllllllll;;ll;||llllllllll}
.il||l|lllllllllllllll|《lllll|lly《アlz .、 zz,、
._ノレ;llllllll|;llllllliilllllllllllllllllllllyuyll;ミミ″ .''゙゙∨
」lllllllllllllllllllllllllllllllllllllllllll ゙巛,厶yyv》llll!
{lllllllll厂lllllllll|》lllllllllllllllly、 ,illllllllllllllllli;;ll|y .、.,,_
《;|《llllll;lllli;llllllll;|lllllllllllllllllll|lli. .zllllllll;《lll|《lllllllllllllllizy,lllz. _yyyyr|》
,u,,_ .rlllllllllllllllllllllllllllllll厂リllllリlll!,」llllll「リll;lllllll;;llllllllllllllllllll;||lllllllllllllll;lllllllll
l;lll;l;yu.,,lllz:.;..:villlllllllllllllllllll|》llllllll| uilllll|illlllノ|ll|゙」zyllllll;ll|;lllllllllll;l|リllllllllllll;llllllllllllllllllll
lll|!illlllllllll|ll|i;llllllllllllllllllllllllllllilllllllllllllllllllllllllllllll|lllll|,|lllllllllllllll|》;ll《|「.vuilllll|《liiilll|フ《llllllll
lllllllllllllllllllllllll|《lllllllllll;;llllllllllllllll;llllllllllllllllllllll|)|《;lllllllllllllllllllllllllllllllll;lll;lllll;》([;lllllllllllllllllll
190:デフォルトの名無しさん
02/12/10 17:46
>>186
マルチかよ!
191:デフォルトの名無しさん
03/01/08 18:42
make makes me mad.
192:IP記録実験
03/01/08 21:19
IP記録実験
スレリンク(accuse板)
1 名前:ひろゆき ◆3SHRUNYAXA @どうやら管理人 ★ 投稿日:03/01/08 17:13 ID:???
そんなわけで、qbサーバでIPの記録実験をはじめましたー。
27 名前:心得をよく読みましょう 投稿日:03/01/08 17:20 ID:yL/kYdMc
SETTING.TXT管轄でないということは全鯖導入を視野に、か?
38 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:22 ID:rLfxQ17l
>>27
鋭いです。
73 名前:ひろゆき ◆3SHRUNYAXA 投稿日:03/01/08 17:27 ID:rLfxQ17l
>ところで、IPが抜かれて何か今までと変わることってあるのでしょうか?
・今までより、サーバが重くなる。
・裁判所や警察からの照会があった場合にはIPを提出することがある。
193:デフォルトの名無しさん
03/01/09 02:44
>>598
訴えられても「誣告ですよ」と返せる様にソース固めて叩きゃ良いじゃん。
荒らさなきゃ良いじゃん。
194:デフォルトの名無しさん
03/01/09 03:27
スレリンク(accuse板:114-119番)
/ヽァ/ヽァ
195:デフォルトの名無しさん
03/01/09 04:09
>>373
ありがと
196:デフォルトの名無しさん
03/01/09 13:40
職場、学校、座敷牢から気兼ねなく書き込みでける
ってゆってたのにー
プンスカ!!
197:デフォルトの名無しさん
03/01/09 14:50
最高裁への上告は認められなくなったから、これで事実上判決確定だよ。
逆転も何もないって。
勢いで上告なんかしても一発で上告却下(門前払い)だよ。
二審も一審を支持。これに対して上告しようにも、
刑事訴訟と同様、自由に上告できるってもんでもないのです。
民事訴訟法312条 (上告の理由) 1項
「上告は、判決に憲法の解釈の誤りがあること
その他憲法の違反があることを理由とするときに、することができる。」
URLリンク(www.m-net.ne.jp)
ようするに上告しても今の制度では100%無駄。 これで完全終了ってことか。
198:デフォルトの名無しさん
03/01/09 17:32
======2==C==H======================================================
2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 138720人 発行日:2003/1/9
年末年始ボケがそろそろ収まり始めた今日このごろのひろゆきです。
そんなわけで、年末に予告したIP記録ですが実験を開始しています。
「2ちゃんねる20030107」
こんな感じで各掲示板の最下部に日付が入ってるんですが、
20030107以降になってるところはログ記録実験中ですー。
んじゃ!
────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
──────────────
Keep your thread alive !
スレリンク(software板)l50
──────────────
199:デフォルトの名無しさん
03/01/09 23:22
>736
らしいね
ID:WcTtLBwB
も少しまとめてレスする癖付けれ
200:デフォルトの名無しさん
03/01/10 01:11
マンコとかきまくれるのは2chだけ!!ということに変わりはない
201:デフォルトの名無しさん
03/01/10 09:47
色々、俺を過大評価してる様ですが
(現時点で全世界規模のインテリ層に私がシンパいるとか 笑 ありえないって。)
俺一人で突き進む事が基本なんですが(てか十分。命だけ足りないけど。)
そういった事は、貴方方には大きいけど俺には小さいです。
「人生」ってありますね。
私が直接的な報復手段を選ばずに我慢したのもそういった理性があるからです。
「目先で」シャレにならない、からです。
大体察しているでしょう。
では5分後か昼に掛けます。
202:デフォルトの名無しさん
03/01/10 10:58
メルマガまだ?
203:デフォルトの名無しさん
03/01/10 11:43
最高裁への上告は認められなくなったから、これで事実上判決確定だよ。
逆転も何もないって。
勢いで上告なんかしても一発で上告却下(門前払い)だよ。
二審も一審を支持。これに対して上告しようにも、
刑事訴訟と同様、自由に上告できるってもんでもないのです。
民事訴訟法312条 (上告の理由) 1項
「上告は、判決に憲法の解釈の誤りがあること
その他憲法の違反があることを理由とするときに、することができる。」
URLリンク(www.m-net.ne.jp)
ようするに上告しても今の制度では100%無駄。
これで完全終了ってことか。
204:デフォルトの名無しさん
03/01/10 12:12
(;´(Å)`) <・・・。
205:デフォルトの名無しさん
03/01/10 13:03
電気店のパソコン売り場から2ちゃんにカキコする奴が増えるんだろうなあ
206:デフォルトの名無しさん
03/01/10 15:26
(・∀・)クスクス
207:デフォルトの名無しさん
03/01/10 16:53
何が変わるんですか。
208:デフォルトの名無しさん
03/01/10 23:15
>書き込みの質があがるんでつか
質の低い書きこみが減って、結果的に質の平均があがるのではないかと、、、
209:デフォルトの名無しさん
03/01/10 23:20
>>704
「おはよう一直線」という番組で、生島ヒロシのでるやつ。
URLリンク(www.tbs.co.jp)
宮崎哲「2chでは嘘のことをネタというんですけどね、これはネタですね」
「あまり真に受けて騒ぐのもどうか」とも、
おまえらのスポンサーは真に受けてひろゆきに6億円も損害賠償請求して
るじゃん。とか思ったわけだけど
210:デフォルトの名無しさん
03/01/11 00:38
実験
211:デフォルトの名無しさん
03/01/11 00:46
我ながら好き勝手にほざいてしまいますた・・(汗
もし実現しても回線細そうですしね。。。
212:デフォルトの名無しさん
03/01/11 10:07
公人と私人の違いってやつ
俺は嫌いだけどねこの分け方
213:デフォルトの名無しさん
03/01/11 10:40
======2==C==H======================================================
2ちゃんねるのお勧めな話題と
ネットでの面白い出来事を配送したいと思ってます。。。
===============================読者数: 139038人 発行日:2003/1/10
なにやら、連日メルマガだしてるひろゆきです。
そんなわけで、ログ記録実験ですが、いちいちサーバ指定するのが面倒なので、
全部のサーバに入れてみました。
重くなって落ちたりしてもご愛嬌ってことで。。。
んじゃ!
────────────Age2ch─
■この書き込みは、Age2chを使って配信されています。
──────────────
Keep your thread alive !
スレリンク(software板)l50
──────────────
214:デフォルトの名無しさん
03/01/11 11:33
ひろゆきが嫌韓に否定的なのを忘れているようで。
IPを総連に売られたら、どうなると思う?
215:デフォルトの名無しさん
03/01/11 12:07
死ねよ馬鹿ども
216:デフォルトの名無しさん
03/01/11 13:08
まぁお前、素人は無難な書き込みしてなさいってこった。
217:デフォルトの名無しさん
03/01/11 13:38
人生をゲームにしちまったひろゆきはオレより3倍バカ
バカになりきるのは(人間として)難しい
218:デフォルトの名無しさん
03/01/11 16:23
2ちゃん閉鎖したら、他のインターネット掲示板が荒れたり、DQNな事件が増える
219:デフォルトの名無しさん
03/01/11 16:30
逆に立てて欲しくなかったんだが(w
220:デフォルトの名無しさん
03/01/12 00:32
おう、おめーら。
まあな、今年は俺の年なわけだがどうよ?
っていうかなぁ、俺の毛毟り取るのはまあ、許してやるよ。
メシくわせてもらってるからな。
でもな、紙とか食わせるのはマジで勘弁してくれよ。
俺ァな、山羊じゃねぇんだよ。
あんなひつじの出来そこないと一緒にしないでくれよ。
だって山羊だぜ、山羊。
俺なんか十二星座ってだけじゃなくて干支でもあるんだよな。
だけど、山羊見ろよ、山羊。
黄金聖闘士(ゴールドセイント)止まりだぜ?
あんなのと一緒にしてもらいたかぁーねーよな。
っていうか、俺を殺せるもんならやってみろよ。
俺はいつどこでも誰の挑戦でも受けるぞ?
221:デフォルトの名無しさん
03/01/12 00:43
日本人・日本在住・男・童貞
ここまではIPから特定しますた。
222:デフォルトの名無しさん
03/01/12 10:51
ななも殺人教唆で逮(ry
223:デフォルトの名無しさん
03/01/12 10:53
どこがどう恥ずかしいんだい?
それを説明しないお前は説得力ゼロだが。
加えて君の無能さも証明しているな。
224:デフォルトの名無しさん
03/01/12 21:26
それは単に業者への制裁措置じゃ?
225:デフォルトの名無しさん
03/01/12 21:29
通ることもあるわな。
「見なかった」といわれて終わるのは証明の問題であって実体の問題ではない。
226:デフォルトの名無しさん
03/01/12 21:40
あった
227:山崎渉
03/01/13 19:01
(^^)
228:デフォルトの名無しさん
03/01/13 23:31
ワラタ
229:山崎渉
03/01/15 18:14
(^^)
230:山崎渉
03/01/23 22:12
(^^)
231:デフォルトの名無しさん
03/01/24 10:20
あ、もちろん GNU Make の話ね。
232:デフォルトの名無しさん
03/01/31 20:12
make age
233:デフォルトの名無しさん
03/02/04 01:13
頼むからMakefileにmake love仕込んでソース収めるのやめて。
234:デフォルトの名無しさん
03/02/04 17:44
>>231
どの話?
235:デフォルトの名無しさん
03/02/07 23:40
たくさんサブディレクトリがあるとしてのお話です。
DIR_LIST:=たくさんサブディレクトリ
ARC_LIST:=$(addsuffix /lib.a,$(DIR_LIST))
さて、このARC_LISTを、それぞれのディレクトリ内のすべての.oファイルから作るとして、
はじめに思いついたのが、
$(ARC_LIST) : %/lib.c : $(wildcard %/*.o)
というやつだったのですが、このwildcardの中の%がどうやら展開されないようです。
foo/lib.c : $(wildcard foo/*.o)
こうすれば一応依存関係は作れるんですが、DIR_LISTはmakeが起動されるまでわかりません。
なんか解決法はないですか?
236:デフォルトの名無しさん
03/02/08 01:49
>>235
ARC_RULE:=$(DIR_LIST:%=.%.arc_rule)
.%.arc_rule:
@echo '$*/lib.a: $$(wildcard $*/*.o)' > $@
@echo ' $$(AR) $$(ARFLAGS) $$@ $$?' >> $@
clean::
rm -f $(ARC_RULE)
include $(ARC_RULE)
237:デフォルトの名無しさん
03/02/08 01:57
>>235
まちがいがあったので修正版。
ARC_RULE:=$(DIR_LIST:%=.%.arc_rule)
.%.arc_rule:
@echo '$*/lib.a: $$(wildcard $*/*.o)' > $@
@echo ' $$(AR) $$(ARFLAGS) $$@ $$?' >> $@
clean::
rm -f $(ARC_RULE)
ifneq ($(MAKECMDGOALS),clean)
include $(ARC_RULE)
endif
238:235
03/02/08 02:14
>>236
あーいっこづつ別のファイルに出せばいいんですね。
そういうやつを一個のファイルに出してみて、「いける?」とか思って、
「あーでもこのファイル更新するタイミングがわからん」とか思ってあきらめてました。
いけそうですね。まだ試せないけど。ありがとーデス。
239:236
03/02/08 18:43
>>235
期待通りの動作になるかもしれませんが、wildcardで
全部アーカイブにするのは作り方としてよくないとおもいます。
(ソースコードを生成するためのプログラムのオブジェクトまで
拾ってしまう可能性がある。)
lib.aにするところまでサブディレクトリのMakefileで記述したほうが
いいとおもいます。
240:デフォルトの名無しさん
03/02/08 18:52
>>239
> (ソースコードを生成するためのプログラムのオブジェクトまで
> 拾ってしまう可能性がある。)
それはまた別のディレクトリにすべきなんじゃないの?
> lib.aにするところまでサブディレクトリのMakefileで記述したほうが
> いいとおもいます。
ともあれこれには同意。
241:235
03/02/08 19:30
> lib.aにするところまでサブディレクトリのMakefileで記述
そうした場合には、ディレクトリの数だけ無条件でmakeを起動してしまうわけですよね。
実は、なんとかそれを避けれないかということで、いろいろやって>>235のようになったのですよ。
242:236
03/02/09 00:44
>そうした場合には、ディレクトリの数だけ無条件でmakeを起動してしまうわけですよね。
>実は、なんとかそれを避けれないかということで、いろいろやって>>235のようになったのですよ。
ライブラリの元になるオブジェクトはいつ作るのでしょうか?
wildcardでマッチさせようとしているので、makeを起動する前にすでに
オブジェクトができているはずです。だとしたけ結局makeを
複数回起動しているのでは?
243:235
03/02/09 00:56
>>242
あ、すんません、実際にwildcardをかけるのは.cとかなんですよ。
foo/lib.c : $(patsubst %.c,%.o,$(wildcard foo/*.o))
ってな感じです。wildcardが適用されない問題に絞るために端折ってました。
244:236
03/02/09 01:10
235で$(wildcard foo/*.o)の部分は$(wildcard foo/*.c)でしょうね。
237の一部差し替え。
.%.arc_rule:
@echo '$*_SRC:=$$(wildcard $*/*.c)' > $@
@echo '$*_OBJ:=$$($*_SRC:%.c=%.o)' >> $@
@echo '$*/lib.a: $$(*_OBJ)' >> $@
@echo ' $$(AR) $$(ARFLAGS) $$@ $$?' >> $@
245:236
03/02/09 01:18
しまった。また間違いがありました。
.%.arc_rule:
@echo '$*_SRC:=$$(wildcard $*/*.c)' > $@
@echo '$*_OBJ:=$$($*_SRC:%.c=%.o)' >> $@
@echo '$*/lib.a: $$($*_OBJ)' >> $@
@echo ' $$(AR) $$(ARFLAGS) $$@ $$?' >> $@
@echo 'clean::' >> $@
@echo ' rm -f $$($*_OBJ)' >> $@
246:235
03/02/09 01:20
>>244
どうも。
仕事キッチリなお方ですな。
247:デフォルトの名無しさん
03/02/09 13:31
>>236 質問!
> ARC_RULE:=$(DIR_LIST:%=.%.arc_rule)
っていったい何をやっているの?
248:235
03/02/11 00:36
上手くいきましたよ。
さて、後はソースファイルが削除されたときの・・・。
>>247
ARC_RULE:=$(patsubst %,.%.arc_rule,$(DIR_LIST))
↑の、ちょっと短く書ける書式。
249:247
03/02/11 11:58
>>248
あ、そっか。ふだんはこの書き方を使わないから悩んじゃったよ。ありがと。
250:デフォルトの名無しさん
03/02/11 13:39
>>248
こんなんでどうよ。
.%.arc_rule:
@echo '$*_SRC:=$(wildcard $*/*.c)' > $@
@echo '$*_OBJ:=$$($*_SRC:.c=.o)' >> $@
@echo '$*/lib.a: $$($*_OBJ)' >> $@
@echo ' $$(AR) $$(ARFLAGS) $$@ $$?' >> $@
@echo 'ifneq($*_SRC,$$(wildcard $*/*.c))' >> $@
@echo '$@: .force' >> $@
@echo 'endif' >> $@
@echo 'clean::' >> $@
@echo ' rm -f $$($*_OBJ)' >> $@
.PHONY: .force
251:235
03/02/11 17:10
>>250
> ifneq($*_SRC,$(wildcard $*/*.c))
ぱっと見、これが常に偽になりそうです・・・。
> $@ : .force
これは、$*/lib.a : .force ですかね。
ちょっと修正して、こんな感じになるかなぁ?(↓見やすくするための擬似表記です)
$*_SRC:=$(wildcard $*/*.c)
$*_OBJ:=$($*_SRC:.c=.o)
$*/lib.a : $($*_OBJ)
ifneq($*_OBJ,$(wildcard $*/*.o))
$*/lib.a : .force
endif
252:235
03/02/11 18:16
だめだ、対応するソースの無くなった.oを消さなきゃ。
253:デフォルトの名無しさん
03/02/12 00:38
makeのかわりにjam使ってる人いますか?
↓jam
URLリンク(www.perforce.com)
254:デフォルトの名無しさん
03/02/12 08:07
>>251
> > ifneq($*_SRC,$(wildcard $*/*.c))
> ぱっと見、これが常に偽になりそうです・・・。
なんで? $*_SRCと右の$(wildcard $*/*.c)はワイルドカードが展開されるタイ
ミングが違うはずだが。
> > $@ : .force
> これは、$*/lib.a : .force ですかね。
ちがう。ソースが追加/削除されたら.arc_ruleを書き換えたいんだろ?
255:235
03/02/13 00:57
>>254
ごめんなさい。完全に勘違いしてました。
試させてもらいました。
ソースを削除したとき、.arc_ruleは更新されますが、
lib.aの中に削除されたソースから生成した.oが含まれたままになってしまい、
リンク時に有効な.oファイルとして認識されてしまいます。
削除されたソースファイル名を認識して、対応する.oファイルを削除し、
lib.aからも削除するようにしないいといけないのですが、
既に存在しないファイルに対してmakeがアクションをおこすような指示をどう書けばいいのかが
思いつきません。
256:デフォルトの名無しさん
03/02/13 01:59
>>255
そうなるとたしかに$*/lib.aは強制的に作り直さなきゃだな。
@{ \
echo '$*_SRC:=$(wildcard $*/*.c)'; \
echo '$*_OBJ:=$$($*_SRC:.c=.o)'; \
echo '$*/lib.a: $$($*_OBJ)'; \
echo ' @rm -f $$@'; \
echo ' $$(AR) $$(ARFLAGS) $$@ $$?'; \
echo ' $$(RANLIB) $$@'; \
echo 'ifneq($*_SRC,$$(wildcard $*/*.c))'; \
echo '$@ $*/lib.a: .force'; \
echo 'endif'; \
} > $@
257:235
03/02/14 01:31
>>256
そいつだと、%.arc_ruleが作り直された段階で
$*/lib.a: .force の関係がキャンセルされてしまうみたいです。
なので、%.arc_ruleの出力時に$*/lib.aを削除するようにしました。
最終的にはこのようになりまして、(↓全角スペースがタブのかわり)
.PHONY : .force_update
$(ARC_LIST) : %/lib.a :
$(AR) $(ARFLAGS) $@ $?
ARC_RULES:=$(addsuffix /.arc_rule,$(DIR_LIST))
$(ARC_RULES) : %/arc_rule :
@{ \
echo '.$*_SRC:=$(wildcard $*/*.c)' ;\
echo '.$*_OBJ:=$$(.$*_SRC:.c=.o)' ;\
echo '$*/lib.a : $$(.$*_OBJ)' ;\
echo 'ifneq ($$(.$*_SRC),$$(wildcard $*/*.c))' ;\
echo '$@ : .force_update' ;\
echo 'endif' ;\
} >@ ;\
$(RM) -f $*/lib.a
include $(ARC_RULES)
動作は良好です。
ソースの追加、削除、引越しを完全に追跡してくれます。
快適です。
助言くださったみなさま、ありがとうございました。
優良スレage
258:デフォルトの名無しさん
03/02/14 01:32
SRCS=`find *.c`
INCS=`find *.h`
259:デフォルトの名無しさん
03/02/14 15:10
>>257
> >>256
> そいつだと、%.arc_ruleが作り直された段階で
> $*/lib.a: .force の関係がキャンセルされてしまうみたいです。
> なので、%.arc_ruleの出力時に$*/lib.aを削除するようにしました。
$*/lib.aを%.arc_ruleに依存するようにするのはどうよ。
260:デフォルトの名無しさん
03/02/15 01:55
>>259
対応するソースの無くなったオブジェクトがlib.aに残る問題を考えると、
あのタイミングで削除してしまったほうが効率もよく、すっきりします。
261:デフォルトの名無しさん
03/02/23 00:46
Makefileを手書きしたいのですがSolaris, Linux(Redhat, Debian), CygwinをMakefile内で自動判別する方法はないですか?
262:デフォルトの名無しさん
03/02/23 00:59
環境変数OSTYPEはだめか?
263:デフォルトの名無しさん
03/02/23 01:05
>>262
OSTYPEでうまくいきそうですがLinuxは両方linux-gnuになってしまいます。
setやenvにはディストリビューションの情報はなさそうです。
両者の区別は可能ですか?
264:デフォルトの名無しさん
03/02/23 01:09
>>263
サポートしているモノのうちのひとつを引数で受け取る仕様に汁。
次ページ最新レス表示スレッドの検索類似スレ一覧話題のニュースおまかせリスト▼オプションを表示暇つぶし2ch
5375日前に更新/188 KB
担当:undef