新建一個最小的Makefile工程(C語言)
阿新 • • 發佈:2020-12-25
新建一個原始檔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 $^ [email protected]
$(BUILD):$(OBJS)
$(LD) $(LDFLAGS) -o [email protected] $^
%.o:%.c
$(CC) $(CFLAGS) -c -o [email protected] $^
%.o:%.S
$(CC) $(CFLAGS) -c -o [email protected] $^
clean:
rm -f $(TARGET) $(BUILD) *.o
工程的使用
編譯工程:
make
./main.elf
清除工程
make clean