新建一个最小的Makefile工程(C语言)

新建一个源文件main.c

#include

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

你可能感兴趣的:(makefile,c语言)