asterisk/Makefile.rules

134 lines
2.2 KiB
Makefile
Raw Normal View History

#
# 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
#
ifeq ($(NOISY_BUILD),)
define ast_make_o_c
$(1): $(2)
@echo " [CC] $$< -> $$@"
@$$(CC) -o $$@ -c $$< $$(CFLAGS)
endef
define ast_make_oo_cc
$(1): $(2)
@echo " [CXX] $$< -> $$@"
@$$(CXX) -o $$@ -c $$< $$(CFLAGS)
endef
define ast_make_c_y
$(1): $(2)
@echo " [BISON] $$< -> $$@"
@bison -o $$@ -d --name-prefix=ast_yy $$<
endef
define ast_make_c_fl
$(1): $(2)
@echo " [FLEX] $$< -> $$@"
@flex -o $$@ --full $$<
endef
define ast_make_so_o
$(1): $(2)
@echo " [LD] $$^ -> $$@"
@$$(CC) -o $$@ $$(LDFLAGS) $$(SOLINK) $$^ $$(LIBS)
endef
define ast_make_so_oo
$(1): $(2)
@echo " [LDXX] $$^ -> $$@"
@$$(CXX) -o $$@ $$(LDFLAGS) $$(SOLINK) $$^ $$(LIBS)
endef
define ast_make_a_o
$(1): $(2)
@echo " [AR] $$^ -> $$@"
@$$(AR) cr $$@ $$^
@$$(RANLIB) $$@
endef
define ast_make_final
$(1): $(2)
@echo " [LD] $$^ -> $$@"
@$$(CC) -o $$@ $$(LDFLAGS) $$^ $$(LIBS)
endef
define ast_make_final_host
$(1): $(2)
@echo " [LD] $$^ -> $$@"
@$$(HOST_CC) -o $$@ $$(CFLAGS) $$(LDFLAGS) $$^ $$(LIBS)
endef
else # noisy build
define ast_make_o_c
$(1): $(2)
$$(CC) -o $$@ -c $$< $$(CFLAGS)
endef
define ast_make_oo_cc
$(1): $(2)
$$(CXX) -o $$@ -c $$< $$(CFLAGS)
endef
define ast_make_c_y
$(1): $(2)
bison -o $$@ -d --name-prefix=ast_yy $$<
endef
define ast_make_c_fl
$(1): $(2)
flex -o $$@ --full $$<
endef
define ast_make_so_o
$(1): $(2)
$$(CC) -o $$@ $$(LDFLAGS) $$(SOLINK) $$^ $$(LIBS)
endef
define ast_make_so_oo
$(1): $(2)
$$(CXX) -o $$@ $$(LDFLAGS) $$(SOLINK) $$^ $$(LIBS)
endef
define ast_make_a_o
$(1): $(2)
$$(AR) cr $$@ $$^
$$(RANLIB) $$@
endef
define ast_make_final
$(1): $(2)
$$(CC) -o $$@ $$(LDFLAGS) $$^ $$(LIBS)
endef
define ast_make_final_host
$(1): $(2)
$$(HOST_CC) -o $$@ $$(CFLAGS) $$(LDFLAGS) $$^ $$(LIBS)
endef
endif
$(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_so_oo,%.so,%.oo))
$(eval $(call ast_make_final,%,%.o))
$(eval $(call ast_make_c_y,%.c,%.y))
$(eval $(call ast_make_c_fl,%.c,%.fl))