新建一個最小的Makefile工程(C語言)
新建一個原始檔main.c
#include<stdio.h>
int main()
{
printf("Welcome to Makefile and ld.script project ! \r\n");
return 0;
}
新建一個連結指令碼檔案ld.script
ld -verbose > ld.script
注意:需要將ld.script檔案中的頭部和尾部非法內容去掉。
新建一個Makefile檔案
TARGET = main.bin
BUILD = main.elf
OBJS = main.o
CROSS_COMPILE =
CC = $(CROSS_COMPILE)gcc
LD = $(CROSS_COMPILE)gcc
OBJCOPY = $(CROSS_COMPILE)objcopy
CFLAGS = -Wall -g
LDFLAGS = -Wall -g -T ld.script
all:$(TARGET)
$(TARGET):$(BUILD)
$(OBJCOPY) -O binary $^ $@
$(BUILD):$(OBJS)
$(LD) $(LDFLAGS) -o $@ $^
%.o:%.c
$(CC) $(CFLAGS) -c -o $@ $^
%.o:%.S
$(CC) $(CFLAGS) -c -o $@ $^
clean:
rm -f $(TARGET) $(BUILD) *.o
工程的使用
編譯工程:
make
./main.elf
清除工程
make clean
相關文章
- GO語言一個簡單的工程Go
- idea如何新建一個springmvc 工程IdeaSpringMVC
- 一分鐘開始持續整合之旅系列之:C 語言 + Makefile
- 新手的第一個c語言小程式C語言
- 新建React Native工程使用TypeScript語言:RN版本升級持續更新建立方法React NativeTypeScript
- C語言(一)C語言
- 02-第一個C語言程式C語言
- C語言:一種高效、易學的程式語言C語言
- C語言:一個例子理解 union 和 structC語言Struct
- 一個小而美的 C 語言專案
- C語言實現一個簡易的Hash table(7)C語言
- [C語言] 第一章|C語言入門第一課C語言
- C語言的幾個關鍵字C語言
- C語言:10個元素整型陣列,最小值和第一個元素交換,最大值與最後一個元素交換C語言陣列
- C語言入門題-7-1 最大和最小 (10分)C語言
- C語言輸入一個數輸出對應的值C語言
- C2x將成為C語言的下一個ISO標準C語言
- 以太坊Solidity程式語言開發框架————3、建立一個工程Solid框架
- C語言:判斷一個字串是否為迴文C語言字串
- C++程式語言的四個準則C++
- C語言學習的幾個階段C語言
- C語言與嵌入式C語言的區別C語言
- go語言與c語言的相互呼叫GoC語言
- 自己用C語言寫的一個模擬退火演算法C語言演算法
- Cython,一個簡化 Python 編寫 C 擴充套件的語言Python套件
- c語言 - 模仿qsort的功能實現一個通用的氣泡排序C語言排序
- C語言實現的一個簡單的猜數小遊戲C語言遊戲
- 最右招聘後端開發工程師!go語言c++語言,可加微信:478202433後端工程師GoC++
- C語言C語言
- 條款01: 視C++為一個語言聯邦C++
- C++程式語言的四個基本準則C++
- C語言計算輸入字元的個數C語言字元
- C語言:計算輸入字元的個數C語言字元
- c語言基礎的一些小技巧C語言
- C語言容易混淆的一些概念C語言
- 聊聊C語言/C++—程式和程式語言C語言C++
- python與c語言的語法有哪些不一樣的PythonC語言
- Python 和 C 語言學哪個更好?Python