私はデフォルトのホームデスクトップオペレーティングシステムとしてGentooを使用します。 2004年から持っていました。emerge
ソースベースのオペレーティングシステムを管理するためのこのコマンドに感謝します。時々他のディストリビューションもチェックするのが特に好きです。Linux From Scratch - 知らない人のために。明らかに、私はGentooを使うことがこの点で私を台無しにしたので、本全体を読んだことはありません。私はGentooがLFS +パッケージマネージャだと思います。私はついに本を完成させたいと決めました。
リリース候補を追跡しています。バージョン3 - CLFS用のシステム化、それが私に当たった。第6章 - 一時システム - 生産。 ユーザーがmake
Make バージョンをコンパイルする必要がある場合、因果関係の問題、鶏が先か卵が先か現れる これは次の論理的な質問につながります。
いつスチュアートフェルドマン1976年に作成された
make
コンピューティング一般のオペレーティングシステムにオペレーティングシステムの依存関係が含まれていない場合は、どのようにプログラムをコンパイルできますかmake
?以下のWikipediaのドキュメントがすべてのオペレーティングシステムに対して正しいと仮定できますか?1を達成するには、makeのすべてのオペレーティングシステムに依存するバージョンを含むようにmakeをパッケージ化する必要がありますか?(下記参照)
プログラムAが必要ですが、OS Aでのみコンパイルされる場合は、OS Bを使用してもOS Aを購入する必要がありますか? (可能であれば、ここではWindowsを無視してください。)
修正する
- jimmijのコメントによると、OS固有のコンパイラは、OS固有のmakeと同じ方法で存在しますか?
ウィキペディア説明する:
Makeが導入される前に、Unixビルドシステムは通常、オペレーティングシステム固有の「make」および「install」シェルスクリプトと対応するプログラムソースコードで構成されていました。さまざまなターゲットのコマンドを単一のファイルに結合し、依存関係の追跡とアーカイブの処理を抽象化できることは、現代のビルド環境の方向の重要なステップです。
また、私が1976年に生まれたので、ここで歴史的観点を探しているという点も参考にしてください。
答え1
makeは単に便宜のためのものです。それなしでソフトウェアを構築できますが、これはさらに困難です。
ビルドを実行すると、make
実行中のコマンドが表示されます。これらのコマンドを手動で実行して同じ効果を得ることができます。
$ echo "int main() {}" > test.c
$ make test
cc test.c -o test
test
次
の手順を実行すると、同じ結果が得られます。
cc test.c -o test
makeがない場合は、ユーザーにこのcc
コマンドを手動で実行するように指示するか、シェルスクリプトをデプロイして実行するように指示できます。