2006-07-06 23:20:14 +00:00
|
|
|
#
|
|
|
|
# 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
|
|
|
|
#
|
|
|
|
|
2007-11-05 16:41:39 +00:00
|
|
|
# Rules for various build phases.
|
2006-07-16 22:24:39 +00:00
|
|
|
# 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.
|
2006-07-06 23:20:14 +00:00
|
|
|
|
2006-09-09 03:27:21 +00:00
|
|
|
-include $(ASTTOPDIR)/makeopts
|
2006-08-21 02:11:39 +00:00
|
|
|
|
2007-10-01 21:54:41 +00:00
|
|
|
.PHONY: dist-clean
|
|
|
|
|
2007-11-05 16:41:39 +00:00
|
|
|
# extra cflags to build dependencies. Recursively expanded.
|
2008-04-30 12:15:43 +00:00
|
|
|
MAKE_DEPS= -MD -MT $@ -MF .$(subst /,_,$@).d -MP
|
2007-11-05 16:41:39 +00:00
|
|
|
|
2006-07-16 22:24:39 +00:00
|
|
|
ifeq ($(NOISY_BUILD),)
|
2007-11-05 16:41:39 +00:00
|
|
|
ECHO_PREFIX=@
|
|
|
|
CMD_PREFIX=@
|
2006-07-16 22:24:39 +00:00
|
|
|
else
|
2007-11-05 16:41:39 +00:00
|
|
|
ECHO_PREFIX=@\#
|
|
|
|
CMD_PREFIX=
|
2006-07-16 22:24:39 +00:00
|
|
|
endif
|
2006-07-06 23:20:14 +00:00
|
|
|
|
2006-08-21 02:11:39 +00:00
|
|
|
ifeq ($(findstring DONT_OPTIMIZE,$(MENUSELECT_CFLAGS)),)
|
2007-11-05 16:41:39 +00:00
|
|
|
# More GSM codec optimization
|
|
|
|
# Uncomment to enable MMXTM optimizations for x86 architecture CPU's
|
|
|
|
# which support MMX instructions. This should be newer pentiums,
|
|
|
|
# ppro's, etc, as well as the AMD K6 and K7.
|
|
|
|
#K6OPT=-DK6OPT
|
2006-08-21 02:11:39 +00:00
|
|
|
|
2007-11-16 20:15:21 +00:00
|
|
|
OPTIMIZE?=-O6
|
2007-11-05 16:41:39 +00:00
|
|
|
ASTCFLAGS+=$(OPTIMIZE)
|
2006-08-21 02:11:39 +00:00
|
|
|
endif
|
|
|
|
|
2007-11-05 16:41:39 +00:00
|
|
|
# build rules for various targets
|
2006-09-29 22:48:43 +00:00
|
|
|
%.o: %.c
|
|
|
|
$(ECHO_PREFIX) echo " [CC] $< -> $@"
|
2007-11-05 17:00:07 +00:00
|
|
|
$(CMD_PREFIX) $(CC) -o $@ -c $< $(PTHREAD_CFLAGS) $(ASTCFLAGS) $(MAKE_DEPS)
|
2006-07-06 23:20:14 +00:00
|
|
|
|
2007-02-22 02:36:00 +00:00
|
|
|
%.o: %.i
|
2007-11-05 16:41:39 +00:00
|
|
|
$(ECHO_PREFIX) echo " [CCi] $< -> $@"
|
2007-11-05 17:00:07 +00:00
|
|
|
$(CMD_PREFIX) $(CC) -o $@ -c $< $(PTHREAD_CFLAGS) $(ASTCFLAGS) $(MAKE_DEPS)
|
2007-02-22 02:36:00 +00:00
|
|
|
|
|
|
|
%.i: %.c
|
2007-11-05 16:41:39 +00:00
|
|
|
$(ECHO_PREFIX) echo " [CPP] $< -> $@"
|
2007-11-05 17:00:07 +00:00
|
|
|
$(CMD_PREFIX) $(CC) -o $@ -E $< $(PTHREAD_CFLAGS) $(ASTCFLAGS) $(MAKE_DEPS)
|
2007-02-22 02:36:00 +00:00
|
|
|
|
2007-01-03 03:28:12 +00:00
|
|
|
%.o: %.s
|
|
|
|
$(ECHO_PREFIX) echo " [AS] $< -> $@"
|
2007-11-05 17:00:07 +00:00
|
|
|
$(CMD_PREFIX) $(CC) -o $@ -c $< $(PTHREAD_CFLAGS) $(ASTCFLAGS) $(MAKE_DEPS)
|
2007-01-03 03:28:12 +00:00
|
|
|
|
2006-09-29 22:48:43 +00:00
|
|
|
%.oo: %.cc
|
|
|
|
$(ECHO_PREFIX) echo " [CXX] $< -> $@"
|
2008-03-11 20:50:57 +00:00
|
|
|
$(CMD_PREFIX) $(CXX) -o $@ -c $< $(PTHREAD_CFLAGS) $(filter-out -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations $(AST_DECLARATION_AFTER_STATEMENT),$(ASTCFLAGS)) $(MAKE_DEPS)
|
2006-07-06 23:20:14 +00:00
|
|
|
|
2006-09-29 22:48:43 +00:00
|
|
|
%.c: %.y
|
|
|
|
$(ECHO_PREFIX) echo " [BISON] $< -> $@"
|
|
|
|
$(CMD_PREFIX) bison -o $@ -d --name-prefix=ast_yy $<
|
2006-07-06 23:20:14 +00:00
|
|
|
|
2006-09-29 22:48:43 +00:00
|
|
|
%.c: %.fl
|
|
|
|
$(ECHO_PREFIX) echo " [FLEX] $< -> $@"
|
|
|
|
$(CMD_PREFIX) flex -o $@ --full $<
|
2006-07-06 23:20:14 +00:00
|
|
|
|
2006-09-29 22:48:43 +00:00
|
|
|
%.so: %.o
|
|
|
|
$(ECHO_PREFIX) echo " [LD] $^ -> $@"
|
2007-01-15 15:08:45 +00:00
|
|
|
$(CMD_PREFIX) $(CC) $(STATIC_BUILD) -o $@ $(PTHREAD_CFLAGS) $(ASTLDFLAGS) $(SOLINK) $^ $(PTHREAD_LIBS) $(LIBS)
|
2006-07-06 23:20:14 +00:00
|
|
|
|
2007-01-03 03:28:12 +00:00
|
|
|
%.so: %.oo
|
2006-09-29 22:48:43 +00:00
|
|
|
$(ECHO_PREFIX) echo " [LDXX] $^ -> $@"
|
2007-01-15 15:08:45 +00:00
|
|
|
$(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(PTHREAD_CFLAGS) $(ASTLDFLAGS) $(SOLINK) $^ $(PTHREAD_LIBS) $(LIBS)
|
2006-07-06 23:20:14 +00:00
|
|
|
|
2007-02-22 02:36:00 +00:00
|
|
|
%.eo: %.o
|
|
|
|
$(ECHO_PREFIX) echo " [EMBED] $< -> $@"
|
|
|
|
$(CMD_PREFIX) $(ASTTOPDIR)/build_tools/make_linker_eo_script $* > .$@.ld
|
|
|
|
$(CMD_PREFIX) $(LD) -r -T .$@.ld -o $@ $<
|
|
|
|
$(CMD_PREFIX) rm -f .$@.ld
|
|
|
|
|
2007-11-17 17:27:26 +00:00
|
|
|
%.eo: %.oo
|
2007-02-22 02:36:00 +00:00
|
|
|
$(ECHO_PREFIX) echo " [EMBED] $< -> $@"
|
|
|
|
$(CMD_PREFIX) $(ASTTOPDIR)/build_tools/make_linker_eo_script $* > .$@.ld
|
|
|
|
$(CMD_PREFIX) $(LD) -r -T .$@.ld -o $@ $<
|
|
|
|
$(CMD_PREFIX) rm -f .$@.ld
|
|
|
|
|
2006-09-29 22:48:43 +00:00
|
|
|
%: %.o
|
|
|
|
$(ECHO_PREFIX) echo " [LD] $^ -> $@"
|
2007-01-15 15:08:45 +00:00
|
|
|
$(CMD_PREFIX) $(CXX) $(STATIC_BUILD) -o $@ $(PTHREAD_CFLAGS) $(ASTLDFLAGS) $^ $(PTHREAD_LIBS) $(LIBS)
|
2007-10-01 21:54:41 +00:00
|
|
|
|
|
|
|
dist-clean::
|