これは、Ubuntu Online、Fedora Online、Windows オンライン エミュレーター、または MAC OS オンライン エミュレーターなどの複数の無料オンライン ワークステーションの XNUMX つを使用して、OnWorks 無料ホスティング プロバイダーで実行できるコマンド mmake です。
プログラム:
NAME
mmake - Java Makefile を生成する
SYNOPSIS
mmake [ -d ⎪ -v ]
DESCRIPTION
このプログラムは Java ソース ファイルの Makefile を生成します。 使用 -d 受け入れるオプション
すべてデフォルトです。
mmake を実行すると、開始したディレクトリに Makefile が取得されます。
プログラム。 Makefile は、現在のディレクトリおよび任意の場所にある Java ファイルを処理します。
サブディレクトリ。
生成された Makefile を次のように mmake で使用します。
Java ファイルをコンパイルするには、次のように入力するだけです make。 次のいずれかを使用して make を実行することもできます。
次のターゲット: doc、 掃除、 助けて、 瓶、 srcjar、 バンドル、 インストール、 アンインストール、 タグ
決まる 「make doc」がソースファイルに対して javadoc を実行する場合、それは次のファイルに対してのみ機能します。
パッケージ。 コマンド「make clean」は、クラスファイルおよびその他の一時ファイルを削除します。 の
コマンド「make jar」は、すべてのクラスファイル(および他のファイルを含むjarファイルを作成します)
選択については、Makefile の JAR_OBJS 変数を参照してください)。 コマンド「make srcjar」は
すべての Java ファイルを含む jar ファイル。 コマンド「make Bundle」は Mac OS X アプリケーションを作成します
すべての jar ファイルをバンドルします。 コマンド「make install」はjarファイルとアプリをインストールします
バンドル、クラス ファイル、および作成したシェル ラッパー。 (シェルスクリプトには
拡張子 .sh がインストールされます)。 インストールされたファイルを削除するには、「make uninstall」を使用します。 の
コマンド「make help」は、利用可能なターゲットを含むヘルプ テキストを表示します。 コマンド「タグを作成」
Emacs用のタグファイルを生成します。 最後に、「make depend」コマンドにより、
クラスファイルの依存関係グラフ。 (依存関係グラフは、という名前のファイルに置かれます。
makefile.dep、Makefile に含まれています)
新しい Java ファイルをプロジェクトに追加するたびに mmake を実行する必要はありません。 あなたは付け加えられます
新しい Java ファイルを好きなだけ追加すると、Makefile がそれらを見つけます。 これはいつまでもそうなる
新しいパッケージを追加しないためです。 その場合は、mmake を再度実行するか、アップデートする必要があります。
Makefile の PACKAGE 変数。 これは、Makefile がこの変数を使用して、
Java ファイルのあるディレクトリを検索します。
プログラム mmake は、Java ファイルの依存関係グラフを作成できます。 これを行うには、
必要 じゅく IBMのコンパイラ。 からジークスを入手
http://www.ibm.com/developerworks/oss/jikes/.あなたはおそらくジクのほうが満足するでしょう。
とにかく、javac よりもはるかに高速です。 依存関係グラフを作成するには、次の手順を実行します。 make
実行する前に make 決まる.
A 注意 ON インストール
mmake で作成された Makefile は、さまざまなファイルを適切にインストールします。
あなたのシステムを構成します。 実行時に次の Makefile 変数を使用します。
インストールルーチン:
· プレフィックス
· CLASS_DIR
· JAR_DIR
· BUNDLE_DIR
· DOC_DIR
· SCRIPT_DIR
プレフィックス
この変数は、上記の他のすべてのディレクトリ変数の先頭に追加されます。 のために使用されます
他のディレクトリを XNUMX つのルート ディレクトリにグループ化します。 それを望まない場合は、そうすることもできます
Makefile で変数を空の文字列に設定するだけです。 変数が空の場合は、
たとえばワンショットの場合など、make を実行するときにコマンドラインで使用することもできます。
次のようなインストール: make PREFIX=/local/myproject/ install
CLASS_DIR
この変数は、すべてのクラス ファイルがインストールされる最上位ディレクトリを示します。 これは
デフォルト値は クラス、良い価値があると思います。 注意: もしあなた しない したい
クラス ファイルをインストールします (たとえば、jar ファイルのみを使用するため)。
この変数を空の文字列にすると、クラス ファイルはインストールされません。
リソース ファイルがディレクトリ内に存在する場合、そのファイルもこのディレクトリの下にインストールされます。
パッケージ構造。 これは、たとえば ResourceBundles を使用してローカライズしている場合に便利です。
アプリケーションを作成し、パッケージ構造内の独自のディレクトリにプロパティ ファイルを置きます。
JAR_DIR
この変数は、Makefile に jar ファイルをインストールする場所を指示します。 デフォルト値は次のとおりです リブ,
これも適切なデフォルト値です。
BUNDLE_DIR
この変数は、Makefile にアプリ バンドルをインストールする場所を指示します。 デフォルト値は次のとおりです
リブ、これも適切なデフォルト値です。
DOC_DIR
javadoc を実行すると、すべての HTML ファイルがこのディレクトリに配置されます。 そのデフォルト
値は ドキュメント/APIドキュメント。 おそらくその名前を維持する必要がありますが、再度変更することもできます
それはお好みで。
SCRIPT_DIR
Makefile はこの変数を使用して、既存のシェル ラッパー スクリプトをインストールします。
作成した。 アプリケーションを作成する場合、ユーザーにとっては常に、
アプリケーションを起動するためのラッパースクリプト。 そのデフォルト値は次のとおりです ビン。 (Makefile は
拡張子 .sh を持つシェル スクリプトをインストールします。 mmake スクリプトは Makefile に指示します。
シェルスクリプトを探す場所)
インストール 概要
デフォルト値をそのまま使用すると、次のようなインストール ツリーが表示されます。
`-- プレフィックス
⎪-- ビン
⎪-- クラス
⎪ `-- パッケージ <--- サブディレクトリの例
⎪ ⎪-- サブパッケージ1
⎪ ⎪-- サブパッケージ2
⎪ `-- サブパッケージ3
⎪-- ドクター
⎪ `-- API ドキュメント
`-- ライブラリ
使用する 、 C プリプロセッサ
これは、複数の異なるバージョンを持つプロジェクトを管理するための優れたツールです。 アイデア
Java で C プリプロセッサを使用する理由は、さまざまなバージョンをより適切に管理するためです。
簡単に。 これは、ソース ファイル内の CPP 条件ステートメントを使用して行われます。 私は...するだろう
CPP を使用して Java 言語自体を再定義しないことを強くお勧めします。
Java と C プリプロセッサを併用するには、ソース ファイルの名前を変更します。
前処理したいもの -- から.java から.xjava。 メイクファイルには、
.xjava ファイルから .class ファイルを構築するルール。
これは、 すべてのファイルを .java から .xjava に変更する必要があります。 Makefile はうまく動作します
.java ファイルと .xjava ファイルの両方の環境でも一貫して動作します。 (例:「きれいにする」は
.xjava ファイルから作成された .java ファイルのみを削除します。 他の Java ファイルは、
コース、 除去される。)
たとえば次のように、Java コードで cpp 条件文を使用できるようになりました。
#ifdef JAVA1_1
[コード1]
#その他
[コード2]
#endif
上の例の JAVA1_1 ラベルは、次の VERSION 変数に対してテストされます。
メイクファイル。 つまり、VERSION 変数が JAVA1_1 の場合、[code1] はコンパイルされ、
[コード2]は省略されました。 同様に、VERSION が JAVA1_1 以外の場合、[code2] は次のようになります。
コンパイルされ、結果の .class ファイルから [code1] が除外されます。
注意事項
mmakeがあなたに与えます XNUMXつ Java ファイルを管理するための Makefile。 簡単なのに、
再帰的な makefile コンテキストで mmake をセットアップして使用する場合、それは望ましくありません。 見る
なぜ、素晴らしい記事を読んでください: 再帰的 メーカー 検討中 有害な at
http://www.canb.auug.org.au/~millerp/rmch/recu-make-cons-harm.html
依存関係
mmake には次のものが必要です。
· Perl 5.x
・ヌーメイク
· Gnu xargs (推奨)
onworks.net サービスを使用してオンラインで mmake を使用する