| |
compile_flags = -O3 -funroll-loops -fomit-frame-pointer
����� ������ ������������ ��� �������� ������� make. ��� ����� ��������, ��������, � �������� ������� � ����� ��.
#define compile_flags "-O3 -funroll-loops -fomit-frame-pointer"
�������� ����������, �������� � ������� ��������� '=', ����� ��������� � ������ �� �������������. ��������, ��� ��������� make-�����:
var1 = one
var2 = $(var1) two
var1 = three
all:
@echo $(var2)
�� ����� ����� ������ ������ ``three two''. �������� ���������� var2 ����� ��������� ��������������� � ������ ���������� ������� echo, � ����� ������������ ����� ������� �������� ���������� var1, � �������� ��������� ������ ``two''. ��� ��������� - ���� � �� �� ���������� �� ����� ������������ ������������ � ����� � ������ ����� ���������, ��� ��� ��� ����� �������� � ����������� ��������. GNU Make ���������� �������� �������� � ��������� ��������� make-�����. ��������� ������ ������� ������:
compile_flags = -pipe $(compile_flags)
GNU Make ������������ ����� � ������, ����� ������ ������� ���������� - � ������� ��������� ':=':
compile_flags := -O3 -funroll-loops -fomit-frame-pointer
� ���� ������ ���������� �������� ������� ``�������'' ��������� ���������� � �����-������ �� ������ ����������������. ��� ��������������� ������ ����� ��������� �� ����� C++:
string compile_flags = "-O3 -funroll-loops -fomit-frame-pointer";
�������� ���������� ����������� � ������ ��������� ��������� ������������. ����, ��������, ��������
var1 := one
var2 := $(var1) two
var1 := three
all:
@echo $(var2)
�� ��� ��������� ������ make-����� �� ����� ����� ������ ������ ``one two''.
���������� ����� ``������'' ���� ��������� � ����������� �� ����, ����� �� ���������� ������������ ��� � ��� �������� ���������. ���� � �� �� ���������� �� ���������� ����� ����� ������ ����� ����� ���� � ��� ``������'' � ��� ``��������� ����������''.
����������� ���� edit � �������� ���� �������� ����������� ��� ������ ����������. ����� �������� �� ����������, ��������� ����������, ������� ����� ��������� ����� ���� ��������� ������.
# Makefile for simple editor������, ������������ � ``OBJS ='' ���������� ���������� OBJS, �� ������� ����� � ���������� ��������� ����� ``$(OBJS)'' ��� ``$OBJS''. ��� ����� ������� ������ �������� � ����, ��� ����������� OBJ ����� �������� ����������, ������ ��� ������� ����� ����������. ������ ��������, ��� � gmake � shell ���������� `$' ��� ������� ��� ������ �� ����������; gmake ���������� `$$', ����� ��, ��� `$', �������� ��� ���������� `$' � shell, ���� ��� ����������.OBJS = edit.o kbd.o commands.o display.o
![]()
insert.o search.o files.o utils.o
edit : $(OBJS)
gcc -g -o edit $(OBJS)
������ ��� ����� ������������ ��������, ���������� ��� ������� ����������, �� � ���������� �����������. ��������, ������� ���������� �� ������� ���� ���� �������� ������, �� ������ �������� ������ ����� ���� ������������ ��������� ������. ����� �������������� OBJS ��������� �������.
SRCS = edit.cc kbd.cc commands.cc display.cc������� ��������� `:.cc=.o' ���������� ����������� ���������. ������ � ��� ���� ���������� ��� ���� ���� �������� � ��������� ������, ��� ���� �� �������� ��������� � ������������ ��������� ����.![]()
insert.cc search.cc files.cc utils.cc
OBJS = $(SRCS:.cc=.o)
���������� ����� ���� ��������� � � ��������� ������ ��� ������ gmake. ��������, ���� make-���� ��������
edit.o: edit.cc�� ������� ����
gcc $(DEBUG) -c -Wall edit.cc
gmake DEBUG=-g ... �������� � ������������� ����� -g
(�������� ������������� ���������� ���������) ��� ����������, � ����������
DEBUG=-g �������� ������������� ����� �����. �����������
���������� � ��������� ������ ����� ������������ ����� �������������
������ make-�����, ��� ��������� ������ � make-����� �������� �� ���������.
����������, �� ������������� ����� �� ������������� �������, ����� ���� ����������� ��� ���������� �����. �������, ������������������ ������
setenv DEBUG -g gmake ...
��� ���������� ������� ����� �������� � ������������� ����� -g �� ����� ����������.