-
Notifications
You must be signed in to change notification settings - Fork 0
/
Makefile.rules
64 lines (52 loc) · 1.4 KB
/
Makefile.rules
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
#
# Asterisk -- A telephony toolkit for Linux.
#
# Makefile rules
#
# Copyright (C) 2006, Digium, Inc.
#
# Kevin P. Fleming <kpfleming@digium.com>
#
# This program is free software, distributed under the terms of
# the GNU General Public License
#
# Each command is preceded by a short comment on what to do.
# Prefixing one or the other with @\# or @ or nothing makes the desired
# behaviour. ECHO_PREFIX prefixes the comment, CMD_PREFIX prefixes the command.
ifeq ($(V),)
ECHO_PREFIX=@
CMD_PREFIX=@
else
ECHO_PREFIX=@\#
CMD_PREFIX=
endif
define ast_make_o_c
$(1): $(2)
$(ECHO_PREFIX) echo " [CC] $$< -> $$@"
$(CMD_PREFIX) $$(CC) -o $$@ -c $$< $$(CFLAGS)
endef
define ast_make_o_cxx
$(1): $(2)
$(ECHO_PREFIX) echo " [CXX] $$< -> $$@"
$(CMD_PREFIX) $$(CXX) -o $$@ -c $$< $$(CXXFLAGS)
endef
define ast_make_a_o
$(1): $(2)
$(ECHO_PREFIX) echo " [AR] $$^ -> $$@"
$(CMD_PREFIX) $$(AR) cr $$@ $$^
$(CMD_PREFIX) $$(RANLIB) $$@
endef
define ast_make_final
$(1): $(2)
$(ECHO_PREFIX) echo " [LD] $$^ -> $$@"
$(CMD_PREFIX) $$(CXX) -o $$@ $$(LDFLAGS) $$^ $$(LIBS)
endef
define ast_make_final_host
$(1): $(2)
$(ECHO_PREFIX) echo " [LD] $$^ -> $$@"
$(CMD_PREFIX) $$(HOST_CC) $$(STATIC_BUILD) -o $$@ $$(CFLAGS) $$(LDFLAGS) $$^ $$(LIBS)
endef
$(eval $(call ast_make_o_c,%.o,%.c))
$(eval $(call ast_make_oo_cc,%.oo,%.cc))
$(eval $(call ast_make_so_o,%.so,%.o))
$(eval $(call ast_make_final,%,%.o))