source: content/digarden/.stversions/20210519193247-make~20220309-051340.org@ 5a2b670

Last change on this file since 5a2b670 was 5a2b670, checked in by Mikhail Kirillov <w96k@…>, on Oct 6, 2022 at 12:37:40 PM

Add digital garden

  • Property mode set to 100644
File size: 1.4 KB
Line 
1#+title: Make
2Система сборки, используемая в проекте гну для языка си и си-подобных.
3- Собирает программу при помощи например GCC
4- Установка зависимостей
5- Запоминание установок сборки
6- Не будет собирать уже собранное
7
8*Нотация*:
9#+begin_src makefile
10 target [target ...]: [component ...]
11 [command 1] # ^ компоненты = зависимости
12 .
13 .
14 .
15 [command 2]
16#+end_src
17
18*Зависимости*:
19#+begin_src makefile
20 all: program1
21 # ^ если запущен просто make, то запускает программы из all
22 # v зависимости v
23 program1: objectFile.o obj2.o
24 gcc *.o -o program1 # Linking only
25
26 objectFile.o: objectFile.c
27 gcc -c objectFile.c -o objectFile.c # Compile only
28
29 obj2.o: obj2.c
30 gcc -c obj2.c -o obj2.c # Compile only
31
32 hello: ; @echo "Hello# "
33#+end_src
34
35*Особые команды*:
36/(-)/ Игнорировать ошибки
37/(@)/ Не выводить в стандартный порт вывода
38/(+)/ Выполнить даже если make не в режиме выполнения
39
40*Макросы/переменные*
41#+begin_src makefile
42 MACRO1 = 42
43
44 COMPILE = gcc *.c
45
46 gcc:
47 $(COMPILE)
48#+end_src
49
50
51
52https://gnu.org/software/make/
Note: See TracBrowser for help on using the repository browser.