Некоторые обязательные правила в Makefile

Определите некоторые переменные

ИМЯ = led_asm
CROSS_COMPILE = arm-none-linux-gnueabi-

Компилировать

CC = $ (CROSS_COMPILE) gcc

Ссылка на связывание файлов .o для создания файлов .elf

LD = $ (CROSS_COMPILE) ld

Создать .bin из .elf файла

.bin - это чистый двоичный файл

.elf содержит символы

OBJCOPY = $ (CROSS_COMPILE) objcopy

правило

all:
$ (CC) -O0 -g -c $ (NAME) .S -o $ (NAME) .o
@ # -O0: уровень оптимизации кода
@ # -g: добавить отладочную информацию
@ # -c: только Компиляция не связывает
$ (LD) -Ttext = 0x43c00000 $ (NAME) .o -o $ (NAME) .elf
@ # -Ttext = 0x43c00000: укажите начальную позицию кода
$ (OBJCOPY) -O binary $ (NAME). elf $ (NAME) .bin
@ # -O binary: выходной двоичный файл

чистый:
rm -rf * .elf * .bin * .o

install:
@ # Измените путь к вашей собственной папке с вкладом
cp $ (NAME) .bin / mnt / hgfs / share /

По поводу командной переменной.

С УЧАСТИЕМ

函数库打包程序。默认命令是“ar”。 

ТАК КАК

汇编语言编译程序。默认命令是“as”。

CC

C语言编译程序。默认命令是“cc”。

CXX

Компилятор языка C ++. Команда по умолчанию - «g ++».

CO

从 RCS文件中扩展文件程序。默认命令是“co”。

CPP

C程序的预处理器(输出是标准输出设备)。默认命令是“$(CC) –E”。

FC

Компиляторы и препроцессоры для Fortran и Ratfor. Команда по умолчанию - «f77».

ПОЛУЧИТЬ

从SCCS文件中扩展文件的程序。默认命令是“get”。 

LEX

Lex方法分析器程序(针对于C或Ratfor)。默认命令是“lex”。

ПК

Компилятор языка Паскаль. Команда по умолчанию - «pc».

YACC

Анализатор грамматики Yacc (для программ на языке C). Команда по умолчанию - «yacc».

YACCR

Анализатор грамматики Yacc (для программы Ratfor). Команда по умолчанию - «yacc -r».

MAKEINFO

转换Texinfo源文件(.texi)到Info文件程序。默认命令是“makeinfo”。

TEX

从TeX源文件创建TeX DVI文件的程序。默认命令是“tex”。

TEXI2DVI

从Texinfo源文件创建军TeX DVI 文件的程序。默认命令是“texi2dvi”。

Ткать

转换Web到TeX的程序。默认命令是“weave”。

CWEAVE

转换C Web 到 TeX的程序。默认命令是“cweave”。

Клубок

转换Web到Pascal语言的程序。默认命令是“tangle”。

CTANGLE

转换C Web 到 C。默认命令是“ctangle”。

RM

删除文件命令。默认命令是“rm –f”。

рекомендация

отblog.csdn.net/weixin_48430195/article/details/108681706