Linux 從頭開始

Linux 從頭開始

我目前正在做 Linux From Scratch。

  1. 配置
  2. 製作
  3. 進行測試
  4. 進行安裝

還有一件事什麼是 makefile ?

請向我解釋一下這些命令的用途,特別是在 LFS 方面。

答案1

我(有點)知道它的作用,但我不確定我是否知道如何解釋。

基本上,按照您提到的命令序列,您正在從原始程式碼(即用程式語言編寫的程式碼)創建二進位可執行形式(程式、庫)的東西,並將其安裝在作業系統中(將其移動到適當的資料夾) 、設定設定檔等)。

makefile 是 make 指令使用的文字檔。它有助於(自動化)任務。單一 makefile 可能包含 make 要執行的多個任務或操作的資訊。如果沒有 makefile,您將必須執行許多複雜的手動步驟才能完成工作。

「配置」:(解釋取自這裡) 檢查有關要安裝軟體的電腦的一些詳細資訊。該腳本檢查系統上的大量依賴項。為了使特定軟體正常工作,可能需要您的電腦上已經存在很多東西。如果您的系統缺少任何主要要求,配置腳本將退出,並且您無法繼續安裝,直到您獲得這些必需的東西。否則,它將建立要在下一步中使用的 Makefile。

不含參數的「make」:指示make執行makefile中的預設動作(規則)。這通常會編譯、連結並產生您嘗試建立的二進位(即程式或函式庫)。這通常涉及將原始程式碼轉換為目標檔案(通常具有副檔.o名)並將它們連結到最終的二進位檔案(對於 Linux 程式通常沒有擴展名,或者對於 Linux 程式庫通常具有.so.a擴展名)。我不確定這些步驟,因為我是 Java 程式設計師,我們不經常執行這些步驟)。

“make test”:對此二進位執行測試。

“make install”:基本上將二進位檔案移到正確的資料夾位置。

這個解釋當然可以得到很多改進,我只是想讓你了解一般過程。

這個簡短的教程可能會提供更多資訊。

答案2

使用 aMakefile可以讓開發人員和最終用戶的生活變得更輕鬆。基本上,它是如何建立特定軟體的備忘單。對於一個簡單的“Hello world”,ag++ hw.cpp -o hello_world可以工作。然而,當您擁有更複雜的軟體時,通常必須先建立 A 部分,然後再建立 B 部分,一旦這兩個部分完成,就可以建立 C 部分。手動輸入這些內容 - 以及插入包含的庫、臨時輸出檔案、最終安裝路徑等的路徑(通常在腳本configure運行時確定) - 可能會導致錯誤。

相關內容