【Linux】make的工作原理和makefile檔案
2、如果找到,它會找檔案中的第一個目標檔案(target),在上面的例子中,他會找到“edit”這個檔案,並把這個檔案作為最終的目標檔案。
3、如果edit檔案不存在,或是edit所依賴的後面的 .o 檔案的檔案修改時間要比edit這個檔案新,那麼,他就會執行後面所定義的命令來生成edit這個檔案。
4、如果edit所依賴的.o檔案也不存在,那麼make會在當前檔案中找目標為.o檔案的依賴性,如果找到則再根據那一個規則生成.o檔案。(這有點像一個堆疊的過程)
5、當然,你的C檔案和H檔案是存在的啦,於是make會生成 .o 檔案,然後再用 .o 檔案生命make的終極任務,也就是執行檔案edit了。
這就是整個make的依賴性,make會一層又一層地去找檔案的依賴關係,直到最終編譯出第一個目標檔案。
相關推薦
【Linux】make的工作原理和makefile檔案
1、make會在當前目錄下找名字叫“Makefile”或“makefile”的檔案。2、如果找到,它會找檔案中的第一個目標檔案(target),在上面的例子中,他會找到“edit”這個檔案,並把這個檔案作為最終的目標檔案。3、如果edit檔案不存在,或是edit所依賴的後面的 .o 檔案的檔案修改時間要比ed
【Linux運維-叢集技術進階】keepalived工作原理和配置檔案解析
keepalived是什麼 keepalived是叢集管理中保證叢集高可用的一個服務軟體,其功能類似於heartbeat,用來防止單點故障,它可以自動檢測叢集中伺服器的健康狀況,比如主從模式時,當主伺
說說zookeeper【叄】_工作機制和實現原理
本文簡單說說zookeeper的工作機制。 總體來說,客戶端先和zookeeper伺服器建立起一個TCP長連線(session),之後根據ACL許可權的設定,可在zookeeper伺服器上對目
【ROS】建立工作空間和程式包
要使用ROS系統進行開發,首先需要在ROS下建立工作空間(workspace)和程式包(package)。 建立工作空間: $ mkdir -p ~/catkin_ws/src 執行上述命令即在使用者主目錄下建立了catkin_ws資料夾及其子資料夾src(-p表示建立目標路徑上的所
【轉載】Mybatis工作原理
引言 在mybatis的基礎知識中我們已經可以對mybatis的工作方式窺斑見豹(參考:《MyBatis————基礎知識》)。但是,為什麼還要要學習mybatis的工作原理?因為,隨著mybatis框架的不斷髮展,如今已經越來越趨於自動化,從程式碼生成,到基本使用,我們
【js】Redux基本原理和使用
Redux不是說任何的應用都要用到它,如果遇到了react解決不了得問題,可以考慮使用它。 例如: 使用者的使用方式複雜不同身份的使用者有不同的使用方式(比如普通使用者和管理員)多個使用者之間可以協作與伺服器大量互動,或者使用了WebSocketView要從多個來源獲取資料 Redux的設計思想: (
【linux】mongodb的安裝和部署
參考 詳情 介紹在linux環境下,mongodb的安裝與部署 安裝mongodb 下載 首先在官網上下載mongodb壓縮包,網址mongodb download,選擇對應的版本下載即可。 解壓安裝到指定目錄 預定安裝目錄
【hadoop】MapReduce工作流程和MapTask、Shuffle、ReduceTask工作機制
MapReduce整個工作流程:一、MapTask階段(1)Read階段:MapTask通過使用者編寫的RecordReader,從輸入InputSplit中解析出一個個key/value。(2)Map階段:該節點主要是將解析出的key/value交給使用者編寫map()函式
【轉載】WEB工作原理簡述
作為一名想學習網站開發, 或者更專業一點說叫"B/S體系結構系統"開發的同學來說, 可能首先想到的是學習各種前端技術, 例如: HTML, CSS, Javascript……, 以及各種動態網站開發技術
【轉載】Servlet 工作原理解析
要介紹 Servlet 必須要先把 Servlet 容器說清楚,Servlet 與 Servlet 容器的關係有點像槍和子彈的關係,槍是為子彈而生,而子彈又讓槍有了殺傷力。雖然它們是彼此依存的,但是又相互獨立發展,這一切都是為了適應工業化生產的結果。從技術角度來說是為了解耦,通過標準化介面來相互協作。既然介
【Linux】磁碟分割槽原理
磁碟連線的方式與裝置檔名的關係 個人計算機常見癿磁碟介面有兩種, 分別是 IDE 與 SATA 介面,目前主流已經是 SATA 介面了,但是老一點主機其實大部分還是使用 IDE 介面。 我們稱呼可連線到IDE介面癿裝置為IDE 裝置,不管是磁碟還是光碟裝置
【Spring】- ContextLoaderListener 工作原理
浪費了“黃金五年”的Java程式設計師,還有救嗎? >>>
【 Linux 】建立、檢視、刪除檔案
目錄 建立並檢視 單個刪除 從小白開始,記錄每一次遇到的問題,然後整理出來,我相信剛接觸Linux的人多多少少也會遇到類似的問題,如果看到了我的部落格,也是一種緣分。 今天想記錄下如何建立,檢視,以及刪除一個檔案。 建立並檢視 首先看看最普通的辦法,純粹使
【Linux】關於mpiexec中的config檔案可以在提交程式後修改
演算法評測需要跑很多次取均值,因此離不開linux叢集。 叢集上並行執行多次的命令是mpiexec,執行10次的命令是:mpiexec -n 10 -f config nohup python hel
【linux】將ubuntu終端輸出為檔案
方案一: tee tee --help 用法:tee [選項]… [檔案]… 將標準輸入複製到每個指定檔案,並顯示到標準輸出。 -a, --append 內容追加到給定的檔案而非覆蓋 -i, --ignore-interrupts 忽略中斷訊號 -p diagnose
【Mybatis】mapper動態代理和對映檔案配置標籤
提要:主要演示了mybatis中,在類中的其他自定義類,在sql語句中如何取值。sql語句中,範圍sql與集合的對應 一、目錄結構 二、相關實體類 QueryVo package com.test.domain; import java.io.Seria
【Linux】使用SHELL指令碼實時檢視檔案大小
使用SHELL指令碼重複執行ls命令並將結果寫入檔案 1、編寫shell指令碼,存在/root/下,ls.sh date >> ls.txt 2>&1 while (true) do ls -l -k hhhhh >>ls.txt
【Oracle 叢集】ORACLE DATABASE 11G RAC 知識圖文詳細教程之RAC 工作原理和相關元件(三)
概述:寫下本文件的初衷和動力,來源於上篇的《oracle基本操作手冊》。oracle基本操作手冊是作者研一假期對oracle基礎知識學習的彙總。然後形成體系的總結,一則進行回顧複習,另則便於查詢使用。本圖文文件亦源於此。閱讀Oracle RAC安裝與使用教程前,筆者先對這篇文章整體構思和形成進行梳理。
【Linux】目錄文件權限的查看和修改【轉】
文件和目錄 得到 區域 紅色 執行命令 img 同時 修改權限 似的 轉載自:http://zhaoyuqiang.blog.51cto.com/6328846/1214718 ----------------------------------------------
【Linux】【Services】【SaaS】Docker+kubernetes(4. 用ansible管理機器和軟件)
實現 service SDR https 輸出 公司 keygen /etc slave 1. 簡介 1.1. 公司環境使用的puppet,但是我更喜歡ansible,原因有二,第一,我是紅帽的忠粉:),第二,我對python比較熟悉 1.2. ansible官方網站:ht