學習筆記之Makefile

2021-07-25 22:13:15 字數 1491 閱讀 1051

makefile :專案管理工具

只將與修改的原始檔相關的 檔案進行編譯,其他的進行連線。

stat  test.c  :可以檢視乙個檔案的修改時間

touch test.c :更新檔案的時間

make -p >file

vi file             :  makefile 內建規則檢視

#階段三

makefile 變數宣告,使用變數

obj = add.c sub.c mul.c dive.c main.c

$@表示目標,$^表示所以有的依賴, $< 表示依賴中的第乙個

# 通用**

src=$(wildcard *.c)  //找到當前目錄下所有 .c檔案; $表示索引()裡邊的函式

obj=$(patsubst %.c,%.o,$(src));

$(target):$(obj)

gcc $^ -o $@

目標:依賴

%.o :%.c

gcc -c  $<  -o  $@

#clean 用來清除生成的中間檔案和最終的目標檔案

#偽檔案clean,用來避免重名檔案clean

# -rm 表示此條命令出錯後繼續執行後面的命令

# @   表示不顯示命令,只顯示結果

.phony:clean

clean:

-rm -f *.o

#階段四

參考檔案  gnu makefile

cppflags= -iinclude   //include 是頭檔案目錄

,如果沒有可以空著不寫

cflags= -g -wall  //編譯時的命令

ldflags= -l../lib -    //共享庫的路徑,如果沒有可以空著不寫

cc=gcc            //編譯器

#cc=arm-linux-gcc  //嵌入式

src=$(wildcard *.c)  //找到當前目錄下所有 .c檔案; $表示索引()裡邊的函式

obj=$(patsubst %.c,%.o,$(src));

$(target):$(obj)

$(cc) $^ $(ldflags) -o $@

%.o :%.c

$(cc) -c  $< $(cflags) $(cppflags) -o  $@

.phony:clean

clean:

-rm -f *.o

#徹底清除生成過程檔案和生成配置檔案

distclean:

install:

test:

@echo $(src)

make -c src    //可以指定要進入的目錄,然後呼叫目錄裡邊的makefile檔案

筆記 學習vc之makefile

隨便寫個原始碼 include int winapi winmain hinstance hinstance,hinstance hprevinstance,pstr szcmdline,int icmdshow 儲存為main.cpp 下邊是makefile的內容,圖簡單,沒用那些 之類的,慢慢簡...

makefile學習筆記 makefile概述

20180411 makefile學習筆記 makefile概述 makefile主要是在unix下軟體編譯時寫的,window下一般不用 unix裡makefile做的事 相當於window裡ide所做的事 會不會寫makefile,從乙個側面說明了乙個人是否具備完成大型工程的能力。makefil...

Makefile學習筆記

makefile for boot asm nasm 定義變數 asmflags i include run qemu system i386 hdd boot.img boot.img boot.asm asm boot.asm f bin o boot.img install run clean...