3

私は、Inferno と LuaJIT を組み合わせてインタラクティブな分散開発環境を作成するホスト型ハイブリッド OS である Node9 の作成者です。ここでプロジェクトを参照してください: https://github.com/jvburnes/node9

基本的な 4.x プリメイク スクリプトを作成して、すべての依存関係と OSX のメイン ソース コードをコンパイルしましたが、現在、人々は Linux、BSD、および Windows のビルド構成を求めています。これを行うためのコードがあり、これらの OS 上で Node9 をビルドして実行するための premake 構成を作成したいと考えています。ライブラリを設定し、検索パス、コンパイラ名、およびプラットフォームごとの定義を含める必要があります。

  1. 誰かが良いマルチプラットフォームのプリメイクスクリプトを教えてくれますか?
  2. 「premake gmake」を使用して何らかの方法でネイティブ プラットフォームを認識しますか?それともコマンド ラインにターゲット プラットフォームを明示的に配置し、premake の構成セクションとプラットフォーム セクションでそのプラットフォームを参照する必要がありますか?
  3. プリメイク 4.x はレガシーであり、プリメイク 5.x が今後のソリューションであると聞きました。これらすべてのプラットフォーム用にビルドするのに十分な安定性と可用性がありますか?

たくさんの質問があることは承知していますが、私はこれを正しく行いたいと思っています。

ありがとう。

4

3 に答える 3

1

誰かが良いマルチプラットフォームのプリメイクスクリプトを教えてくれますか?

Premake のソース パッケージを見ると、対象となるプラットフォームごとに 1 つずつ、複数の makefile がbuild/gmake.windowsおよびのような名前のディレクトリに含まれていることがわかりますbuild/gmake.macosx。それは1つのオプションです。

もう 1 つのアプローチは、@Citron が彼のスクリプトで提案したように、すべてを 1 つの Makefile に入れ、ビルド時にコマンド ラインで目的の構成を選択することです。その場合、ビルド コマンドは次のようになります。

$ make config=debug_win32

helpPremake で生成された Makefile でターゲットを実行すると、すべての有効な構成オプションのリストが表示されます。

$ make help

または、開発者が Premake をローカルにインストールする必要があることを気にしない場合は、ビルドする前に環境用にカスタマイズされた makefile を生成できます。その場合、スクリプトは次のようになります。

solution "MySolution"
   configuration { "Debug", "Release" }

   filter { "system:Windows" }
      -- windows specific stuff

   filter { "system:MacOSX" }
      -- mac specific stuff

   filter { "system:Linux" }
      -- etc.

この場合、実行premake5 gmakeすると、現在の環境を対象とするメイクファイルが作成されます。

于 2015-07-16T16:44:01.270 に答える
0

これはかなり近いです。少し近い答えは、「システム:」でフィルターを使用することだと思います。premake を使用してマルチプラットフォームの make を生成することと、それを使用して現在のプラットフォームの makefile をビルドすることの違いだと思います。

これまでのところ最も近い答えなので、賛成します。

于 2015-07-09T16:19:57.123 に答える