1. 程式人生 > 其它 >新建一個最小的Makefile工程(C語言)

新建一個最小的Makefile工程(C語言)

技術標籤:makefilec語言

新建一個原始檔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