Mpxplay v1.54 b3/a2 for Win32 (2006-12-14)

Win32 版のバイナリが更新。ソースも DOS 版と統合(DOS 版のバイナリは更新されていないが、ソースアーカイブが更新されている)。
落としただけで試してない。とりあえすドキュメントだけ見てみたが、CPU 負荷については何も書いてなかったorz

OpenWatcom 1.6 正式版

来たみたい
これ書いてる時点でトップページは更新されていないが、List of Changes にはすでに 1.6 の更新目録ができている。

いちおう更新部分だけ手っ取り早く訳してみますたアセンブラを別にすると、以前ほど激しい(?)修正はないもよう。もしかすると wmake の挙動変更がいちばん影響がデカいような気もする。まあ unix 互換モードや nmake 互換モードだと関係ないぽいけど(実は wmake の挙動ってバージョンごとに微妙に変わってて、以前に作った wmake 用の makefile がうまく動かなくなったりすることがある)。

OpenWatcom の wmake についてもうすこし

なんか symbolic うんぬんが気になったので、すこし確認してみた。

まずこんなの書いた(test.wmk)

test1: test1_2 .SYMBOLIC

test1_2: .SYMBOLIC
	%null

test2: test2_2 .SYMBOLIC

test2_2: .SYMBOLIC

ちなみに %null っていうのは wmake 内部用のコマンドで「何もしない」というイミらしいです。
んで test1 のターゲットを生成してみます。

C> wmake -h -y -f test.wmk test1
%null
test1 will be built because of test1_2

C>_

念のためオプションの説明:

  • -h : 起動時のコピーライトメッセージを表示しない(Watcom C/C++ コンパイラでいうところの -zq)
  • -y : ターゲット更新要因(上の例だと "test1 will be built..." のとこ)の表示
  • -f : makefile 指定(これは一般的)

ついでに表示メッセージが中途半端に日本語でキモい場合は環境変数 WLANG に english と設定するのが吉。

で、こんどは test2 の生成。

C> wmake -h -y -f test.wmk test2

C>_

何も出ませんでした。めでたしめでたし。いやダメなのか?
-y オプションの結果も表示されてないからホントに何も更新されていないのだろうと思われます。

念のためデバッグモード(オプション -d)でも確認してみたヨ。

C> wmake13 -d -y -h -f test.wmk test1
Entering file (test.wmk)...
test.wmk(11): ...Finished file (test.wmk)
Updating (test1):has Single-colon explicit rule
Updating (test1_2):has Single-colon explicit rule
%null
        Oldest Possible         (test1)
        Oldest Possible         (test1)
        Youngest Possible       (test1_2)
test1 will be built because of test1_2
        (test1) has no implicit rules

C> wmake13 -d -y -h -f test.wmk test2
Entering file (test.wmk)...
test.wmk(11): ...Finished file (test.wmk)
Updating (test2):has Single-colon explicit rule
Updating (test2_2):has no explicit rule
        (test2_2) has no implicit rules
        Oldest Possible         (test2)
        Oldest Possible         (test2)
        Oldest Possible         (test2_2)

C> wmake16 -d -y -h -f test.wmk test1
Entering file (test.wmk)...
test.wmk(11): ...Finished file (test.wmk)
Updating (test1):has Single-colon explicit rule
Updating (test1_2):has Single-colon explicit rule
%null
(test1_2) is up to date
        Oldest Possible         (test1)
        Oldest Possible         (test1)
        Youngest Possible       (test1_2)
test1 will be built because of test1_2
        (test1) has no implicit rules
(test1) is up to date

C> wmake16 -d -y -h -f test.wmk test2
Entering file (test.wmk)...
test.wmk(11): ...Finished file (test.wmk)
Updating (test2):has Single-colon explicit rule
Updating (test2_2):has no explicit rule
        (test2_2) has no implicit rules
(test2_2) is up to date
        Oldest Possible         (test2)
        Oldest Possible         (test2)
        Oldest Possible         (test2_2)
(test2) is up to date

C> 

バージョン 1.3 でも 1.6 でもかわんねえなあ…List of Changes in C/C++ 1.6 に乗ってる wmake 関係のネタってこのことじゃないのかしら。それとも「前からこうだったけど今までドキュメント化してなかったよテヘヘ」みたいなことなんじゃろか。