59ced05eacad406001e9722bae90a7badb5aceac
[asterisk/asterisk.git] / Makefile.rules
1 #
2 # Asterisk -- A telephony toolkit for Linux.
3
4 # Makefile rules
5 #
6 # Copyright (C) 2006, Digium, Inc.
7 #
8 # Kevin P. Fleming <kpfleming@digium.com>
9 #
10 # This program is free software, distributed under the terms of
11 # the GNU General Public License
12 #
13
14 # Each command is preceded by a short comment on what to do.
15 # Prefixing one or the other with @\# or @ or nothing makes the desired
16 # behaviour. ECHO_PREFIX prefixes the comment, CMD_PREFIX prefixes the command.
17
18 -include $(ASTTOPDIR)/makeopts
19
20 ifeq ($(NOISY_BUILD),)
21    ECHO_PREFIX=@
22    CMD_PREFIX=@
23 else
24    ECHO_PREFIX=@\# 
25    CMD_PREFIX=
26 endif
27
28 ifeq ($(findstring DONT_OPTIMIZE,$(MENUSELECT_CFLAGS)),)
29 # More GSM codec optimization
30 # Uncomment to enable MMXTM optimizations for x86 architecture CPU's
31 # which support MMX instructions.  This should be newer pentiums,
32 # ppro's, etc, as well as the AMD K6 and K7.  
33 #K6OPT=-DK6OPT
34
35 OPTIMIZE?=-O6
36 ASTCFLAGS+=$(OPTIMIZE)
37 endif
38
39 %.o: %.c
40         $(ECHO_PREFIX) echo "   [CC] $< -> $@"
41         $(CMD_PREFIX) $(CC) -o $@ -c $< $(ASTCFLAGS)
42
43 %.oo: %.cc
44         $(ECHO_PREFIX) echo "   [CXX] $< -> $@"
45         $(CMD_PREFIX) $(CXX) -o $@ -c $< $(ASTCFLAGS)
46
47 %.c: %.y
48         $(ECHO_PREFIX) echo "   [BISON] $< -> $@"
49         $(CMD_PREFIX) bison -o $@ -d --name-prefix=ast_yy $<
50
51 %.c: %.fl
52         $(ECHO_PREFIX) echo "   [FLEX] $< -> $@"
53         $(CMD_PREFIX) flex -o $@ --full $<
54
55 %.so: %.o
56         $(ECHO_PREFIX) echo "   [LD] $^ -> $@"
57         $(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(ASTLDFLAGS) $(SOLINK) $^ $(LIBS)
58
59 %.soo: %.oo
60         $(ECHO_PREFIX) echo "   [LDXX] $^ -> $@"
61         $(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(ASTLDFLAGS) $(SOLINK) $^ $(LIBS)
62
63 %: %.o
64         $(ECHO_PREFIX) echo "   [LD] $^ -> $@"
65         $(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(ASTLDFLAGS) $^ $(LIBS)